Mercurial > hg > isophonics-drupal-site
annotate core/modules/toolbar/js/views/MenuVisualView.es6.js @ 9:1fc0ff908d1f
Add another data file
author | Chris Cannam |
---|---|
date | Mon, 05 Feb 2018 12:34:32 +0000 |
parents | 4c8ae668cc8c |
children | 1fec387a4317 |
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@0 | 6 (function ($, Backbone, Drupal) { |
Chris@0 | 7 Drupal.toolbar.MenuVisualView = Backbone.View.extend(/** @lends Drupal.toolbar.MenuVisualView# */{ |
Chris@0 | 8 |
Chris@0 | 9 /** |
Chris@0 | 10 * Backbone View for collapsible menus. |
Chris@0 | 11 * |
Chris@0 | 12 * @constructs |
Chris@0 | 13 * |
Chris@0 | 14 * @augments Backbone.View |
Chris@0 | 15 */ |
Chris@0 | 16 initialize() { |
Chris@0 | 17 this.listenTo(this.model, 'change:subtrees', this.render); |
Chris@0 | 18 }, |
Chris@0 | 19 |
Chris@0 | 20 /** |
Chris@0 | 21 * @inheritdoc |
Chris@0 | 22 */ |
Chris@0 | 23 render() { |
Chris@0 | 24 const subtrees = this.model.get('subtrees'); |
Chris@0 | 25 // Add subtrees. |
Chris@0 | 26 for (const id in subtrees) { |
Chris@0 | 27 if (subtrees.hasOwnProperty(id)) { |
Chris@0 | 28 this.$el |
Chris@0 | 29 .find(`#toolbar-link-${id}`) |
Chris@0 | 30 .once('toolbar-subtrees') |
Chris@0 | 31 .after(subtrees[id]); |
Chris@0 | 32 } |
Chris@0 | 33 } |
Chris@0 | 34 // Render the main menu as a nested, collapsible accordion. |
Chris@0 | 35 if ('drupalToolbarMenu' in $.fn) { |
Chris@0 | 36 this.$el |
Chris@0 | 37 .children('.toolbar-menu') |
Chris@0 | 38 .drupalToolbarMenu(); |
Chris@0 | 39 } |
Chris@0 | 40 }, |
Chris@0 | 41 }); |
Chris@0 | 42 }(jQuery, Backbone, Drupal)); |