/home/ivoiecob/email.hirewise-va.com/modules/OpenPgpFilesWebclient/js/manager.js
'use strict';
require('modules/%ModuleName%/js/Enums.js');
function IsPgpSupported()
{
return !!(window.crypto && window.crypto.getRandomValues);
}
module.exports = oAppData => {
if (!IsPgpSupported())
{
return null;
}
let
App = require('%PathToCoreWebclientModule%/js/App.js'),
Settings = require('modules/%ModuleName%/js/Settings.js'),
Popups = require('%PathToCoreWebclientModule%/js/Popups.js'),
CFileModel = require('modules/FilesWebclient/js/models/CFileModel.js'),
oButtonsView = null
;
Settings.init(oAppData);
function getButtonView()
{
if (!oButtonsView)
{
oButtonsView = require('modules/%ModuleName%/js/views/ButtonsView.js');
}
return oButtonsView;
}
if (App.isMobile() && App.isPublic())
{
require('/node_modules/framework7/dist/css/framework7.material.css');
}
if (App.isPublic())
{
return {
getScreens: () => {
let oScreens = {};
oScreens[Settings.HashModuleName] = () => {
let CFileView = require('modules/%ModuleName%/js/views/CFileView.js');
return new CFileView();
};
if (Settings.EnableSelfDestructingMessages)
{
oScreens[Settings.SelfDestructMessageHash] = () => {
let CSelfDestructingEncryptedMessageView = require('modules/%ModuleName%/js/views/CSelfDestructingEncryptedMessageView.js');
return new CSelfDestructingEncryptedMessageView();
};
}
return oScreens;
}
};
}
else if (App.isUserNormalOrTenant())
{
return {
start: ModulesManager => {
let SharePopup = require('modules/%ModuleName%/js/popups/SharePopup.js');
ModulesManager.run('FilesWebclient', 'registerToolbarButtons', [getButtonView()]);
if (Settings.EnableSelfDestructingMessages)
{
ModulesManager.run('MailWebclient', 'registerComposeToolbarController', [require('modules/%ModuleName%/js/views/ComposeButtonsView.js')]);
}
App.subscribeEvent('FilesWebclient::ConstructView::after', function (oParams) {
const fParentHandler = oParams.View.onShareIconClick;
oParams.View.onShareIconClick = oItem => {
// Conditions for button activity:
// Personal: one file or one folder
// Corporate: one file or one folder
// Encrypted: one file only
// Shared: nothing
if (oItem
&& (oParams.View.storageType() === Enums.FileStorageType.Personal
|| oParams.View.storageType() === Enums.FileStorageType.Corporate
|| oParams.View.storageType() === Enums.FileStorageType.Encrypted && oItem.IS_FILE)
)
{
Popups.showPopup(SharePopup, [oItem]);
}
else
{
fParentHandler(oItem);
}
};
});
}
};
}
return null;
};