Added Entity and Entity Reference Revisions which got dropped somewhere along the...
[yaffs-website] / web / core / modules / toolbar / js / views / MenuVisualView.es6.js
1 /**
2  * @file
3  * A Backbone view for the collapsible menus.
4  */
5
6 (function($, Backbone, Drupal) {
7   Drupal.toolbar.MenuVisualView = Backbone.View.extend(
8     /** @lends Drupal.toolbar.MenuVisualView# */ {
9       /**
10        * Backbone View for collapsible menus.
11        *
12        * @constructs
13        *
14        * @augments Backbone.View
15        */
16       initialize() {
17         this.listenTo(this.model, 'change:subtrees', this.render);
18       },
19
20       /**
21        * @inheritdoc
22        */
23       render() {
24         const subtrees = this.model.get('subtrees');
25         // Add subtrees.
26         Object.keys(subtrees || {}).forEach(id => {
27           this.$el
28             .find(`#toolbar-link-${id}`)
29             .once('toolbar-subtrees')
30             .after(subtrees[id]);
31         });
32         // Render the main menu as a nested, collapsible accordion.
33         if ('drupalToolbarMenu' in $.fn) {
34           this.$el.children('.toolbar-menu').drupalToolbarMenu();
35         }
36       },
37     },
38   );
39 })(jQuery, Backbone, Drupal);