mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-07-13 03:27:39 +03:00
Renamed closeCommand() to close() because it has no command feature anymore
This commit is contained in:
parent
7f29f362f5
commit
fe0f6af9f4
38 changed files with 59 additions and 57 deletions
|
|
@ -62,7 +62,7 @@ export class AbstractViewPopup extends AbstractView
|
|||
this.modalVisible = ko.observable(false).extend({ rateLimit: 0 });
|
||||
shortcuts.add('escape,close', '', name, () => {
|
||||
if (this.modalVisible() && false !== this.onClose()) {
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
|
@ -80,7 +80,7 @@ export class AbstractViewPopup extends AbstractView
|
|||
onHide() {} // Happens before animation transitionend
|
||||
afterHide() {} // Happens after animation transitionend
|
||||
|
||||
closeCommand() {}
|
||||
close() {}
|
||||
*/
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,9 @@ const
|
|||
buildViewModel = (ViewModelClass, vmScreen) => {
|
||||
if (ViewModelClass && !ViewModelClass.__builded) {
|
||||
let vmDom = null;
|
||||
const vm = new ViewModelClass(vmScreen),
|
||||
const
|
||||
vm = new ViewModelClass(vmScreen),
|
||||
id = vm.viewModelTemplateID,
|
||||
position = vm.viewType || '',
|
||||
dialog = ViewType.Popup === position,
|
||||
vmPlace = position ? doc.getElementById('rl-' + position.toLowerCase()) : null;
|
||||
|
|
@ -39,16 +41,16 @@ const
|
|||
ViewModelClass.__vm = vm;
|
||||
|
||||
if (vmPlace) {
|
||||
vmDom = dialog
|
||||
? Element.fromHTML('<dialog id="V-'+ vm.viewModelTemplateID + '"></dialog>')
|
||||
: Element.fromHTML('<div id="V-'+ vm.viewModelTemplateID + '" hidden=""></div>');
|
||||
vmDom = Element.fromHTML(dialog
|
||||
? '<dialog id="V-'+ id + '"></dialog>'
|
||||
: '<div id="V-'+ id + '" hidden=""></div>');
|
||||
vmPlace.append(vmDom);
|
||||
|
||||
vm.viewModelDom = vmDom;
|
||||
ViewModelClass.__dom = vmDom;
|
||||
|
||||
if (ViewType.Popup === position) {
|
||||
vm.closeCommand = () => hideScreenPopup(ViewModelClass);
|
||||
vm.close = () => hideScreenPopup(ViewModelClass);
|
||||
|
||||
// Firefox / Safari HTMLDialogElement not defined
|
||||
if (!vmDom.showModal) {
|
||||
|
|
@ -110,7 +112,7 @@ const
|
|||
vmDom,
|
||||
{
|
||||
i18nInit: true,
|
||||
template: () => ({ name: vm.viewModelTemplateID })
|
||||
template: () => ({ name: id })
|
||||
},
|
||||
vm
|
||||
);
|
||||
|
|
@ -172,7 +174,7 @@ const
|
|||
|
||||
// Close all popups
|
||||
for (let vm of visiblePopups) {
|
||||
false === vm.onClose() || vm.closeCommand();
|
||||
false === vm.onClose() || vm.close();
|
||||
}
|
||||
|
||||
if (screenName) {
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ export class AccountPopupView extends AbstractViewPopup {
|
|||
this.submitErrorAdditional((data && data.ErrorMessageAdditional) || '');
|
||||
} else {
|
||||
rl.app.accountsAndIdentities();
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}, {
|
||||
Email: email,
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ export class AdvancedSearchPopupView extends AbstractViewPopup {
|
|||
MessagelistUserStore.mainSearch(search);
|
||||
}
|
||||
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
|
||||
parseSearchStringValue(search) {
|
||||
|
|
|
|||
|
|
@ -22,13 +22,13 @@ export class AskPopupView extends AbstractViewPopup {
|
|||
}
|
||||
|
||||
yesClick() {
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
|
||||
isFunction(this.fYesAction) && this.fYesAction();
|
||||
}
|
||||
|
||||
noClick() {
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
|
||||
isFunction(this.fNoAction) && this.fNoAction();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -544,7 +544,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
|| getNotification(Notification.CantSendMessage));
|
||||
}
|
||||
} else {
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
setFolderHash(this.draftsFolder(), '');
|
||||
setFolderHash(sSentFolder, '');
|
||||
|
|
@ -633,7 +633,7 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
aUidForRemove = [this.draftUid()];
|
||||
messagesDeleteHelper(sFromFolderFullName, aUidForRemove);
|
||||
MessagelistUserStore.removeMessagesFromList(sFromFolderFullName, aUidForRemove);
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
]);
|
||||
}
|
||||
|
|
@ -1183,11 +1183,11 @@ export class ComposePopupView extends AbstractViewPopup {
|
|||
tryToClosePopup() {
|
||||
if (AskPopupView.hidden()) {
|
||||
if (this.bSkipNextHide || (this.isEmptyForm() && !this.draftUid())) {
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
} else {
|
||||
showScreenPopup(AskPopupView, [
|
||||
i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'),
|
||||
() => this.closeCommand()
|
||||
() => this.close()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ export class ContactsPopupView extends AbstractViewPopup {
|
|||
});
|
||||
|
||||
decorateKoCommands(this, {
|
||||
// closeCommand: self => !self.watchDirty(),
|
||||
// close: self => !self.watchDirty(),
|
||||
deleteCommand: self => 0 < self.contactsCheckedOrSelected().length,
|
||||
newMessageCommand: self => 0 < self.contactsCheckedOrSelected().length,
|
||||
saveCommand: self => !self.viewSaving() && !self.viewReadOnly()
|
||||
|
|
@ -182,7 +182,7 @@ export class ContactsPopupView extends AbstractViewPopup {
|
|||
if (arrayLength(aE)) {
|
||||
this.bBackToCompose = false;
|
||||
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
|
||||
switch (this.sLastComposeFocusedField) {
|
||||
case 'cc':
|
||||
|
|
@ -500,7 +500,7 @@ export class ContactsPopupView extends AbstractViewPopup {
|
|||
if (this.watchDirty() && AskPopupView.hidden()) {
|
||||
showScreenPopup(AskPopupView, [
|
||||
i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'),
|
||||
() => this.closeCommand()
|
||||
() => this.close()
|
||||
]);
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -220,7 +220,7 @@ export class DomainPopupView extends AbstractViewPopup {
|
|||
this.savingError(getNotification(iError));
|
||||
} else {
|
||||
DomainAdminStore.fetch();
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ export class DomainAliasPopupView extends AbstractViewPopup {
|
|||
this.savingError(getNotification(iError));
|
||||
} else {
|
||||
DomainAdminStore.fetch();
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}, {
|
||||
Name: this.name(),
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ export class FilterPopupView extends AbstractViewPopup {
|
|||
|
||||
if (this.filter().verify()) {
|
||||
this.fTrueCallback();
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ export class FolderClearPopupView extends AbstractViewPopup {
|
|||
this.clearingError(getNotification(iError));
|
||||
} else {
|
||||
MessagelistUserStore.reload(true);
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}, {
|
||||
Folder: folderToClear.fullName
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ export class FolderCreatePopupView extends AbstractViewPopup {
|
|||
}
|
||||
);
|
||||
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ export class IdentityPopupView extends AbstractViewPopup {
|
|||
this.submitError(getNotification(iError));
|
||||
} else {
|
||||
rl.app.accountsAndIdentities();
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}, {
|
||||
Id: this.id,
|
||||
|
|
|
|||
|
|
@ -52,6 +52,6 @@ export class LanguagesPopupView extends AbstractViewPopup {
|
|||
|
||||
changeLanguage(lang) {
|
||||
this.fLang && this.fLang(lang);
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ export class OpenPgpGeneratePopupView extends AbstractViewPopup {
|
|||
if (keyPair) {
|
||||
const fn = () => {
|
||||
this.submitRequest(false);
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
};
|
||||
|
||||
OpenPGPUserStore.storeKeyPair(keyPair);
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ export class OpenPgpImportPopupView extends AbstractViewPopup {
|
|||
return;
|
||||
}
|
||||
|
||||
this.closeCommand();
|
||||
this.close();
|
||||
}
|
||||
|
||||
onShow() {
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ export class PluginPopupView extends AbstractViewPopup {
|
|||
Remote.request('AdminPluginSettingsUpdate',
|
||||
iError => iError
|
||||
? this.saveError(getNotification(iError))
|
||||
: this.closeCommand(),
|
||||
: this.close(),
|
||||
oConfig);
|
||||
}
|
||||
|
||||
|
|
@ -99,7 +99,7 @@ export class PluginPopupView extends AbstractViewPopup {
|
|||
if (AskPopupView.hidden()) {
|
||||
showScreenPopup(AskPopupView, [
|
||||
i18n('POPUPS_ASK/DESC_WANT_CLOSE_THIS_WINDOW'),
|
||||
() => this.closeCommand()
|
||||
() => this.close()
|
||||
]);
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class PluginPopupView extends rl.pluginPopupView
|
|||
afterShow() {}
|
||||
|
||||
// Happens when user hits Escape or Close key
|
||||
// return false to prevent closing, use closeCommand() manually
|
||||
// return false to prevent closing, use close() manually
|
||||
onClose() {}
|
||||
// Happens before animation transitionend
|
||||
onHide() {}
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ class TwoFactorAuthPlugin extends \RainLoop\Plugins\AbstractPlugin
|
|||
{
|
||||
const
|
||||
NAME = 'Two Factor Authentication',
|
||||
VERSION = '2.13',
|
||||
VERSION = '2.13.2',
|
||||
RELEASE = '2022-02-28',
|
||||
REQUIRED = '2.13.0',
|
||||
REQUIRED = '2.13.2',
|
||||
CATEGORY = 'Login',
|
||||
DESCRIPTION = 'Provides support for TOTP 2FA';
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a class="close" href="#" data-bind="command: closeCommand">×</a>
|
||||
<a class="close" href="#" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="POPUPS_TWO_FACTOR_TEST/TITLE_TEST_CODE"></h3>
|
||||
</header>
|
||||
<div class="modal-body form-horizontal">
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
<span data-i18n="POPUPS_TWO_FACTOR_CFG/BUTTON_ACTIVATE"></span>
|
||||
</a>
|
||||
<!--
|
||||
<a class="btn" data-bind="command: closeCommand, visible: viewEnable()">
|
||||
<a class="btn" data-bind="click: close, visible: viewEnable()">
|
||||
<i class="icon-ok" ></i>
|
||||
<span data-i18n="GLOBAL/DONE"></span>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-bind="text: headerText"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
@ -189,7 +189,7 @@
|
|||
<i class="fontastic" data-bind="css: {'icon-spinner': testing()}">ℹ</i>
|
||||
<span data-i18n="POPUPS_DOMAIN/BUTTON_TEST"></span>
|
||||
</a>
|
||||
<a class="btn buttonClose" data-bind="command: closeCommand" data-icon="✖" data-i18n="POPUPS_DOMAIN/BUTTON_CLOSE"></a>
|
||||
<a class="btn buttonClose" data-bind="click: close" data-icon="✖" data-i18n="POPUPS_DOMAIN/BUTTON_CLOSE"></a>
|
||||
<a class="btn" data-bind="command: createOrAddCommand, visible: edit()">
|
||||
<i class="fontastic" data-bind="css: {'icon-spinner': saving()}">✔</i>
|
||||
<span data-i18n="POPUPS_DOMAIN/BUTTON_UPDATE"></span>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="POPUPS_DOMAIN_ALIAS/TITLE_ADD_DOMAIN_ALIAS"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
@ -31,7 +31,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<a class="btn buttonClose" data-bind="command: closeCommand" data-icon="✖" data-i18n="POPUPS_DOMAIN_ALIAS/BUTTON_CLOSE"></a>
|
||||
<a class="btn buttonClose" data-bind="click: close" data-icon="✖" data-i18n="POPUPS_DOMAIN_ALIAS/BUTTON_CLOSE"></a>
|
||||
<a class="btn" data-bind="command: createCommand">
|
||||
<i class="fontastic" data-bind="visible: !saving()">✚</i>
|
||||
<i class="icon-spinner" data-bind="visible: saving"></i>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h4>
|
||||
<span data-i18n="POPUPS_PLUGIN/TITLE_PLUGIN"></span>
|
||||
|
||||
|
|
@ -30,6 +30,6 @@
|
|||
</form>
|
||||
</div>
|
||||
<footer>
|
||||
<a class="btn buttonClose" data-bind="command: closeCommand" data-icon="✖" data-i18n="POPUPS_PLUGIN/BUTTON_CLOSE"></a>
|
||||
<a class="btn buttonClose" data-bind="click: close" data-icon="✖" data-i18n="POPUPS_PLUGIN/BUTTON_CLOSE"></a>
|
||||
<a class="btn" data-bind="command: saveCommand, visible: hasConfiguration" data-icon="✔" data-i18n="GLOBAL/SAVE"></a>
|
||||
</footer>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="POPUPS_LANGUAGES/TITLE_LANGUAGES"></h3>
|
||||
</header>
|
||||
<div class="modal-body" style="min-height: 150px;" data-bind="foreach: languages">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3>
|
||||
<span data-bind="visible: isNew" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_ADD_ACCOUNT"></span>
|
||||
<span data-bind="visible: !isNew()" data-i18n="POPUPS_ADD_ACCOUNT/TITLE_UPDATE_ACCOUNT"></span>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="SEARCH/TITLE_ADV"></h3>
|
||||
</header>
|
||||
<form id="advancedsearchform" class="modal-body form-horizontal" action="#/" autocomplete="off" data-bind="submit: submitForm">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<header class="b-header-toolbar g-ui-user-select-none">
|
||||
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
|
||||
<div class="btn-toolbar">
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3>
|
||||
<span data-i18n="POPUPS_FILTER/TITLE_CREATE_FILTER" data-bind="visible: isNew"></span>
|
||||
<span data-i18n="POPUPS_FILTER/TITLE_EDIT_FILTER" data-bind="visible: !isNew()"></span>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3>
|
||||
<span data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEAR_FOLDER" data-bind="visible: !clearingProcess()"></span>
|
||||
<span data-i18n="POPUPS_CLEAR_FOLDER/TITLE_CLEARING_PROCESS" data-bind="visible: clearingProcess"></span>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="POPUPS_CREATE_FOLDER/TITLE_CREATE_FOLDER"></h3>
|
||||
</header>
|
||||
<form id="createfolderform" class="modal-body form-horizontal" autocomplete="off" data-bind="submit: submitForm">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="POPUPS_SYSTEM_FOLDERS/TITLE_SYSTEM_FOLDERS"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header class="g-ui-user-select-none">
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3>
|
||||
<span data-bind="visible: !edit()" data-i18n="POPUPS_IDENTITY/TITLE_ADD_IDENTITY"></span>
|
||||
<span data-bind="visible: edit" data-i18n="POPUPS_IDENTITY/TITLE_UPDATE_IDENTITY"></span>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="SHORTCUTS_HELP/LEGEND_SHORTCUTS_HELP"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="OPENPGP/POPUP_GENERATE_TITLE"></h3>
|
||||
</header>
|
||||
<form id="openpgp-generate" class="modal-body form-horizontal" autocomplete="off" data-bind="submit: submitForm">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header>
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="OPENPGP/POPUP_IMPORT_TITLE"></h3>
|
||||
</header>
|
||||
<form id="openpgp-import" class="modal-body form-horizontal" autocomplete="off" data-bind="submit: submitForm">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<header class="g-ui-user-select-none">
|
||||
<a href="#" class="close" data-bind="command: closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: close">×</a>
|
||||
<h3 data-i18n="OPENPGP/POPUP_VIEW_TITLE"></h3>
|
||||
</header>
|
||||
<div class="modal-body">
|
||||
|
|
@ -10,6 +10,6 @@
|
|||
</div>
|
||||
</div>
|
||||
<footer>
|
||||
<a class="btn buttonClose" data-bind="command: closeCommand" data-icon="✖" data-i18n="GLOBAL/CLOSE"></a>
|
||||
<a class="btn buttonClose" data-bind="click: close" data-icon="✖" data-i18n="GLOBAL/CLOSE"></a>
|
||||
<a class="btn buttonClose" data-bind="click: selectKey" data-icon="🔑" data-i18n="OPENPGP/POPUP_VIEW_BUTTON"></a>
|
||||
</footer>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<!-- ko with: script -->
|
||||
<header>
|
||||
<a href="#" class="close" data-bind="command: $root.closeCommand">×</a>
|
||||
<a href="#" class="close" data-bind="click: $root.close">×</a>
|
||||
<h3>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_CREATE" data-bind="visible: !exists()"></span>
|
||||
<span data-i18n="POPUPS_SIEVE_SCRIPT/TITLE_EDIT" data-bind="visible: exists"></span>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue