diff --git a/dev/Knoin/AbstractViews.js b/dev/Knoin/AbstractViews.js index 6981011de..a501e26cb 100644 --- a/dev/Knoin/AbstractViews.js +++ b/dev/Knoin/AbstractViews.js @@ -4,6 +4,7 @@ import { inFocus, addObservablesTo, addComputablesTo, addSubscribablesTo } from import { Scope } from 'Common/Enums'; import { keyScope, Settings, leftPanelDisabled } from 'Common/Globals'; import { ViewType } from 'Knoin/Knoin'; +//import { showScreenPopup } from 'Knoin/Knoin'; class AbstractView { constructor(templateID, type) @@ -87,6 +88,14 @@ export class AbstractViewPopup extends AbstractView }); } } +/* +AbstractViewPopup.show = function(params = []) { + showScreenPopup(this, params); +} +*/ +AbstractViewPopup.hidden = function() { + return !this.__vm || !this.__vm.modalVisibility(); +} export class AbstractViewCenter extends AbstractView { diff --git a/dev/Knoin/Knoin.js b/dev/Knoin/Knoin.js index f39011298..15264a1c2 100644 --- a/dev/Knoin/Knoin.js +++ b/dev/Knoin/Knoin.js @@ -244,7 +244,11 @@ const }, 1); } } - }; + }, + + getScreenPopupViewModel = ViewModelClassToShow => + (buildViewModel(ViewModelClassToShow) && ViewModelClassToShow.__dom) && ViewModelClassToShow.__vm; + export const ViewType = { @@ -271,9 +275,6 @@ export const return fResult; }, - getScreenPopupViewModel = ViewModelClassToShow => - (buildViewModel(ViewModelClassToShow) && ViewModelClassToShow.__dom) && ViewModelClassToShow.__vm, - /** * @param {Function} ViewModelClassToShow * @param {Array=} params @@ -294,13 +295,6 @@ export const arePopupsVisible = ko.observable(false), - /** - * @param {Function} ViewModelClassToShow - * @returns {boolean} - */ - isPopupVisible = ViewModelClassToShow => - ViewModelClassToShow && ViewModelClassToShow.__vm && ViewModelClassToShow.__vm.modalVisibility(), - /** * @param {Array} screensClasses * @returns {void} diff --git a/dev/Stores/User/GnuPG.js b/dev/Stores/User/GnuPG.js index 48fbbd3fc..621da958a 100644 --- a/dev/Stores/User/GnuPG.js +++ b/dev/Stores/User/GnuPG.js @@ -4,8 +4,6 @@ import { Capa } from 'Common/Enums'; import { Settings } from 'Common/Globals'; import { delegateRunOnDestroy } from 'Common/UtilsUser'; -//import { showScreenPopup } from 'Knoin/Knoin'; - //import { EmailModel } from 'Model/Email'; //import { OpenPgpKeyModel } from 'Model/OpenPgpKey'; diff --git a/dev/View/Popup/Compose.js b/dev/View/Popup/Compose.js index 54bd348aa..bcfa1cbca 100644 --- a/dev/View/Popup/Compose.js +++ b/dev/View/Popup/Compose.js @@ -37,7 +37,7 @@ import Remote from 'Remote/User/Fetch'; import { ComposeAttachmentModel } from 'Model/ComposeAttachment'; import { EmailModel } from 'Model/Email'; -import { decorateKoCommands, isPopupVisible, showScreenPopup } from 'Knoin/Knoin'; +import { decorateKoCommands, showScreenPopup } from 'Knoin/Knoin'; import { AbstractViewPopup } from 'Knoin/AbstractViews'; import { FolderSystemPopupView } from 'View/Popup/FolderSystem'; @@ -549,7 +549,7 @@ class ComposePopupView extends AbstractViewPopup { } deleteCommand() { - if (!isPopupVisible(AskPopupView) && this.modalVisibility()) { + if (AskPopupView.hidden() && this.modalVisibility()) { showScreenPopup(AskPopupView, [ i18n('POPUPS_ASK/DESC_WANT_DELETE_MESSAGES'), () => { @@ -1113,7 +1113,7 @@ class ComposePopupView extends AbstractViewPopup { } tryToClosePopup() { - if (!isPopupVisible(AskPopupView) && this.modalVisibility()) { + if (AskPopupView.hidden() && this.modalVisibility()) { if (this.bSkipNextHide || (this.isEmptyForm() && !this.draftUid())) { this.closeCommand(); } else { diff --git a/dev/View/Popup/Plugin.js b/dev/View/Popup/Plugin.js index 31be74026..2dc20ba91 100644 --- a/dev/View/Popup/Plugin.js +++ b/dev/View/Popup/Plugin.js @@ -6,7 +6,7 @@ import { arrayLength } from 'Common/Utils'; import Remote from 'Remote/Admin/Fetch'; -import { decorateKoCommands, isPopupVisible, showScreenPopup } from 'Knoin/Knoin'; +import { decorateKoCommands, showScreenPopup } from 'Knoin/Knoin'; import { AbstractViewPopup } from 'Knoin/AbstractViews'; import { AskPopupView } from 'View/Popup/Ask'; @@ -89,7 +89,7 @@ class PluginPopupView extends AbstractViewPopup { } tryToClosePopup() { - if (!isPopupVisible(AskPopupView)) { + if (AskPopupView.hidden()) { showScreenPopup(AskPopupView, [ i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'), () => this.modalVisibility() && this.cancelCommand()