/** * @file * A Backbone View that renders the visual view of a contextual region element. */ (function (Drupal, Backbone, Modernizr) { "use strict"; Drupal.contextual.RegionView = Backbone.View.extend(/** @lends Drupal.contextual.RegionView# */{ /** * @return {object} */ events: function () { var mapping = { mouseenter: function () { this.model.set('regionIsHovered', true); }, mouseleave: function () { this.model.close().blur().set('regionIsHovered', false); } }; // We don't want mouse hover events on touch. if (Modernizr.touch) { mapping = {}; } return mapping; }, /** * Renders the visual view of a contextual region element. * * @constructs * * @augments Backbone.View */ initialize: function () { this.listenTo(this.model, 'change:hasFocus', this.render); }, /** * @inheritdoc * * @return {Drupal.contextual.RegionView} */ render: function () { this.$el.toggleClass('focus', this.model.get('hasFocus')); return this; } }); })(Drupal, Backbone, Modernizr);