PageSourceSearch

https://www.uddevalla.se/webapp-resource/4.763fd37154177dd1bf3d778…/1637088800775/webapp-assets.js

js uddevalla.se collected 2026-10-03 18:18:37 UTC 4,567 bytes, 119 lines download raw bytes

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

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.