Mercurial > hg > isophonics-drupal-site
view core/modules/contextual/js/toolbar/models/StateModel.js @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 4c8ae668cc8c |
children |
line wrap: on
line source
/** * DO NOT EDIT THIS FILE. * See the following change record for more information, * https://www.drupal.org/node/2815083 * @preserve **/ (function (Drupal, Backbone) { Drupal.contextualToolbar.StateModel = Backbone.Model.extend({ defaults: { isViewing: true, isVisible: false, contextualCount: 0, tabbingContext: null }, initialize: function initialize(attrs, options) { this.listenTo(options.contextualCollection, 'reset remove add', this.countContextualLinks); this.listenTo(options.contextualCollection, 'add', this.lockNewContextualLinks); this.listenTo(this, 'change:contextualCount', this.updateVisibility); this.listenTo(this, 'change:isViewing', function (model, isViewing) { options.contextualCollection.each(function (contextualModel) { contextualModel.set('isLocked', !isViewing); }); }); }, countContextualLinks: function countContextualLinks(contextualModel, contextualCollection) { this.set('contextualCount', contextualCollection.length); }, lockNewContextualLinks: function lockNewContextualLinks(contextualModel, contextualCollection) { if (!this.get('isViewing')) { contextualModel.set('isLocked', true); } }, updateVisibility: function updateVisibility() { this.set('isVisible', this.get('contextualCount') > 0); } }); })(Drupal, Backbone);