annotate core/modules/contextual/js/models/StateModel.js @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 4c8ae668cc8c
children
rev   line source
Chris@0 1 /**
Chris@0 2 * DO NOT EDIT THIS FILE.
Chris@0 3 * See the following change record for more information,
Chris@0 4 * https://www.drupal.org/node/2815083
Chris@0 5 * @preserve
Chris@0 6 **/
Chris@0 7
Chris@0 8 (function (Drupal, Backbone) {
Chris@0 9 Drupal.contextual.StateModel = Backbone.Model.extend({
Chris@0 10 defaults: {
Chris@0 11 title: '',
Chris@0 12
Chris@0 13 regionIsHovered: false,
Chris@0 14
Chris@0 15 hasFocus: false,
Chris@0 16
Chris@0 17 isOpen: false,
Chris@0 18
Chris@0 19 isLocked: false
Chris@0 20 },
Chris@0 21
Chris@0 22 toggleOpen: function toggleOpen() {
Chris@0 23 var newIsOpen = !this.get('isOpen');
Chris@0 24 this.set('isOpen', newIsOpen);
Chris@0 25 if (newIsOpen) {
Chris@0 26 this.focus();
Chris@0 27 }
Chris@0 28 return this;
Chris@0 29 },
Chris@0 30 close: function close() {
Chris@0 31 this.set('isOpen', false);
Chris@0 32 return this;
Chris@0 33 },
Chris@0 34 focus: function focus() {
Chris@0 35 this.set('hasFocus', true);
Chris@0 36 var cid = this.cid;
Chris@0 37 this.collection.each(function (model) {
Chris@0 38 if (model.cid !== cid) {
Chris@0 39 model.close().blur();
Chris@0 40 }
Chris@0 41 });
Chris@0 42 return this;
Chris@0 43 },
Chris@0 44 blur: function blur() {
Chris@0 45 if (!this.get('isOpen')) {
Chris@0 46 this.set('hasFocus', false);
Chris@0 47 }
Chris@0 48 return this;
Chris@0 49 }
Chris@0 50 });
Chris@0 51 })(Drupal, Backbone);