PHP Classes

File: client/modules/pim/src/views/product-attribute-value/record/list-in-product.js

Recommend this page to a friend!
  Classes of alex nov   KennerPIM   client/modules/pim/src/views/product-attribute-value/record/list-in-product.js   Download  
File: client/modules/pim/src/views/product-attribute-value/record/list-in-product.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: 2,734 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/product-attribute-value/record/list-in-product', 'views/record/list', Dep => Dep.extend({ pipelines: { actionShowRevisionAttribute: ['clientDefs', 'ProductAttributeValue', 'actionShowRevisionAttribute'] }, hiddenInEditColumns: ['isRequired'], setup() { Dep.prototype.setup.call(this); this.listenTo(this, 'after:save', model => { let panelView = this.getParentView(); if (panelView && panelView.model) { panelView.model.trigger('after:attributesSave'); } }); this.runPipeline('actionShowRevisionAttribute'); }, afterRender() { Dep.prototype.afterRender.call(this); if (this.mode === 'edit') { this.setEditMode(); } }, prepareInternalLayout(internalLayout, model) { Dep.prototype.prepareInternalLayout.call(this, internalLayout, model); internalLayout.forEach(item => item.options.mode = this.options.mode || item.options.mode); }, setListMode() { this.mode = 'list'; this.updateModeInFields(this.mode); }, setEditMode() { this.mode = 'edit'; this.updateModeInFields(this.mode); }, updateModeInFields(mode) { Object.keys(this.nestedViews).forEach(row => { let rowView = this.nestedViews[row]; if (rowView) { let fieldView = rowView.getView('valueField'); if (fieldView && fieldView.model && !fieldView.model.getFieldParam(fieldView.name, 'readOnly') && typeof fieldView.setMode === 'function') { fieldView.setMode(mode); fieldView.reRender(); } } }); } }) );