Cleanup __APP__/getApp code

This commit is contained in:
djmaze 2020-09-15 09:29:25 +02:00
parent 29cf711a6a
commit b904eca98e
34 changed files with 86 additions and 146 deletions

View file

@ -18,7 +18,7 @@ export const useKeyboardShortcuts = ko.observable(true);
* @type {boolean}
*/
export const bMobileDevice = (/android|iphone|ipod|ipad|blackberry|mobile/i).test(
(window.navigator && navigator.userAgent && navigator.userAgent.toLowerCase()) || ''
(navigator.userAgent && navigator.userAgent.toLowerCase()) || ''
);
export const VIEW_MODELS = {
@ -59,14 +59,14 @@ export const keyScope = ko.computed({
// restoreKeyFilter
key.filter = (event) => {
if (useKeyboardShortcuts()) {
const el = event.target || event.srcElement,
tagName = el ? el.tagName.toUpperCase() : '';
const el = event.target,
nodeName = el ? el.nodeName : '';
return !(
'INPUT' === tagName ||
'SELECT' === tagName ||
'TEXTAREA' === tagName ||
(el && 'DIV' === tagName && ('editorHtmlArea' === el.className || 'true' === '' + el.contentEditable))
'INPUT' === nodeName ||
'SELECT' === nodeName ||
'TEXTAREA' === nodeName ||
(el && el.contentEditable)
);
}
@ -96,10 +96,3 @@ dropdownVisibility.subscribe((value) => {
keyScope(keyScopeFake());
}
});
/**
* @type {*}
*/
export const data = {
__APP__: null
};

View file

@ -55,6 +55,6 @@ export function timeToNode(element, time) {
}
addEventListener('reload-time', () => setTimeout(() =>
document.querySelectorAll('[data-bind*="moment:"]').forEach(element => timeToNode(element))
document.querySelectorAll('[data-bind*="moment:"]').forEach(element => timeToNode(element))
, 1)
);

View file

@ -1,5 +1,3 @@
import { data as GlobalsData } from 'Common/Globals';
const USER_VIEW_MODELS_HOOKS = [],
ADMIN_VIEW_MODELS_HOOKS = [];
@ -18,8 +16,8 @@ export function mainSettingsGet(name) {
* @param {?number=} timeout
*/
export function remoteRequest(callback, action, parameters, timeout) {
if (GlobalsData.__APP__) {
GlobalsData.__APP__.remote().defaultRequest(callback, 'Plugin' + action, parameters, timeout);
if (rl.app) {
rl.app.remote().defaultRequest(callback, 'Plugin' + action, parameters, timeout);
}
}

4
dev/External/ko.js vendored
View file

@ -423,7 +423,7 @@ ko.bindingHandlers.command = {
}
element.classList.add('command');
ko.bindingHandlers[element.tagName.match(/FORM/i) ? 'submit' : 'click'].init(
ko.bindingHandlers['FORM'==element.nodeName ? 'submit' : 'click'].init(
element,
fValueAccessor,
fAllBindingsAccessor,
@ -447,7 +447,7 @@ ko.bindingHandlers.command = {
['command-disabled','disable','disabled'].forEach(s=>cl.toggle(s, !result));
cl.toggle('no-disabled', !!result);
if (element.tagName.match(/INPUT|TEXTAREA|BUTTON/i)) {
if (element.nodeName.match(/INPUT|TEXTAREA|BUTTON/)) {
element.disabled = !result;
}
}

View file

@ -1,6 +0,0 @@
/**
* @returns {AppAdmin}
*/
export function getApp() {
return require('App/Admin').default;
}

View file

@ -1,6 +0,0 @@
/**
* @returns {AppUser}
*/
export function getApp() {
return require('App/User').default;
}

View file

@ -22,8 +22,6 @@ import { subQueryPrefix } from 'Common/Links';
import AppStore from 'Stores/User/App';
import SettingsStore from 'Stores/User/Settings';
import { getApp } from 'Helper/Apps/User';
import { AbstractFetchRemote } from 'Remote/AbstractFetch';
//const toUTF8 = window.TextEncoder
@ -469,7 +467,7 @@ class RemoteUserFetch extends AbstractFetchRemote {
UidNext: getFolderInboxName() === folder ? getFolderUidNext(folder) : ''
});
} else if (SettingsStore.useThreads()) {
getApp().reloadFlagsCurrentMessageListAndMessageFromCache();
rl.app.reloadFlagsCurrentMessageListAndMessageFromCache();
}
}

View file

@ -15,8 +15,6 @@ import { FolderListMailBoxUserView } from 'View/User/MailBox/FolderList';
import { MessageListMailBoxUserView } from 'View/User/MailBox/MessageList';
import { MessageViewMailBoxUserView } from 'View/User/MailBox/MessageView';
import { getApp } from 'Helper/Apps/User';
import { warmUpScreenPopup } from 'Knoin/Knoin';
import { AbstractScreen } from 'Knoin/AbstractScreen';
@ -93,7 +91,7 @@ class MailBoxUserScreen extends AbstractScreen {
MessageStore.messageListSearch(search);
MessageStore.messageListThreadUid(threadUid);
getApp().reloadMessageList();
rl.app.reloadMessageList();
}
}
@ -124,7 +122,7 @@ class MailBoxUserScreen extends AbstractScreen {
onBuild() {
if (!bMobileDevice && !Settings.app('mobile')) {
setTimeout(() =>
getApp().initHorizontalLayoutResizer(ClientSideKeyName.MessageListSize)
rl.app.initHorizontalLayoutResizer(ClientSideKeyName.MessageListSize)
, 1);
}

View file

@ -6,8 +6,6 @@ import { showScreenPopup } from 'Knoin/Knoin';
import DomainStore from 'Stores/Admin/Domain';
import Remote from 'Remote/Admin/Fetch';
import { getApp } from 'Helper/Apps/Admin';
class DomainsAdminSettings {
constructor() {
this.domains = DomainStore.domains;
@ -44,7 +42,7 @@ class DomainsAdminSettings {
el && ko.dataFor(el) && Remote.domain(this.onDomainLoadRequest, ko.dataFor(el).name);
});
getApp().reloadDomainList();
rl.app.reloadDomainList();
}
onDomainLoadRequest(sResult, oData) {
@ -54,7 +52,7 @@ class DomainsAdminSettings {
}
onDomainListChangeRequest() {
getApp().reloadDomainList();
rl.app.reloadDomainList();
}
}

View file

@ -6,8 +6,6 @@ import { getNotification } from 'Common/Translator';
import PackageStore from 'Stores/Admin/Package';
import Remote from 'Remote/Admin/Fetch';
import { getApp } from 'Helper/Apps/Admin';
class PackagesAdminSettings {
constructor() {
this.packagesError = ko.observable('');
@ -34,7 +32,7 @@ class PackagesAdminSettings {
}
onBuild() {
getApp().reloadPackagesList();
rl.app.reloadPackagesList();
}
requestHelper(packageToRequest, install) {
@ -59,7 +57,7 @@ class PackagesAdminSettings {
if (StorageResultType.Success === result && data && data.Result && data.Result.Reload) {
location.reload();
} else {
getApp().reloadPackagesList();
rl.app.reloadPackagesList();
}
};
}

View file

@ -9,8 +9,6 @@ import PluginStore from 'Stores/Admin/Plugin';
import Remote from 'Remote/Admin/Fetch';
import { getApp } from 'Helper/Apps/Admin';
class PluginsAdminSettings {
constructor() {
this.enabledPlugins = ko.observable(!!rl.settings.get('EnabledPlugins'));
@ -51,7 +49,7 @@ class PluginsAdminSettings {
onShow() {
PluginStore.plugins.error('');
getApp().reloadPluginList();
rl.app.reloadPluginList();
}
onPluginLoadRequest(result, data) {
@ -71,7 +69,7 @@ class PluginsAdminSettings {
}
}
getApp().reloadPluginList();
rl.app.reloadPluginList();
}
}

View file

@ -7,8 +7,6 @@ import AccountStore from 'Stores/User/Account';
import IdentityStore from 'Stores/User/Identity';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { showScreenPopup, routeOff, setHash } from 'Knoin/Knoin';
class AccountsUserSettings {
@ -67,7 +65,7 @@ class AccountsUserSettings {
setTimeout(() => location.reload(), 1);
} else {
getApp().accountsAndIdentities();
rl.app.accountsAndIdentities();
}
}, accountToRemove.email);
}
@ -86,7 +84,7 @@ class AccountsUserSettings {
IdentityStore.identities.remove((oIdentity) => identityToRemove === oIdentity);
Remote.identityDelete(() => {
getApp().accountsAndIdentities();
rl.app.accountsAndIdentities();
}, identityToRemove.id);
}
}

View file

@ -11,8 +11,6 @@ import FolderStore from 'Stores/User/Folder';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { showScreenPopup } from 'Knoin/Knoin';
class FoldersUserSettings {
@ -44,7 +42,7 @@ class FoldersUserSettings {
if (nameToEdit && folder.name() !== nameToEdit) {
Local.set(ClientSideKeyName.FoldersLashHash, '');
getApp().foldersPromisesActionHelper(
rl.app.foldersPromisesActionHelper(
Remote.folderRename(folder.fullNameRaw, nameToEdit, FolderStore.foldersRenaming),
Notification.CantRenameFolder
);
@ -107,7 +105,7 @@ class FoldersUserSettings {
FolderStore.folderList.remove(fRemoveFolder);
getApp().foldersPromisesActionHelper(
rl.app.foldersPromisesActionHelper(
Remote.folderDelete(folderToRemove.fullNameRaw, FolderStore.foldersDeleting),
Notification.CantDeleteFolder
);

View file

@ -7,8 +7,6 @@ import SettingsStore from 'Stores/User/Settings';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { showScreenPopup } from 'Knoin/Knoin';
class OpenPgpUserSettings {
@ -55,7 +53,7 @@ class OpenPgpUserSettings {
PgpStore.openpgpKeyring.store();
}
getApp().reloadOpenPgpKeys();
rl.app.reloadOpenPgpKeys();
}
}
}

View file

@ -5,8 +5,6 @@ import { i18n } from 'Common/Translator';
import TemplateStore from 'Stores/User/Template';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { showScreenPopup } from 'Knoin/Knoin';
class TemplatesUserSettings {
@ -54,7 +52,7 @@ class TemplatesUserSettings {
}
reloadTemplates() {
getApp().templates();
rl.app.templates();
}
onBuild(oDom) {

View file

@ -1,6 +1,6 @@
import { CLIENT_SIDE_STORAGE_INDEX_NAME } from 'Common/Consts';
const storage = window.localStorage;
const storage = localStorage;
/**
* @param {number} key

View file

@ -39,8 +39,6 @@ import PgpStore from 'Stores/User/Pgp';
import SettingsStore from 'Stores/User/Settings';
import NotificationStore from 'Stores/User/Notification';
import { getApp } from 'Helper/Apps/User';
import Remote from 'Remote/User/Fetch';
const
@ -578,7 +576,7 @@ class MessageUserStore {
initMessageFlagsFromCache(message);
if (message.unseen() || message.hasUnseenSubMessage()) {
getApp().messageListAction(message.folderFullNameRaw, MessageSetAction.SetSeen, [message]);
rl.app.messageListAction(message.folderFullNameRaw, MessageSetAction.SetSeen, [message]);
}
if (isNew) {
@ -754,7 +752,7 @@ class MessageUserStore {
clearNewMessageCache();
if (folder && (cached || unreadCountChange || SettingsStore.useThreads())) {
getApp().folderInformation(folder.fullNameRaw, list);
rl.app.folderInformation(folder.fullNameRaw, list);
}
} else {
this.messageListCount(0);

View file

@ -5,8 +5,6 @@ import { getNotification } from 'Common/Translator';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -57,7 +55,7 @@ class AccountPopupView extends AbstractViewNext {
this.submitRequest(false);
if (StorageResultType.Success === result && data) {
if (data.Result) {
getApp().accountsAndIdentities();
rl.app.accountsAndIdentities();
this.cancelCommand();
} else {
this.submitError(

View file

@ -2,8 +2,6 @@ import ko from 'ko';
import PgpStore from 'Stores/User/Pgp';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -75,7 +73,7 @@ class AddOpenPgpKeyPopupView extends AbstractViewNext {
openpgpKeyring.store();
getApp().reloadOpenPgpKeys();
rl.app.reloadOpenPgpKeys();
if (this.key.error()) {
return false;

View file

@ -40,8 +40,6 @@ import Remote from 'Remote/User/Fetch';
import { ComposeAttachmentModel } from 'Model/ComposeAttachment';
import { getApp } from 'Helper/Apps/User';
import { popup, command, isPopupVisible, showScreenPopup, hideScreenPopup, routeOn, routeOff } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -370,7 +368,7 @@ class ComposePopupView extends AbstractViewNext {
}
setMessageFlagsToCache(this.aDraftInfo[2], this.aDraftInfo[1], flagsCache);
getApp().reloadFlagsCurrentMessageListAndMessageFromCache();
rl.app.reloadFlagsCurrentMessageListAndMessageFromCache();
setFolderHash(this.aDraftInfo[2], '');
}
}
@ -421,7 +419,7 @@ class ComposePopupView extends AbstractViewNext {
i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'),
() => {
if (this.modalVisibility()) {
getApp().deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]);
rl.app.deleteMessagesFromFolderWithoutCheck(this.draftFolder(), [this.draftUid()]);
hideScreenPopup(ComposePopupView);
}
}
@ -482,7 +480,7 @@ class ComposePopupView extends AbstractViewNext {
}
emailsSource(oData, fResponse) {
getApp().getAutocomplete(oData.term, aData => fResponse(aData.map(oEmailItem => oEmailItem.toLine(false))));
rl.app.getAutocomplete(oData.term, aData => fResponse(aData.map(oEmailItem => oEmailItem.toLine(false))));
}
openOpenPgpPopup() {
@ -507,9 +505,9 @@ class ComposePopupView extends AbstractViewNext {
if (draftFolder && UNUSED_OPTION_VALUE !== draftFolder) {
setFolderHash(draftFolder, '');
if (FolderStore.currentFolderFullNameRaw() === draftFolder) {
getApp().reloadMessageList(true);
rl.app.reloadMessageList(true);
} else {
getApp().folderInformation(draftFolder);
rl.app.folderInformation(draftFolder);
}
}
}

View file

@ -33,8 +33,6 @@ import { EmailModel } from 'Model/Email';
import { ContactModel } from 'Model/Contact';
import { ContactPropertyModel } from 'Model/ContactProperty';
import { getApp } from 'Helper/Apps/User';
import { popup, command, showScreenPopup, hideScreenPopup, routeOn, routeOff } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -336,7 +334,7 @@ class ContactsPopupView extends AbstractViewNext {
@command((self) => !self.contacts.syncing() && !self.contacts.importing())
syncCommand() {
getApp().contactsSync((result, data) => {
rl.app.contactsSync((result, data) => {
if (StorageResultType.Success !== result || !data || !data.Result) {
alert(getNotification(data && data.ErrorCode ? data.ErrorCode : Notification.ContactsSyncError));
}
@ -403,11 +401,11 @@ class ContactsPopupView extends AbstractViewNext {
}
exportVcf() {
getApp().download(exportContactsVcf());
rl.app.download(exportContactsVcf());
}
exportCsv() {
getApp().download(exportContactsCsv());
rl.app.download(exportContactsCsv());
}
initUploader() {

View file

@ -9,8 +9,6 @@ import CapaAdminStore from 'Stores/Admin/Capa';
import Remote from 'Remote/Admin/Fetch';
import { getApp } from 'Helper/Apps/Admin';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -317,7 +315,7 @@ class DomainPopupView extends AbstractViewNext {
this.saving(false);
if (StorageResultType.Success === sResult && oData) {
if (oData.Result) {
getApp().reloadDomainList();
rl.app.reloadDomainList();
this.closeCommand();
} else if (Notification.DomainAlreadyExists === oData.ErrorCode) {
this.savingError(i18n('ERRORS/DOMAIN_ALREADY_EXISTS'));

View file

@ -7,8 +7,6 @@ import DomainStore from 'Stores/Admin/Domain';
import Remote from 'Remote/Admin/Fetch';
import { getApp } from 'Helper/Apps/Admin';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -48,7 +46,7 @@ class DomainAliasPopupView extends AbstractViewNext {
this.saving(false);
if (StorageResultType.Success === result && data) {
if (data.Result) {
getApp().reloadDomainList();
rl.app.reloadDomainList();
this.closeCommand();
} else if (Notification.DomainAlreadyExists === data.ErrorCode) {
this.savingError(i18n('ERRORS/DOMAIN_ALREADY_EXISTS'));

View file

@ -8,8 +8,6 @@ import MessageStore from 'Stores/User/Message';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -62,7 +60,7 @@ class FolderClearPopupView extends AbstractViewNext {
Remote.folderClear((result, data) => {
this.clearingProcess(false);
if (StorageResultType.Success === result && data && data.Result) {
getApp().reloadMessageList(true);
rl.app.reloadMessageList(true);
this.cancelCommand();
} else {
if (data && data.ErrorCode) {

View file

@ -9,8 +9,6 @@ import FolderStore from 'Stores/User/Folder';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -53,7 +51,7 @@ class FolderCreateView extends AbstractViewNext {
parentFolderName = FolderStore.namespace.substr(0, FolderStore.namespace.length - 1);
}
getApp().foldersPromisesActionHelper(
rl.app.foldersPromisesActionHelper(
Remote.folderCreate(this.folderName(), parentFolderName, FolderStore.foldersCreating),
Notification.CantCreateFolder
);

View file

@ -7,8 +7,6 @@ import { getNotification } from 'Common/Translator';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -89,7 +87,7 @@ class IdentityPopupView extends AbstractViewNext {
this.submitRequest(false);
if (StorageResultType.Success === result && data) {
if (data.Result) {
getApp().accountsAndIdentities();
rl.app.accountsAndIdentities();
this.cancelCommand();
} else if (data.ErrorCode) {
this.submitError(getNotification(data.ErrorCode));

View file

@ -4,8 +4,6 @@ import { pInt } from 'Common/Utils';
import PgpStore from 'Stores/User/Pgp';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -68,7 +66,7 @@ class NewOpenPgpKeyPopupView extends AbstractViewNext {
openpgpKeyring.store();
getApp().reloadOpenPgpKeys();
rl.app.reloadOpenPgpKeys();
this.cancelCommand && this.cancelCommand();
}
})

View file

@ -6,8 +6,6 @@ import { HtmlEditor } from 'Common/HtmlEditor';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { popup, command } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -62,7 +60,7 @@ class TemplatePopupView extends AbstractViewNext {
this.submitRequest(false);
if (StorageResultType.Success === result && data) {
if (data.Result) {
getApp().templates();
rl.app.templates();
this.cancelCommand();
} else if (data.ErrorCode) {
this.submitError(getNotification(data.ErrorCode));

View file

@ -6,8 +6,6 @@ import { i18n, trigger as translatorTrigger } from 'Common/Translator';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { popup, showScreenPopup } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -104,7 +102,7 @@ class TwoFactorConfigurationPopupView extends AbstractViewNext {
}
logout() {
getApp().logout();
rl.app.logout();
}
testTwoFactor() {

View file

@ -7,9 +7,6 @@ import MessageStore from 'Stores/User/Message';
import { Capa, KeyState } from 'Common/Enums';
import { settings } from 'Common/Links';
import { getApp } from 'Helper/Apps/User';
import { showScreenPopup, setHash } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -80,7 +77,7 @@ class AbstractSystemDropDownUserView extends AbstractViewNext {
}
logoutClick() {
getApp().logout();
rl.app.logout();
}
onBuild() {

View file

@ -10,8 +10,6 @@ import SettingsStore from 'Stores/User/Settings';
import FolderStore from 'Stores/User/Folder';
import MessageStore from 'Stores/User/Message';
import { getApp } from 'Helper/Apps/User';
import { view, ViewType, showScreenPopup, setHash } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -77,7 +75,7 @@ class FolderListMailBoxUserView extends AbstractViewNext {
if (folder) {
if (isMove) {
moveAction(false);
getApp().moveMessagesToFolder(
rl.app.moveMessagesToFolder(
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
folder.fullNameRaw,
@ -111,7 +109,7 @@ class FolderListMailBoxUserView extends AbstractViewNext {
const folder = ko.dataFor(el);
if (folder) {
const collapsed = folder.collapsed();
getApp().setExpandedFolder(folder.fullNameHash, collapsed);
rl.app.setExpandedFolder(folder.fullNameHash, collapsed);
folder.collapsed(!collapsed);
event.preventDefault();
@ -165,7 +163,7 @@ class FolderListMailBoxUserView extends AbstractViewNext {
folder = item && ko.dataFor(item);
if (folder) {
const collapsed = folder.collapsed();
getApp().setExpandedFolder(folder.fullNameHash, collapsed);
rl.app.setExpandedFolder(folder.fullNameHash, collapsed);
folder.collapsed(!collapsed);
}
@ -193,7 +191,7 @@ class FolderListMailBoxUserView extends AbstractViewNext {
if (folder && folder.collapsed()) {
this.iDropOverTimer = setTimeout(() => {
folder.collapsed(false);
getApp().setExpandedFolder(folder.fullNameHash, true);
rl.app.setExpandedFolder(folder.fullNameHash, true);
}, 500);
}
}
@ -231,7 +229,7 @@ class FolderListMailBoxUserView extends AbstractViewNext {
uids = ui.helper.rlUids;
if (fromFolderFullNameRaw && Array.isArray(uids)) {
getApp().moveMessagesToFolder(fromFolderFullNameRaw, uids, toFolder.fullNameRaw, copy);
rl.app.moveMessagesToFolder(fromFolderFullNameRaw, uids, toFolder.fullNameRaw, copy);
}
}
}

View file

@ -37,8 +37,6 @@ import MessageStore from 'Stores/User/Message';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { view, command, ViewType, showScreenPopup, setHash, popupVisibility } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -266,7 +264,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
@command()
reloadCommand() {
if (!MessageStore.messageListCompleteLoadingThrottleForAnimation() && this.allowReload) {
getApp().reloadMessageList(false, true);
rl.app.reloadMessageList(false, true);
}
}
@ -283,7 +281,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
@command(canBeMovedHelper)
deleteWithoutMoveCommand() {
if (Settings.capa(Capa.DangerousActions)) {
getApp().deleteMessagesFromFolder(
rl.app.deleteMessagesFromFolder(
FolderType.Trash,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
@ -294,7 +292,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
@command(canBeMovedHelper)
deleteCommand() {
getApp().deleteMessagesFromFolder(
rl.app.deleteMessagesFromFolder(
FolderType.Trash,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
@ -304,7 +302,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
@command(canBeMovedHelper)
archiveCommand() {
getApp().deleteMessagesFromFolder(
rl.app.deleteMessagesFromFolder(
FolderType.Archive,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
@ -314,7 +312,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
@command(canBeMovedHelper)
spamCommand() {
getApp().deleteMessagesFromFolder(
rl.app.deleteMessagesFromFolder(
FolderType.Spam,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
@ -324,7 +322,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
@command(canBeMovedHelper)
notSpamCommand() {
getApp().deleteMessagesFromFolder(
rl.app.deleteMessagesFromFolder(
FolderType.NotSpam,
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
@ -470,7 +468,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
*/
moveSelectedMessagesToFolder(sToFolderFullNameRaw, bCopy) {
if (this.canBeMoved()) {
getApp().moveMessagesToFolder(
rl.app.moveMessagesToFolder(
FolderStore.currentFolderFullNameRaw(),
MessageStore.messageListCheckedOrSelectedUidsWithSubMails(),
sToFolderFullNameRaw,
@ -514,7 +512,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
* @returns {void}
*/
setAction(sFolderFullNameRaw, iSetAction, aMessages) {
getApp().messageListAction(sFolderFullNameRaw, iSetAction, aMessages);
rl.app.messageListAction(sFolderFullNameRaw, iSetAction, aMessages);
}
/**
@ -586,7 +584,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
// no default
}
getApp().reloadFlagsCurrentMessageListAndMessageFromCache();
rl.app.reloadFlagsCurrentMessageListAndMessageFromCache();
}
}
}
@ -975,7 +973,7 @@ class MessageListMailBoxUserView extends AbstractViewNext {
return false;
})
.on('onComplete', () => getApp().reloadMessageList(true, true));
.on('onComplete', () => rl.app.reloadMessageList(true, true));
return !!oJua;
}

View file

@ -40,8 +40,6 @@ import * as Local from 'Storage/Client';
import Remote from 'Remote/User/Fetch';
import { getApp } from 'Helper/Apps/User';
import { view, command, ViewType, showScreenPopup, createCommand } from 'Knoin/Knoin';
import { AbstractViewNext } from 'Knoin/AbstractViewNext';
@ -69,7 +67,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
const message = this.message();
if (message && this.allowMessageListActions) {
this.message(null);
getApp().deleteMessagesFromFolder(folderType, message.folderFullNameRaw, [message.uid], useFolder);
rl.app.deleteMessagesFromFolder(folderType, message.folderFullNameRaw, [message.uid], useFolder);
}
}, this.messageVisibility);
@ -510,13 +508,13 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
el = eqs(event, '.attachmentsPlace .attachmentItem .attachmentNameParent');
if (el) {
const attachment = ko.dataFor(el);
attachment && attachment.download && getApp().download(attachment.linkDownload());
attachment && attachment.download && rl.app.download(attachment.linkDownload());
}
if (eqs(event, '.messageItemHeader .subjectParent .flagParent')) {
// eslint-disable-line prefer-arrow-callback
const message = this.message();
message && getApp().messageListAction(
message && rl.app.messageListAction(
message.folderFullNameRaw,
message.flagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
[message]
@ -527,7 +525,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
if (el) {
// eslint-disable-line prefer-arrow-callback
const message = ko.dataFor(el); // eslint-disable-line no-invalid-this
message && message.folder && message.uid && getApp().messageListAction(
message && message.folder && message.uid && rl.app.messageListAction(
message.folder,
message.flagged() ? MessageSetAction.UnsetFlag : MessageSetAction.SetFlag,
[message]
@ -783,7 +781,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
Remote.attachmentsActions('Zip', hashes, this.downloadAsZipLoading)
.then((result) => {
if (result && result.Result && result.Result.Files && result.Result.Files[0] && result.Result.Files[0].Hash) {
getApp().download(attachmentDownload(result.Result.Files[0].Hash));
rl.app.download(attachmentDownload(result.Result.Files[0].Hash));
} else {
this.downloadAsZipError(true);
}
@ -833,7 +831,7 @@ class MessageViewMailBoxUserView extends AbstractViewNext {
storeMessageFlagsToCache(oMessage);
getApp().reloadFlagsCurrentMessageListAndMessageFromCache();
rl.app.reloadFlagsCurrentMessageListAndMessageFromCache();
}
}
}

18
dev/bootstrap.js vendored
View file

@ -1,10 +1,9 @@
import { data as GlobalsData, dropdownVisibility } from 'Common/Globals';
import { dropdownVisibility } from 'Common/Globals';
import * as Enums from 'Common/Enums';
import * as Plugins from 'Common/Plugins';
import { i18n } from 'Common/Translator';
export default (App) => {
GlobalsData.__APP__ = App;
addEventListener('keydown', event => {
event = event || window.event;
@ -86,6 +85,21 @@ export default (App) => {
}
return fetch(resource, init).then(response => response.json());
/*
let f = fetch(resource, init);
if (reviver) {
return f.then(response => response.text())
.then(json => {
try {
return JSON.parse(json, reviver);
} catch (e) {
console.error(e);
throw e;
}
});
}
return f.then(response => response.json());
*/
};
window.__APP_BOOT = fErrorCallback => {