Chris@0: /** Chris@0: * DO NOT EDIT THIS FILE. Chris@0: * See the following change record for more information, Chris@0: * https://www.drupal.org/node/2815083 Chris@0: * @preserve Chris@0: **/ Chris@0: Chris@0: (function (Drupal, Backbone, Modernizr) { Chris@0: Drupal.contextual.VisualView = Backbone.View.extend({ Chris@0: events: function events() { Chris@0: var touchEndToClick = function touchEndToClick(event) { Chris@0: event.preventDefault(); Chris@0: event.target.click(); Chris@0: }; Chris@0: var mapping = { Chris@0: 'click .trigger': function clickTrigger() { Chris@0: this.model.toggleOpen(); Chris@0: }, Chris@0: 'touchend .trigger': touchEndToClick, Chris@0: 'click .contextual-links a': function clickContextualLinksA() { Chris@0: this.model.close().blur(); Chris@0: }, Chris@0: 'touchend .contextual-links a': touchEndToClick Chris@0: }; Chris@0: Chris@0: if (!Modernizr.touchevents) { Chris@0: mapping.mouseenter = function () { Chris@0: this.model.focus(); Chris@0: }; Chris@0: } Chris@0: return mapping; Chris@0: }, Chris@0: initialize: function initialize() { Chris@0: this.listenTo(this.model, 'change', this.render); Chris@0: }, Chris@0: render: function render() { Chris@0: var isOpen = this.model.get('isOpen'); Chris@0: Chris@0: var isVisible = this.model.get('isLocked') || this.model.get('regionIsHovered') || isOpen; Chris@0: Chris@0: this.$el.toggleClass('open', isOpen).find('.trigger').toggleClass('visually-hidden', !isVisible); Chris@0: Chris@0: if ('isOpen' in this.model.changed) { Chris@0: this.$el.closest('.contextual-region').find('.contextual .trigger:not(:first)').toggle(!isOpen); Chris@0: } Chris@0: Chris@0: return this; Chris@0: } Chris@0: }); Chris@0: })(Drupal, Backbone, Modernizr);