PageSourceSearch

https://www.svevia.se/webapp-resource/4.1d72316317468c2e6bb9e3a/36…/1693381246359/webapp-assets.js

js svevia.se collected 2026-10-03 21:46:54 UTC 3,889 bytes, 110 lines download raw bytes

1AppRegistry.registerBundle({applicationId:'menu|0.5',bundle: {}});
2AppRegistry.registerModule({applicationId:'menu|0.5',path:'/module/client/updateMenu',module:function(define){'use strict';define(function (require) {
3  'use strict';
4
5  var $ = require('jquery'),
6      router = require('router'),
7      requester = require('requester');
8
9  $(".sve-sub-menu__toggle, .sve-mobile-menu__toggle").on("click", function (e) {
10    var button = $(e.currentTarget);
11    button.attr('aria-expanded', $(this).attr('aria-expanded') == "false" ? true : false);
12  });
13  return {
14    fetchNewItems: function fetchNewItems(e, className) {
15      var target = $(e.currentTarget),
16          id = target.data("id"),
17          parent = target.parents('.' + className + '__item').first(),
18          openClass = className + "__toggle--open",
19          activeClass = className + "__item--active",
20          openClassSelector = "." + className + "__toggle--open";
21      var targetText = $(e.currentTarget).prev().text();
22
23      if (target.hasClass(openClass)) {
24        parent.find("ul").hide();
25        target.removeClass(openClass);
26        parent.find(openClassSelector).parent().find("ul").hide();
27        parent.find(openClassSelector).removeClass(openClass);
28        parent.removeClass(activeClass);
29        target.attr("aria-label", "Öppna menystruktur för " + targetText);
30        return false;
31      } else {
32        if (parent.data("load") === true) {
33          parent.find("ul").first().show();
34          target.addClass(openClass);
35          parent.addClass(activeClass);
36          target.attr("aria-label", "Stäng menystruktur för " + targetText);
37        } else {
38          requester.doPut({
39            url: router.getUrl('/update-menu'),
40            data: {
41              id: id
42            }
43          }).done(function (response) {
44            if (response) {
45              parent.append(response.startMenu);
46              parent.data("load", true);
47              target.addClass(openClass);
48              parent.addClass(activeClass);
49              target.attr("aria-label", "Stäng menystruktur för " + targetText);
50            }
51          });
52        }
53
54        return false;
55      }
56    }
57  };
58});}});
59AppRegistry.registerModule({applicationId:'menu|0.5',path:'/template/main',module:function(define){define(function(require){var _=require('underscore');return function(obj){
60var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};
61with(obj||{}){
62__p+='\r\n';
63 if (menuType === 'submenu') { 
64__p+=' \r\n    <nav class="sve-sub-menu" id="'+
65((__t=( menuID ))==null?'':__t)+
66'">\r\n        '+
67((__t=( renderStartNode ))==null?'':__t)+
68'\r\n        '+
69((__t=( startMenu ))==null?'':__t)+
70'\r\n    </nav>\r\n';
71 } else { 
72__p+=' \r\n    <nav class="sve-mobile-menu" id="'+
73((__t=( menuID ))==null?'':__t)+
74'">\r\n        '+
75((__t=( startMenu ))==null?'':__t)+
76'\r\n    </nav>\r\n';
77 } 
78__p+='';
79}
80return __p;
81};});}});
82AppRegistry.registerModule({applicationId:'menu|0.5',path:'/main',module:function(define){'use strict';define(function (require) {
83  'use strict';
84
85  var _ = require('underscore'),
86      Component = require('Component'),
87      template = require('/template/main'),
88      updateMenu = require('/module/client/updateMenu');
89
90  return Component.extend({
91    template: template,
92    events: {
93      dom: {
94        'click button.sve-sub-menu__toggle': 'handleUpdateSubMenu',
95        'click button.sve-mobile-menu__toggle': 'handleUpdateMobileMenu'
96      }
97    },
98    handleUpdateMobileMenu: function handleUpdateMobileMenu(e) {
99      updateMenu.fetchNewItems(e, 'sve-mobile-menu');
100    },
101    handleUpdateSubMenu: function handleUpdateSubMenu(e) {
102      updateMenu.fetchNewItems(e, 'sve-sub-menu');
103    },
104    filterState: function filterState(state) {
105      return _.extend({}, {
106        startMenu: state.startMenu
107      });
108    }
109  });
110});}});

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.