1AppRegistry.registerBundle({applicationId:'menu|0.0.1',bundle: {}}); 2AppRegistry.registerModule({applicationId:'menu|0.0.1',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 $(".habo-sub-menu__toggle, .habo-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.0.1',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+='\n'; 63 if (menuType === 'submenu') { 64__p+=' \n <nav class="habo-sub-menu">\n '+ 65((__t=( renderStartNode ))==null?'':__t)+ 66'\n '+ 67((__t=( startMenu ))==null?'':__t)+ 68'\n </nav>\n'; 69 } else { 70__p+=' \n <nav class="habo-mobile-menu">\n '+ 71((__t=( startMenu ))==null?'':__t)+ 72'\n </nav>\n'; 73 } 74__p+=''; 75} 76return __p; 77};});}}); 78AppRegistry.registerModule({applicationId:'menu|0.0.1',path:'/main',module:function(define){'use strict';define(function (require) { 79 'use strict'; 80 81 var _ = require('underscore'), 82 Component = require('Component'), 83 template = require('/template/main'), 84 updateMenu = require('/module/client/updateMenu'); 85 86 return Component.extend({ 87 template: template, 88 events: { 89 dom: { 90 'click button.habo-sub-menu__toggle': 'handleUpdateSubMenu', 91 'click button.habo-mobile-menu__toggle': 'handleUpdateMobileMenu' 92 } 93 }, 94 handleUpdateMobileMenu: function handleUpdateMobileMenu(e) { 95 updateMenu.fetchNewItems(e, 'habo-mobile-menu'); 96 }, 97 handleUpdateSubMenu: function handleUpdateSubMenu(e) { 98 updateMenu.fetchNewItems(e, 'habo-sub-menu'); 99 }, 100 filterState: function filterState(state) { 101 return _.extend({}, { 102 startMenu: state.startMenu 103 }); 104 } 105 }); 106});}});
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.