PHP Classes

File: client/modules/pim/src/views/attribute-group/record/panels/attributes.js

Recommend this page to a friend!
  Classes of alex nov   KennerPIM   client/modules/pim/src/views/attribute-group/record/panels/attributes.js   Download  
File: client/modules/pim/src/views/attribute-group/record/panels/attributes.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: KennerPIM
Product information management application
Author: By
Last change:
Date: 1 year ago
Size: 3,943 bytes
 

Contents

Class file image Download
/* * Pim * Free Extension * Copyright (c) TreoLabs GmbH * Copyright (c) Kenner Soft Service GmbH * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ Espo.define('pim:views/attribute-group/record/panels/attributes', 'views/record/panels/relationship', Dep => Dep.extend({ boolFilterData: { notLocalesAttributes() { return true; } }, getSelectBoolFilterData(boolFilterList) { let data = {}; if (Array.isArray(boolFilterList)) { boolFilterList.forEach(item => { if (this.boolFilterData && typeof this.boolFilterData[item] === 'function') { data[item] = this.boolFilterData[item].call(this); } }); } return data; }, getSelectBoolFilterList() { return this.defs.selectBoolFilterList || null }, setup() { Dep.prototype.setup.call(this); let select = this.actionList.find(item => item.action === (this.defs.selectAction || 'selectRelated')); if (select) { select.data = { link: this.link, scope: this.scope, boolFilterListCallback: 'getSelectBoolFilterList', boolFilterDataCallback: 'getSelectBoolFilterData', primaryFilterName: this.defs.selectPrimaryFilterName || null }; } }, actionRemoveRelated: function (data) { data = data || {}; var id = data.id; if (!id) return; var model = this.collection.get(id); if (!this.getAcl().checkModel(model, 'delete')) { this.notify('Access denied', 'error'); return false; } Espo.TreoUi.confirmWithBody('', { confirmText: this.translate('Remove'), cancelText: this.translate('Cancel'), body: this.getBodyHtml() }, function () { this.notify('Removing...'); model.destroy({ data: JSON.stringify({force: $('.force-remove').is(':checked')}), success: function () { this.notify('Removed', 'success'); this.collection.fetch(); this.model.trigger('after:unrelate'); }.bind(this), wait: true }); }, this); }, getBodyHtml() { return '' + '<div class="row">' + '<div class="col-xs-12">' + '<span class="confirm-message">' + this.translate('removeRecordConfirmation', 'messages') + '</span>' + '</div>' + '<div class="col-xs-12">' + '<div class="cell pull-left" style="margin-top: 15px;">' + '<input type="checkbox" class="force-remove"> ' + '<label class="control-label">' + this.translate('removeExplain', 'labels', 'Attribute') + '</label>' + '</div>' + '</div>' + '</div>'; } }) );