PageSourceSearch

https://ragunda.se/webapp-resource/2.75ddc5ef1846027d0e8890/360.75…/1648728269792/webapp-assets.js

js ragunda.se collected 2026-10-02 16:45:32 UTC 22,287 bytes, 531 lines download raw bytes

1AppRegistry.registerBundle({applicationId:'limepark.submenu|1.23.3',bundle: {"en":{"navLabelText":"Submenu","backLinkFormat":"Back to {0}","toggleButtonText":"Submenu for: {0}"},"sv":{"navLabelText":"Undermeny","backLinkFormat":"Tillbaka till {0}","toggleButtonText":"Undermeny för: {0}"}}});
2AppRegistry.registerModule({applicationId:'limepark.submenu|1.23.3',path:'/template/menu-items',module:function(define){define(function(require){var _=require('underscore');return function(obj){
3var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
4with(obj||{}){
5__p+='';
6 items.forEach(function (item) { 
7__p+='\n  <li class="'+
8((__t=( itemClasses(item) ))==null?'':_.escape(__t))+
9'" data-has-children="'+
10((__t=( item.hasChildren ))==null?'':_.escape(__t))+
11'" data-node-id="'+
12((__t=( item.nodeId ))==null?'':_.escape(__t))+
13'" data-level="'+
14((__t=( item.level ))==null?'':_.escape(__t))+
15'">\n    <a href="'+
16((__t=( item.url ))==null?'':_.escape(__t))+
17'" class="'+
18((__t=( linkClasses(item) ))==null?'':_.escape(__t))+
19'" '+
20((__t=( item.current ? 'aria-current="page"' : '' ))==null?'':__t)+
21' '+
22((__t=( item.ariaLabel  ? 'aria-label="' + item.ariaLabel + '"' : '' ))==null?'':__t)+
23' '+
24((__t=( langAttrs(item) ))==null?'':__t)+
25' data-name="'+
26((__t=( item.name ))==null?'':_.escape(__t))+
27'">\n      '+
28((__t=( item.linkText ))==null?'':__t)+
29'\n      ';
30 if (useChildrenIcons && item.hasChildren) { 
31__p+='\n        '+
32((__t=( createIcon(childrenIcons.open, 'open') ))==null?'':__t)+
33'\n        '+
34((__t=( createIcon(childrenIcons.closed, 'closed') ))==null?'':__t)+
35'\n      ';
36 } 
37__p+='\n    </a><!--! .lp-app-submenu__menu-item__link -->\n    ';
38 if (item.hasChildren && item.children.length > 0) { 
39__p+='\n      '+
40((__t=( renderer.renderComponent('MenuItems', { items: item.children, level: item.level + 1 }) ))==null?'':__t)+
41'\n    ';
42 } 
43__p+='\n  </li><!-- .lp-app-submenu__menu-item -->\n';
44 }) 
45__p+='\n';
46}
47return __p;
48};});}});
49AppRegistry.registerModule({applicationId:'limepark.submenu|1.23.3',path:'/template/main',module:function(define){define(function(require){var _=require('underscore');return function(obj){
50var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
51with(obj||{}){
52__p+='';
53 if (backLink) { 
54__p+='\n  <a class="lp-app-submenu__back-link" href="'+
55((__t=( backLink.url ))==null?'':__t)+
56'" '+
57((__t=( backLink.hreflangAttr ))==null?'':__t)+
58'>'+
59((__t=( backLink.text ))==null?'':__t)+
60'</a><!--! .lp-app-submenu__back-link -->\n';
61 } 
62__p+='\n'+
63((__t=( renderer.renderComponent('MenuItems', { items: items, level: 1 }) ))==null?'':__t)+
64'\n';
65}
66return __p;
67};});}});
68AppRegistry.registerModule({applicationId:'limepark.submenu|1.23.3',path:'/module/common/ToggleButton',module:function(define){'use strict';function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
69
70function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
71
72function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
73
74define(function (require) {
75  var $ = require('jquery');
76
77  var TOGGLER_CSS_CLASS = 'lp-app-submenu__menu-item__toggler';
78  var APP_ICON_CSS_CLASS = 'lp-app-submenu__icon';
79  var ICON_CSS_CLASS = 'lp-app-submenu__toggler-icon';
80  var DEFAULT_OPTS = {
81    icons: {
82      open: '/sitevision/envision-icons.svg#icon-plus',
83      close: '/sitevision/envision-icons.svg#icon-minus'
84    },
85    level: ''
86  };
87
88  var iconMarkup = function iconMarkup(url, modifierKeyword) {
89    url = (url || '').toLowerCase();
90
91    if (url.indexOf('.svg') > -1) {
92      return "<svg class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, "--").concat(modifierKeyword, " ").concat(ICON_CSS_CLASS, "--type-svg\" aria-hidden=\"true\"><use xlink:href=\"").concat(url, "\"></use></svg>");
93    } else if (url.indexOf('.jpg') > -1 || url.indexOf('.png') > -1) {
94      return "<img class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, " ").concat(ICON_CSS_CLASS, "--").concat(modifierKeyword, " ").concat(ICON_CSS_CLASS, "--type-img\" src=\"").concat(url, "\" alt=\"\" />");
95    }
96
97    return '';
98  };
99
100  return function (nodeId) {
101    var _opts$icons, _opts$icons2;
102
103    var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
104    var text = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
105    var opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
106    opts = _objectSpread(_objectSpread({}, DEFAULT_OPTS), opts);
107    var classes = [TOGGLER_CSS_CLASS];
108
109    if (opts.level) {
110      classes.push("".concat(TOGGLER_CSS_CLASS, "--level-").concat(opts.level));
111    }
112
113    var buttonOpts = {
114      'class': classes.join(' '),
115      'data-node-id': nodeId,
116      'data-level': opts.level,
117      'aria-expanded': 'false',
118      'type': 'button',
119      'html': [iconMarkup((_opts$icons = opts.icons) === null || _opts$icons === void 0 ? void 0 : _opts$icons.open, 'open'), iconMarkup((_opts$icons2 = opts.icons) === null || _opts$icons2 === void 0 ? void 0 : _opts$icons2.close, 'close'), $('<span>', {
120        'class': 'lp-app-submenu__visually-hidden',
121        'text': text
122      })]
123    };
124
125    if (target) {
126      buttonOpts['aria-controls'] = target;
127    }
128
129    return $('<button>', buttonOpts);
130  };
131});}});
132AppRegistry.registerModule({applicationId:'limepark.submenu|1.23.3',path:'/component/MenuItems',module:function(define){'use strict';function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
133
134function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
135
136function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
137
138define(function (require) {
139  'use strict';
140
141  var Component = require('Component');
142
143  var requester = require('requester');
144
145  var router = require('router');
146
147  var template = require('/template/menu-items');
148
149  var $ = require('jquery');
150
151  var ToggleButton = require('/module/common/ToggleButton');
152
153  var _require = require("/module/common/@limepark/uuidv4_2.0.0/index"),
154      htmlId = _require.getHtmlId;
155
156  var AJAX_LOADER_DELAY = 300;
157  var AJAX_LOADER_TIMERS = {};
158  var AJAX_LOADER_REFS = {};
159  var SUBMENU_CSS_CLASS = 'lp-app-submenu__menu';
160  var ITEM_CSS_CLASS = 'lp-app-submenu__menu-item';
161  var LINK_CSS_CLASS = 'lp-app-submenu__menu-item__link';
162  var APP_ICON_CSS_CLASS = 'lp-app-submenu__icon';
163  var TOGGLER_LOADING_CSS_CLASS = 'lp-app-submenu__menu-item__toggler--is-loading';
164  var EVENT_NAMESPACE = 'lp-app-submenu';
165  var MenuItems = Component.extend({
166    template: template,
167    tagName: 'ul',
168    className: function className() {
169      var classes = [SUBMENU_CSS_CLASS, "".concat(SUBMENU_CSS_CLASS, "--level-").concat(this.state.level)];
170      return classes.join(' ');
171    },
172    attributes: function attributes() {
173      return {
174        id: htmlId(),
175        'data-level': this.state.level
176      };
177    },
178    events: {
179      dom: {
180        'click > li > button[data-node-id]': 'handleToggleClick'
181      }
182    },
183    onRendered: function onRendered() {
184      this._prefersReducedMotion = matchMedia('(prefers-reduced-motion)');
185
186      if (this.state.useSubmenuToggles) {
187        this.setupToggleMarkup();
188      }
189    },
190    getSlideDurations: function getSlideDurations() {
191      // If media query matches, the user prefers reduced motions.
192      // Use 1 ms for the slide duration.
193      var durations = {
194        open: 1,
195        close: 1
196      };
197
198      if (!this._prefersReducedMotion.matches) {
199        durations.open = this.state.slideDuration;
200        durations.close = this.state.slideDurationClose;
201      }
202
203      return durations;
204    },
205    findOr: function findOr(element, findSelector) {
206      var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
207      var $element = element instanceof $ ? element : $(element);
208      var $findEl = $element.find(findSelector);
209
210      if ($findEl.length > 0) {
211        return $findEl;
212      }
213
214      return defaultValue;
215    },
216
217    /**
218     * Gets or creates and return a sub list for the list item.
219     * 
220     * @param {(HTMLElement|jQuery)} listItem 
221     */
222    ensureSubList: function ensureSubList(listItem) {
223      var $listItem = listItem instanceof $ ? listItem : $(listItem);
224      var $subList = $listItem.find('> ul');
225
226      if ($subList.length === 0) {
227        var level = parseInt(this.state.level || 1) + 1;
228        var subListId = htmlId();
229        $subList = $('<ul>', {
230          'id': subListId,
231          'class': "".concat(SUBMENU_CSS_CLASS, " ").concat(SUBMENU_CSS_CLASS, "--level-").concat(level),
232          'data-level': level,
233          'aria-hidden': 'true'
234        }).hide().appendTo($listItem);
235        var $toggler = $subList.prev('button');
236
237        if ($toggler.length > 0) {
238          $toggler.attr('aria-controls', subListId);
239        }
240      } else {
241        // sub list already exist so it's in the current active tree.
242        $subList.attr('aria-hidden', 'false');
243      }
244
245      return $subList;
246    },
247    setupToggleMarkup: function setupToggleMarkup() {
248      var _this = this;
249
250      this.$el.find('> [data-has-children="true"]').each(function (i, listItem) {
251        return _this.setupToggleMarkupForListItem(listItem);
252      });
253    },
254    setupToggleMarkupForListItem: function setupToggleMarkupForListItem(listItem) {
255      var $listItem = listItem instanceof $ ? listItem : $(listItem);
256      var $itemLink = $listItem.find('> a');
257      var $subList = this.findOr($listItem, '> ul', null);
258      var nodeId = $listItem.data('nodeId');
259      var level = $listItem.data('level');
260      var subListId = $subList ? $subList.attr('id') : null;
261      var opts = {
262        icons: this.state.togglerIcons,
263        level: parseInt(level)
264      };
265      var $button = ToggleButton(nodeId, subListId, this.state.texts.toggleButtonText.replace('{0}', $itemLink.data('name')), opts);
266
267      if ($subList) {
268        $button.attr('aria-expanded', 'true');
269        $subList.attr('aria-hidden', 'false');
270      }
271
272      $button.insertAfter($itemLink);
273    },
274    addLoader: function addLoader($button) {
275      var _this2 = this;
276
277      var nodeId = $button.data('nodeId');
278      this.removeLoader($button);
279      AJAX_LOADER_TIMERS[nodeId] = setTimeout(function () {
280        AJAX_LOADER_REFS[nodeId] = $(_this2.state.spinner);
281        $button.append(AJAX_LOADER_REFS[nodeId]).addClass(TOGGLER_LOADING_CSS_CLASS);
282      }, AJAX_LOADER_DELAY);
283    },
284    removeLoader: function removeLoader($button) {
285      var nodeId = $button.data('nodeId');
286      $button.removeClass(TOGGLER_LOADING_CSS_CLASS);
287
288      if (AJAX_LOADER_TIMERS[nodeId]) {
289        clearTimeout(AJAX_LOADER_TIMERS[nodeId]);
290      }
291
292      if (AJAX_LOADER_REFS[nodeId]) {
293        AJAX_LOADER_REFS[nodeId].remove();
294        AJAX_LOADER_REFS[nodeId] = null;
295      }
296    },
297    queueToggle: function queueToggle($button, $target, callback) {
298      var _this3 = this;
299
300      if ($target.is(':empty')) {
301        var nodeId = $button.data('nodeId');
302        var currentLevel = $button.data('level');
303        this.addLoader($button);
304        requester.doGet({
305          url: router.getStandaloneUrl("/children/".concat(nodeId)),
306          data: {
307            currentLevel: currentLevel
308          },
309          context: this
310        }).done(function (items) {
311          var menuItems = new MenuItems(_objectSpread(_objectSpread({}, _this3.state), {}, {
312            items: items,
313            level: parseInt($target.data('level') || 0),
314            useChildrenIcons: false
315          }));
316          var renderedElement = menuItems.render().$el;
317          renderedElement.attr({
318            id: $target.attr('id'),
319            'aria-hidden': true
320          }).hide();
321          $target.replaceWith(renderedElement);
322          callback($button, renderedElement);
323        }).fail(function (jqXHR, textStatus, errorThrown) {
324          $target.trigger("failed-fetch-children.".concat(EVENT_NAMESPACE), [$button, $target, nodeId, textStatus, errorThrown]);
325        }).always(function () {
326          _this3.removeLoader($button);
327        });
328      } else {
329        callback($button, $target);
330      }
331    },
332    handleToggleClick: function handleToggleClick(event) {
333      var _this4 = this;
334
335      var $originalButton = $(event.currentTarget);
336      var $buttonControls = this.$('#' + $originalButton.attr('aria-controls'));
337      var isOpen = $originalButton.attr('aria-expanded') === 'true';
338      var $originalTarget = $buttonControls.length > 0 ? $buttonControls : this.ensureSubList($originalButton.closest('li'));
339      this.queueToggle($originalButton, $originalTarget, function ($button, $target) {
340        // Switch states
341        $button.attr('aria-expanded', isOpen ? 'false' : 'true');
342        $target.attr('aria-hidden', isOpen ? 'true' : 'false');
343        $target.closest('li').toggleClass("".concat(ITEM_CSS_CLASS, "--is-open"), !isOpen);
344        $target.stop()[isOpen ? 'slideUp' : 'slideDown'](_this4.getSlideDurations()[isOpen ? 'close' : 'open'], function () {
345          $target.trigger("toggle.".concat(EVENT_NAMESPACE), [$button, $target, !isOpen]);
346        });
347      });
348    },
349    templateFunctions: function templateFunctions() {
350      var _this$state$currentLa = this.state.currentLang,
351          currentLang = _this$state$currentLa === void 0 ? '' : _this$state$currentLa;
352      return {
353        htmlId: htmlId,
354        itemClasses: function itemClasses(item) {
355          var classes = [ITEM_CSS_CLASS, "".concat(ITEM_CSS_CLASS, "--level-").concat(item.level)];
356
357          if (item.active) {
358            classes.push("".concat(ITEM_CSS_CLASS, "--is-active"));
359            classes.push("".concat(ITEM_CSS_CLASS, "--is-open"));
360          }
361
362          if (item.current) {
363            classes.push("".concat(ITEM_CSS_CLASS, "--is-current"));
364          }
365
366          if (item.hasChildren) {
367            classes.push("".concat(ITEM_CSS_CLASS, "--has-children"));
368          }
369
370          return classes.join(' ');
371        },
372        linkClasses: function linkClasses(item) {
373          var classes = [LINK_CSS_CLASS, "".concat(LINK_CSS_CLASS, "--level-").concat(item.level)];
374
375          if (item.active) {
376            classes.push("".concat(LINK_CSS_CLASS, "--is-active"));
377          }
378
379          if (item.current) {
380            classes.push("".concat(LINK_CSS_CLASS, "--is-current"));
381          }
382
383          return classes.join(' ');
384        },
385        langAttrs: function langAttrs(item) {
386          if (currentLang !== item.lang) {
387            return " lang=\"".concat(item.lang, "\" hreflang=\"").concat(item.lang, "\" ");
388          }
389
390          return '';
391        },
392        createIcon: function createIcon(url) {
393          var modifierKeyword = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
394          url = (url || '').toLowerCase();
395          var modifierClass = modifierKeyword ? "".concat(APP_ICON_CSS_CLASS, "--").concat(modifierKeyword) : '';
396
397          if (url.indexOf('.svg') > -1) {
398            return "<svg class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(APP_ICON_CSS_CLASS, "--children-icon ").concat(modifierClass, " ").concat(APP_ICON_CSS_CLASS, "--type-svg\" aria-hidden=\"true\"><use xlink:href=\"").concat(url, "\"></use></svg>");
399          } else if (url.indexOf('.jpg') > -1 || url.indexOf('.png') > -1) {
400            return "<img class=\"".concat(APP_ICON_CSS_CLASS, " ").concat(APP_ICON_CSS_CLASS, "--children-icon ").concat(modifierClass, " ").concat(APP_ICON_CSS_CLASS, "--type-img\" src=\"").concat(url, "\" alt=\"\" />");
401          }
402
403          return '';
404        }
405      };
406    },
407    filterState: function filterState(state) {
408      var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
409      return _objectSpread(_objectSpread({}, state), opts);
410    }
411  });
412  return MenuItems;
413});}});
414AppRegistry.registerModule({applicationId:'limepark.submenu|1.23.3',path:'/module/common/@limepark/uuidv4_2.0.0/index',module:function(define){'use strict';define(function(require) {
415      var exports = {};
416      var module = {
417        exports: exports
418      };
419
420      /**
421 * @file Generate UUID's.
422 * @module common/UUIDv4
423 */
424var DEFAULT_HTML_ID_PREFIX = 'lpid-';
425/**
426 * Gets a type 4 UUID.
427 * 
428 * @returns {string} Static factory to retrieve a type 4 (pseudo randomly generated) UUID.
429 * @memberof module:common/UUIDv4
430 */
431
432var getInstance = function getInstance() {
433  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
434    var r = Math.random() * 16 | 0,
435        v = c == 'x' ? r : r & 0x3 | 0x8;
436    return v.toString(16);
437  });
438};
439/**
440 * Gets a randomized html identifier suitable for the id attribute.
441 * 
442 * @param {string} prefix An optional prefix.
443 * @returns {string} Static factory to retrieve a type 4 (pseudo randomly generated) UUID, with a short prefix.
444 * @memberof module:common/UUIDv4
445 */
446
447
448var getHtmlId = function getHtmlId() {
449  var prefix = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DEFAULT_HTML_ID_PREFIX;
450  return (prefix || DEFAULT_HTML_ID_PREFIX) + getInstance();
451};
452
453module.exports = {
454  getInstance: getInstance,
455  getHtmlId: getHtmlId
456};;
457
458      return module.exports;
459    });}});
460AppRegistry.registerModule({applicationId:'limepark.submenu|1.23.3',path:'/main',module:function(define){'use strict';function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
461
462function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
463
464function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
465
466define(function (require) {
467  'use strict';
468
469  var Component = require('Component');
470
471  var template = require('/template/main');
472
473  var uuidv4 = require("/module/common/@limepark/uuidv4_2.0.0/index");
474
475  var EVENT_NAMESPACE = 'lp-app-submenu';
476  var CONTAINER_CSS_CLASS = 'lp-app-submenu';
477  return Component.extend({
478    template: template,
479    tagName: function tagName() {
480      return this.state.useNavElement ? 'nav' : 'div';
481    },
482    className: function className() {
483      var classes = [CONTAINER_CSS_CLASS];
484
485      if (this.state.containerClass) {
486        classes.push(this.state.containerClass);
487      }
488
489      if (!this.state.togglerIcons) {
490        classes.push("".concat(CONTAINER_CSS_CLASS, "--default-toggler-icons"));
491      }
492
493      if (!this.state.useSubmenuToggles) {
494        classes.push("".concat(CONTAINER_CSS_CLASS, "--no-submenu-toggles"));
495      }
496
497      if (this.state.hideSubmenuTogglesOnFirstLevel) {
498        classes.push("".concat(CONTAINER_CSS_CLASS, "--hide-submenu-toggles-on-first-level"));
499      }
500
501      return classes.join(' ');
502    },
503    attributes: function attributes() {
504      var attrs = {};
505
506      if (this.state.useNavElement) {
507        attrs['aria-label'] = this.state.texts.navLabelText;
508        attrs['tabindex'] = -1;
509      }
510
511      attrs.id = this.state.containerId || uuidv4.getHtmlId();
512      return attrs;
513    },
514    onFailedFetchChildren: function onFailedFetchChildren() {
515      location.reload();
516    },
517    onRendered: function onRendered() {
518      this.$el.on("failed-fetch-children.".concat(EVENT_NAMESPACE), this.onFailedFetchChildren);
519      this.$el.trigger("onRendered.".concat(EVENT_NAMESPACE), [this]);
520      this.$el.addClass("".concat(CONTAINER_CSS_CLASS, "--js"));
521
522      if (this.state.useSubmenuToggles) {
523        this.$el.addClass("".concat(CONTAINER_CSS_CLASS, "--use-submenu-toggles"));
524        this.$el.removeClass("".concat(CONTAINER_CSS_CLASS, "--no-submenu-toggles"));
525      }
526    },
527    filterState: function filterState(state) {
528      return _objectSpread({}, state);
529    }
530  });
531});}});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.