PHP Classes

File: client/modules/pim/src/views/dashlets/channels.js

Recommend this page to a friend!
  Classes of alex nov   KennerPIM   client/modules/pim/src/views/dashlets/channels.js   Download  
File: client/modules/pim/src/views/dashlets/channels.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: 4,432 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/dashlets/channels', 'views/dashlets/abstract/base', Dep => Dep.extend({ _template: '<div class="list-container">{{{list}}}</div>', collectionUrl: 'Dashlet/Channels', actionRefresh: function () { this.collection.fetch(); }, afterRender: function () { this.getCollectionFactory().create('ChannelsDashlet', function (collection) { this.collection = collection; collection.url = this.collectionUrl; collection.maxSize = this.getOption('displayRecords'); collection.model = collection.model.extend({ defs: { fields: { name: { linkEntity: 'Channel' } } } }); this.listenToOnce(collection, 'sync', function () { this.createView('list', 'views/record/list', { el: this.getSelector() + ' > .list-container', collection: collection, rowActionsDisabled: true, checkboxes: false, listLayout: [ { name: 'name', link: true, notSortable: true, width: '52', view: 'pim:views/dashlets/fields/list-link-extended' }, { name: 'products', notSortable: true, width: '16' }, { name: 'active', notSortable: true, width: '16' }, { name: 'notActive', notSortable: true, width: '16' } ] }, view => { view.listenTo(view, 'after:render', () => { let products = 0; let active = 0; let notActive = 0; collection.each(model => { products += model.get('products'); active += model.get('active'); notActive += model.get('notActive'); }); view.$el.find('table.table tbody').append( `<tr data-id="total" class="list-row"> <td class="cell" data-name="name" width="52%"><b>${this.translate('Total', 'labels', 'Global')}</b></td> <td class="cell" data-name="products" width="16%"><b>${products}</b></td> <td class="cell" data-name="active" width="16%"><b>${active}</b></td> <td class="cell" data-name="notActive" width="16%"><b>${notActive}</b></td> </tr>'` ); }); view.render(); }); }.bind(this)); collection.fetch(); }, this); }, }) );