PageSourceSearch

https://ballong.org/webapp-resource/4.1976cfe21855c5354dbbde80/360…/1675170370896/webapp-assets.js

js ballong.org collected 2026-10-02 12:50:37 UTC 4,334 bytes, 120 lines download raw bytes

1AppRegistry.registerBundle({applicationId:'menu|1.0.3',bundle: {}});
2AppRegistry.registerModule({applicationId:'menu|1.0.3',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|1.0.3',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+='<div class="'+
67((__t=( className ))==null?'':__t)+
68'">\n  '+
69((__t=( startMenu ))==null?'':__t)+
70' ';
71 if (className == 'ude-mobile-menu' ) { 
72__p+=' ';
73 if (extraMenu
74  && extraMenu.length != 0) { 
75__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    ';
76 _.each(extraMenu, function(topLink, index) { 
77__p+='\n\n    <li class="ude-mobile-menu__top-item">\n      <a href="'+
78((__t=( topLink.uri ))==null?'':__t)+
79'"> '+
80((__t=( topLink.name ))==null?'':__t)+
81' </a>\n    </li>\n    ';
82 }) 
83__p+='\n  </ul>\n  ';
84 } 
85__p+=' ';
86 } 
87__p+='\n</div>\n';
88}
89return __p;
90};});}});
91AppRegistry.registerModule({applicationId:'menu|1.0.3',path:'/main',module:function(define){'use strict';define(function (require) {
92  'use strict';
93
94  var _ = require('underscore'),
95      Component = require('Component'),
96      template = require('/template/main'),
97      updateMenu = require('/module/client/updateMenu');
98
99  return Component.extend({
100    template: template,
101    events: {
102      dom: {
103        'click button.ude-sub-menu__toggle': 'handleUpdateSubMenu',
104        'click button.ude-mobile-menu__toggle': 'handleUpdateMobileMenu'
105      }
106    },
107    handleUpdateMobileMenu: function handleUpdateMobileMenu(e) {
108      updateMenu.fetchNewItems(e, 'ude-mobile-menu');
109    },
110    handleUpdateSubMenu: function handleUpdateSubMenu(e) {
111      updateMenu.fetchNewItems(e, 'ude-sub-menu');
112    },
113    filterState: function filterState(state) {
114      return _.extend({}, {
115        startMenu: state.startMenu,
116        extraMenu: state.extraMenu
117      });
118    }
119  });
120});}});

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.