diff --git a/frontend/client/src/views/admin/entity-manager/modals/edit-entity.js b/frontend/client/src/views/admin/entity-manager/modals/edit-entity.js index f0df4739f4..ef2d8bbe96 100644 --- a/frontend/client/src/views/admin/entity-manager/modals/edit-entity.js +++ b/frontend/client/src/views/admin/entity-manager/modals/edit-entity.js @@ -35,22 +35,15 @@ Espo.define('views/admin/entity-manager/modals/edit-entity', ['views/modal', 'mo template: 'admin/entity-manager/modals/edit-entity', setup: function () { - - this.buttons = [ + this.buttonList = [ { name: 'save', label: 'Save', - style: 'danger', - onClick: function (dialog) { - this.save(); - }.bind(this) + style: 'danger' }, { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ]; @@ -218,7 +211,7 @@ Espo.define('views/admin/entity-manager/modals/edit-entity', ['views/modal', 'mo }, this); }, - save: function () { + actionSave: function () { var arr = [ 'name', 'type', diff --git a/frontend/client/src/views/admin/extensions/done.js b/frontend/client/src/views/admin/extensions/done.js index 24a34691ba..4603689a87 100644 --- a/frontend/client/src/views/admin/extensions/done.js +++ b/frontend/client/src/views/admin/extensions/done.js @@ -52,13 +52,10 @@ Espo.define('views/admin/extensions/done', 'views/modal', function (Dep) { window.location.reload(); }); - this.buttons = [ + this.buttonList = [ { name: 'close', - label: 'Close', - onClick: function (dialog) { - dialog.close(); - }.bind(this) + label: 'Close' } ]; diff --git a/frontend/client/src/views/admin/extensions/ready.js b/frontend/client/src/views/admin/extensions/ready.js index c92686fe73..02c2dd781c 100644 --- a/frontend/client/src/views/admin/extensions/ready.js +++ b/frontend/client/src/views/admin/extensions/ready.js @@ -47,22 +47,15 @@ Espo.define('views/admin/extensions/ready', 'views/modal', function (Dep) { }, setup: function () { - - this.buttons = [ + this.buttonList = [ { name: 'run', text: this.translate('Install', 'labels', 'Admin'), - style: 'danger', - onClick: function (dialog) { - this.run(); - }.bind(this) + style: 'danger' }, { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ]; @@ -72,7 +65,7 @@ Espo.define('views/admin/extensions/ready', 'views/modal', function (Dep) { }, - run: function () { + actionRun: function () { this.trigger('run'); this.remove(); } diff --git a/frontend/client/src/views/admin/layouts/modals/edit-attributes.js b/frontend/client/src/views/admin/layouts/modals/edit-attributes.js index 6370aa692a..3a32e698ce 100644 --- a/frontend/client/src/views/admin/layouts/modals/edit-attributes.js +++ b/frontend/client/src/views/admin/layouts/modals/edit-attributes.js @@ -27,28 +27,22 @@ ************************************************************************/ -Espo.define('Views.Admin.Layouts.Modals.EditAttributes', ['Views.Modal', 'Model'], function (Dep, Model) { +Espo.define('views/admin/layouts/modals/edit-attributes', ['views/modal', 'model'], function (Dep, Model) { return Dep.extend({ _template: '
{{{edit}}}
', setup: function () { - this.buttons = [ + this.buttonList = [ { name: 'save', text: this.translate('Apply'), - style: 'primary', - onClick: function (dialog) { - this.save(); - }.bind(this) + style: 'primary' }, { name: 'cancel', - text: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + text: 'Cancel' } ]; @@ -72,7 +66,7 @@ Espo.define('Views.Admin.Layouts.Modals.EditAttributes', ['Views.Modal', 'Model' }); }, - save: function () { + actionSave: function () { var editView = this.getView('edit'); var attrs = editView.fetch(); diff --git a/frontend/client/src/views/admin/upgrade/done.js b/frontend/client/src/views/admin/upgrade/done.js index 7b73c040c0..1d3bd6f1df 100644 --- a/frontend/client/src/views/admin/upgrade/done.js +++ b/frontend/client/src/views/admin/upgrade/done.js @@ -50,7 +50,7 @@ Espo.define('Views.Admin.Upgrade.Done', 'Views.Modal', function (Dep) { window.location.reload(); }); - this.buttons = [ + this.buttonList = [ { name: 'close', label: 'Close', diff --git a/frontend/client/src/views/admin/upgrade/ready.js b/frontend/client/src/views/admin/upgrade/ready.js index 3a32b960e1..b258de9558 100644 --- a/frontend/client/src/views/admin/upgrade/ready.js +++ b/frontend/client/src/views/admin/upgrade/ready.js @@ -24,57 +24,50 @@ * * In accordance with Section 7(b) of the GNU General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. - ************************************************************************/ + ************************************************************************/ -Espo.define('Views.Admin.Upgrade.Ready', 'Views.Modal', function (Dep) { +Espo.define('views/admin/upgrade/ready', 'views/modal', function (Dep) { return Dep.extend({ - - cssName: 'ready-modal', - + + cssName: 'ready-modal', + header: false, - - template: 'admin.upgrade.ready', - + + template: 'admin/upgrade/ready', + createButton: true, - - data: function () { + + data: function () { return { version: this.upgradeData.version, text: this.translate('upgradeVersion', 'messages', 'Admin').replace('{version}', this.upgradeData.version) }; }, - + setup: function () { - - this.buttons = [ + this.buttonList = [ { name: 'run', label: this.translate('Run Upgrade', 'labels', 'Admin'), - style: 'danger', - onClick: function (dialog) { - this.run(); - }.bind(this) + style: 'danger' }, { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } - } + label: 'Cancel' + } ]; - + this.upgradeData = this.options.upgradeData; - - this.header = this.getLanguage().translate('Ready for upgrade', 'labels', 'Admin'); - + + this.header = this.getLanguage().translate('Ready for upgrade', 'labels', 'Admin'); + }, - - run: function () { + + actionRun: function () { this.trigger('run'); this.remove(); - } + } }); }); diff --git a/frontend/client/src/views/email-account/modals/select-folder.js b/frontend/client/src/views/email-account/modals/select-folder.js index 835d61bfcf..3debda0872 100644 --- a/frontend/client/src/views/email-account/modals/select-folder.js +++ b/frontend/client/src/views/email-account/modals/select-folder.js @@ -48,14 +48,10 @@ Espo.define('views/email-account/modals/select-folder', 'views/modal', function }, setup: function () { - - this.buttons = [ + this.buttonList = [ { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ]; diff --git a/frontend/client/src/views/inbound-email/modals/select-folder.js b/frontend/client/src/views/inbound-email/modals/select-folder.js index 4fc941b36a..2a1af4e92a 100644 --- a/frontend/client/src/views/inbound-email/modals/select-folder.js +++ b/frontend/client/src/views/inbound-email/modals/select-folder.js @@ -26,13 +26,13 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -Espo.define('Views.InboundEmail.Modals.SelectFolder', 'Views.Modal', function (Dep) { +Espo.define('views/inbound-email/modals/select-folder', 'views/modal', function (Dep) { return Dep.extend({ cssName: 'select-folder-modal', - template: 'inbound-email.modals.select-folder', + template: 'inbound-email/modals/select-folder', data: function () { return { @@ -48,14 +48,10 @@ Espo.define('Views.InboundEmail.Modals.SelectFolder', 'Views.Modal', function (D }, setup: function () { - - this.buttons = [ + this.buttonList = [ { name: 'cancel', label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } } ]; diff --git a/frontend/client/src/views/modal.js b/frontend/client/src/views/modal.js index 116ccafb0b..1b24aec151 100644 --- a/frontend/client/src/views/modal.js +++ b/frontend/client/src/views/modal.js @@ -44,6 +44,7 @@ Espo.define('views/modal', 'view', function (Dep) { buttonList: [], + // TODO remove it as depricated buttons: [], width: false, @@ -76,8 +77,10 @@ Espo.define('views/modal', 'view', function (Dep) { this.options = this.options || {}; this.options.el = this.containerSelector; - this.buttonList = Espo.Utils.clone(this.buttonList); - this.buttons = Espo.Utils.clone(this.buttons); + this.buttonList = Espo.Utils.cloneDeep(this.buttonList); + + // TODO remove it as depricated + this.buttons = Espo.Utils.cloneDeep(this.buttons); this.on('render', function () { if (this.dialog) { @@ -89,6 +92,7 @@ Espo.define('views/modal', 'view', function (Dep) { var buttonListExt = []; + // TODO remove it as depricated this.buttons.forEach(function (item) { var o = Espo.Utils.clone(item); if (!('text' in o) && ('label' in o)) { @@ -163,6 +167,11 @@ Espo.define('views/modal', 'view', function (Dep) { this.dialog.close(); }, + actionClose: function () { + this.trigger('cancel'); + this.dialog.close(); + }, + close: function () { this.dialog.close(); }, diff --git a/frontend/client/src/views/modals/add-dashlet.js b/frontend/client/src/views/modals/add-dashlet.js index 95fd02d635..7b3fcbd5e2 100644 --- a/frontend/client/src/views/modals/add-dashlet.js +++ b/frontend/client/src/views/modals/add-dashlet.js @@ -49,13 +49,20 @@ Espo.define('views/modals/add-dashlet', 'views/modal', function (Dep) { }, }, + buttonList: [ + { + name: 'cancel', + label: 'Cancel' + } + ], + setup: function () { - this.buttonList = [ + /*this.buttonList = [ { name: 'cancel', label: 'Cancel' } - ]; + ];*/ this.header = this.translate('Add Dashlet'); diff --git a/frontend/client/src/views/modals/image-preview.js b/frontend/client/src/views/modals/image-preview.js index 0706dcf5e3..82780ff215 100644 --- a/frontend/client/src/views/modals/image-preview.js +++ b/frontend/client/src/views/modals/image-preview.js @@ -49,7 +49,7 @@ Espo.define('views/modals/image-preview', 'views/modal', function (Dep) { }, setup: function () { - this.buttons = []; + this.buttonList = []; this.header = ' '; this.navigationEnabled = (this.options.imageList && this.options.imageList.length > 1); diff --git a/frontend/client/src/views/modals/password-change-request.js b/frontend/client/src/views/modals/password-change-request.js index 696d3bd663..b9df4525da 100644 --- a/frontend/client/src/views/modals/password-change-request.js +++ b/frontend/client/src/views/modals/password-change-request.js @@ -26,17 +26,17 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -Espo.define('Views.Modals.PasswordChangeRequest', 'Views.Modal', function (Dep) { +Espo.define('views/modals/password-change-request', 'views/modal', function (Dep) { return Dep.extend({ cssName: 'password-change-request', - template: 'modals.password-change-request', + template: 'modals/password-change-request', setup: function () { - - this.buttons = [ + + this.buttonList = [ { name: 'submit', label: 'Submit', @@ -47,17 +47,14 @@ Espo.define('Views.Modals.PasswordChangeRequest', 'Views.Modal', function (Dep) }, { name: 'cancel', - label: 'Close', - onClick: function (dialog) { - dialog.close(); - } + label: 'Close' } ]; - + this.header = this.translate('Password Change Request', 'labels', 'User'); }, - submit: function () { + actionSubmit: function () { var $userName = this.$el.find('input[name="userName"]'); var $emailAddress = this.$el.find('input[name="emailAddress"]'); @@ -70,7 +67,7 @@ Espo.define('Views.Modals.PasswordChangeRequest', 'Views.Modal', function (Dep) var isValid = true; if (userName == '') { isValid = false; - + var message = this.getLanguage().translate('userCantBeEmpty', 'messages', 'User'); $userName.popover({ @@ -91,7 +88,7 @@ Espo.define('Views.Modals.PasswordChangeRequest', 'Views.Modal', function (Dep) var isValid = true; if (emailAddress == '') { isValid = false; - + var message = this.getLanguage().translate('emailAddressCantBeEmpty', 'messages', 'User'); $emailAddress.popover({ @@ -102,7 +99,7 @@ Espo.define('Views.Modals.PasswordChangeRequest', 'Views.Modal', function (Dep) var $cellEmailAddress = $emailAddress.closest('.form-group'); $cellEmailAddress.addClass('has-error'); - + $emailAddress.one('mousedown click', function () { $cellEmailAddress.removeClass('has-error'); $emailAddress.popover('destroy'); @@ -140,9 +137,9 @@ Espo.define('Views.Modals.PasswordChangeRequest', 'Views.Modal', function (Dep) this.$el.find('.cell-userName').addClass('hidden'); this.$el.find('.cell-emailAddress').addClass('hidden'); - + $submit.addClass('hidden'); - + this.$el.find('.msg-box').removeClass('hidden'); this.$el.find('.msg-box').html('' + msg + ''); diff --git a/frontend/client/src/views/modals/save-filters.js b/frontend/client/src/views/modals/save-filters.js index f0ef73a11d..6291248980 100644 --- a/frontend/client/src/views/modals/save-filters.js +++ b/frontend/client/src/views/modals/save-filters.js @@ -42,21 +42,15 @@ Espo.define('views/modals/save-filters', ['views/modal', 'model'], function (Dep }, setup: function () { - this.buttons = [ + this.buttonList = [ { name: 'save', label: 'Save', - style: 'primary', - onClick: function (dialog) { - this.save(); - }.bind(this) + style: 'primary' }, { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ]; @@ -76,7 +70,7 @@ Espo.define('views/modals/save-filters', ['views/modal', 'model'], function (Dep }); }, - save: function () { + actionSave: function () { var nameView = this.getView('name'); nameView.fetchToModel(); if (nameView.validate()) { diff --git a/frontend/client/src/views/modals/select-category-tree-records.js b/frontend/client/src/views/modals/select-category-tree-records.js index 646d4c6e07..4073c88223 100644 --- a/frontend/client/src/views/modals/select-category-tree-records.js +++ b/frontend/client/src/views/modals/select-category-tree-records.js @@ -26,7 +26,7 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -Espo.define('Views.Modals.SelectCategoryTreeRecords', 'Views.Modals.SelectRecords', function (Dep) { +Espo.define('views/modals/select-category-tree-records', 'views/modals/select-records', function (Dep) { return Dep.extend({ @@ -42,18 +42,15 @@ Espo.define('Views.Modals.SelectCategoryTreeRecords', 'Views.Modals.SelectRecord this.createButton = false; this.massRelateEnabled = this.options.massRelateEnabled; - this.buttons = [ + this.buttonList = [ { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ]; if (this.multiple) { - this.buttons.unshift({ + this.buttonList.unshift({ name: 'select', style: 'primary', label: 'Select', diff --git a/frontend/client/src/views/modals/select-records.js b/frontend/client/src/views/modals/select-records.js index 2c688eb598..622452542e 100644 --- a/frontend/client/src/views/modals/select-records.js +++ b/frontend/client/src/views/modals/select-records.js @@ -74,18 +74,15 @@ Espo.define('views/modals/select-records', ['views/modal', 'search-manager'], fu this.massRelateEnabled = this.options.massRelateEnabled; - this.buttons = [ + this.buttonList = [ { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ]; if (this.multiple) { - this.buttons.unshift({ + this.buttonList.unshift({ name: 'select', style: 'primary', label: 'Select', diff --git a/frontend/client/src/views/user/modals/access.js b/frontend/client/src/views/user/modals/access.js index f9caed0188..70ca1eb6c8 100644 --- a/frontend/client/src/views/user/modals/access.js +++ b/frontend/client/src/views/user/modals/access.js @@ -26,7 +26,7 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -Espo.define('Views.User.Modals.Access', 'Views.Modal', function (Dep) { +Espo.define('views/user/modals/access', 'views/modal', function (Dep) { return Dep.extend({ @@ -47,13 +47,10 @@ Espo.define('Views.User.Modals.Access', 'Views.Modal', function (Dep) { }, setup: function () { - this.buttons = [ + this.buttonList = [ { name: 'cancel', - label: 'Cancel', - onClick: function (dialog) { - dialog.close(); - } + label: 'Cancel' } ];