Mercurial > hg > isophonics-drupal-site
annotate core/modules/toolbar/js/views/BodyVisualView.es6.js @ 19:fa3358dc1485 tip
Add ndrum files
author | Chris Cannam |
---|---|
date | Wed, 28 Aug 2019 13:14:47 +0100 |
parents | 129ea1e6d783 |
children |
rev | line source |
---|---|
Chris@0 | 1 /** |
Chris@0 | 2 * @file |
Chris@0 | 3 * A Backbone view for the body element. |
Chris@0 | 4 */ |
Chris@0 | 5 |
Chris@17 | 6 (function($, Drupal, Backbone) { |
Chris@17 | 7 Drupal.toolbar.BodyVisualView = Backbone.View.extend( |
Chris@17 | 8 /** @lends Drupal.toolbar.BodyVisualView# */ { |
Chris@17 | 9 /** |
Chris@17 | 10 * Adjusts the body element with the toolbar position and dimension changes. |
Chris@17 | 11 * |
Chris@17 | 12 * @constructs |
Chris@17 | 13 * |
Chris@17 | 14 * @augments Backbone.View |
Chris@17 | 15 */ |
Chris@17 | 16 initialize() { |
Chris@17 | 17 this.listenTo(this.model, 'change:activeTray ', this.render); |
Chris@17 | 18 this.listenTo( |
Chris@17 | 19 this.model, |
Chris@17 | 20 'change:isFixed change:isViewportOverflowConstrained', |
Chris@17 | 21 this.isToolbarFixed, |
Chris@17 | 22 ); |
Chris@17 | 23 }, |
Chris@17 | 24 |
Chris@17 | 25 isToolbarFixed() { |
Chris@17 | 26 // When the toolbar is fixed, it will not scroll with page scrolling. |
Chris@17 | 27 const isViewportOverflowConstrained = this.model.get( |
Chris@17 | 28 'isViewportOverflowConstrained', |
Chris@17 | 29 ); |
Chris@17 | 30 $('body').toggleClass( |
Chris@17 | 31 'toolbar-fixed', |
Chris@17 | 32 isViewportOverflowConstrained || this.model.get('isFixed'), |
Chris@17 | 33 ); |
Chris@17 | 34 }, |
Chris@17 | 35 |
Chris@17 | 36 /** |
Chris@17 | 37 * @inheritdoc |
Chris@17 | 38 */ |
Chris@17 | 39 render() { |
Chris@17 | 40 $('body') |
Chris@17 | 41 // Toggle the toolbar-tray-open class on the body element. The class is |
Chris@17 | 42 // applied when a toolbar tray is active. Padding might be applied to |
Chris@17 | 43 // the body element to prevent the tray from overlapping content. |
Chris@17 | 44 .toggleClass('toolbar-tray-open', !!this.model.get('activeTray')); |
Chris@17 | 45 }, |
Chris@0 | 46 }, |
Chris@17 | 47 ); |
Chris@17 | 48 })(jQuery, Drupal, Backbone); |