Mercurial > hg > isophonics-drupal-site
annotate core/modules/toolbar/js/views/MenuVisualView.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 collapsible menus. |
Chris@0 | 4 */ |
Chris@0 | 5 |
Chris@17 | 6 (function($, Backbone, Drupal) { |
Chris@17 | 7 Drupal.toolbar.MenuVisualView = Backbone.View.extend( |
Chris@17 | 8 /** @lends Drupal.toolbar.MenuVisualView# */ { |
Chris@17 | 9 /** |
Chris@17 | 10 * Backbone View for collapsible menus. |
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:subtrees', this.render); |
Chris@17 | 18 }, |
Chris@0 | 19 |
Chris@17 | 20 /** |
Chris@17 | 21 * @inheritdoc |
Chris@17 | 22 */ |
Chris@17 | 23 render() { |
Chris@17 | 24 const subtrees = this.model.get('subtrees'); |
Chris@17 | 25 // Add subtrees. |
Chris@17 | 26 Object.keys(subtrees || {}).forEach(id => { |
Chris@17 | 27 this.$el |
Chris@17 | 28 .find(`#toolbar-link-${id}`) |
Chris@17 | 29 .once('toolbar-subtrees') |
Chris@17 | 30 .after(subtrees[id]); |
Chris@17 | 31 }); |
Chris@17 | 32 // Render the main menu as a nested, collapsible accordion. |
Chris@17 | 33 if ('drupalToolbarMenu' in $.fn) { |
Chris@17 | 34 this.$el.children('.toolbar-menu').drupalToolbarMenu(); |
Chris@17 | 35 } |
Chris@17 | 36 }, |
Chris@0 | 37 }, |
Chris@17 | 38 ); |
Chris@17 | 39 })(jQuery, Backbone, Drupal); |