1(function ($) { 2 3 function thisifyHeaders() { 4 5 var headers = $('.heading-title, .title'), 6 variations = ['THIS', 'This']; 7 8 headers.each(function () { 9 var html = $(this).html(); 10 for (var i in variations) { 11 var phrase = variations[i]; 12 html = html.replace(phrase, 'THIS'); 13 } 14 html = html.replace('THIS', '<span class="thisify">THIS</span>'); 15 $(this).html(html); 16 }); 17 } 18 19 var menuButton = $('.pp-advanced-menu-mobile-toggle').parent(), 20 donateButton = $('.fl-node-5d38e798065ae .uabb-button'); 21 22 function toggleDonateButton() { 23 if ($(this).find('.pp-active').length) { 24 donateButton.stop().animate({opacity: 0}, 500); 25 } else { 26 donateButton.stop().animate({opacity: 1}, 500); 27 } 28 } 29 30 var button = $('.mobile-controls .pp-advanced-menu'), 31 donate = $('.mobile-controls .menu-donate'), 32 mobileMenu = $('#mobile-menu'), 33 toggles = mobileMenu.find('a.toggle'); 34 35 function toggleMobileMenu() { 36 var pressed = button.attr('aria-pressed'); 37 if ('false' == pressed) { 38 mobileMenu.stop().slideDown(); 39 button.attr('aria-pressed', 'true'); 40/* donate.stop().animate({opacity: 0}, 500);*/ 41 } else { 42 mobileMenu.stop().slideUp(); 43 button.attr('aria-pressed', 'false'); 44/* donate.stop().animate({opacity: 1}, 500);*/ 45 } 46 } 47 48/* function toggleSubNav(e) { 49 var icon = $(this).find('.fa'), 50 closed = 'fa-chevron-right', 51 opened = 'fa-chevron-left'; 52 if (icon.hasClass(closed)) { 53 // Open item 54 icon.removeClass(closed).addClass(opened); 55 $(this).next('.submenu').stop().slideDown(); 56 } else { 57 // Close item. 58 icon.removeClass(opened).addClass(closed); 59 $(this).next('.submenu').stop().slideUp(); 60 } 61 e.preventDefault(); 62 }*/ 63 64/* function toggleMenuButton(link) { 65 var submenu = $(link).next('.submenu'), 66 opened = $('.submenu.opened'); 67 if (!submenu.length) { 68 return; 69 } 70 if (opened.length) { 71 $(opened).each(function () { 72 if (submenu[0].innerHTML != this.innerHTML) { 73 $(this).hide(); 74 } 75 }); 76 } 77 var pressed = $(link).attr('aria-pressed'); 78 if ("false" === pressed) { 79 submenu.stop().slideDown().addClass('opened'); 80 $(link).attr('aria-pressed', 'true'); 81 } else { 82 submenu.stop().slideUp().removeClass('opened'); 83 $(link).attr('aria-pressed', 'false'); 84 } 85 }*/ 86 87 function menuAccessibility() { 88 var el = $('a[role=button]'); 89 el.on('keydown', function (e) { 90 if (32 === e.keyCode) { 91 toggleMenuButton(this); 92 return false; 93 } 94 return true; 95 }); 96 } 97 98 function keypressButton(e) { 99 if (32 === e.keyCode || 13 === e.keyCode) { 100 toggleMobileMenu(); 101 return false; 102 } 103 return true; 104 } 105 106 function init() { 107 // thisifyHeaders(); 108 menuAccessibility(); 109 maybeBindDonateButton(); 110/* toggles.on('click', toggleSubNav);*/ 111 button.on('click', toggleMobileMenu); 112 button.on('keypress', keypressButton); 113 } 114 115 function maybeBindDonateButton() { 116 menuButton.on('click', toggleDonateButton); 117 } 118 119 $(window).on('resize', maybeBindDonateButton); 120 121 init(); 122 123 jQuery(function ($) { 124 $(".mobile-nav").simpleMobileMenu({ 125 onMenuLoad: function(menu) { 126 console.log(menu) 127 console.log("menu loaded") 128 }, 129 onMenuToggle: function(menu, opened) { 130 console.log(opened) 131 }, 132 "menuStyle": "slide" 133 }); 134 }) 135 136 137 var defaults = { 138 "hamburgerId": "sm_menu_ham", //Hamburger Id 139 "wrapperClass": "sm_menu_outer", //Menu Wrapper Class 140 "submenuClass": "submenu", //Submenu Class 141 "menuStyle": "slide", //Menu Style 142 "onMenuLoad": function() { return true; }, //Calls when menu loaded 143 "onMenuToggle": function() { return true; } //Calls when menu open/close 144 }; 145 $.fn.simpleMobileMenu = function(options) { 146 if (this.length === 0) { return this; } 147 var smMenu = {}, 148 ds = $(this); 149 var init = function() { 150 smMenu.settings = $.extend({}, defaults, options); 151 smMenu.styleClass = smMenu.settings.menuStyle.toLowerCase() === 'slide' ? "slide" : "accordion"; 152 // Create Wrapper div & hamburger 153 createWrapper_Ham(); 154 // Create Back Menu for each sub menu 155 createBackButton(); 156 // Callback - Menu loaded 157 if (typeof smMenu.settings.onMenuLoad == 'function') { 158 smMenu.settings.onMenuLoad(ds); 159 } 160 }, 161 createWrapper_Ham = function() { 162 smMenu.hamburger = $("<div/>", { 163 "id": smMenu.settings.hamburgerId, 164 "html": "<span></span><span></span><span></span><span></span>" 165 }), 166 smMenu.smmOuter = $("<div/>", { "class": smMenu.settings.wrapperClass+" "+smMenu.styleClass }); 167 ds.appendTo(smMenu.smmOuter); 168 smMenu.hamburger.add(smMenu.smmOuter).appendTo($(".mobile-menu-wrapper")); 169 }, 170 createBackButton = function() {
171 smMenu.smmOuter.find("ul." + smMenu.settings.submenuClass).each(function() { 172 var dis = $(this), 173 disPar = dis.closest("li"), 174 disfA = disPar.find("> a"), 175 disBack = $("<li/>", { 176 "class": "back", 177 "html": "<a href='#'><i class='fa fa-chevron-left sub-back'></i>" + "Back" + "</a>" 178 }) 179 disPar.addClass("hasChild"); 180 if(smMenu.settings.menuStyle.toLowerCase() === 'slide') { 181 disBack.prependTo(dis); 182 } 183 }); 184 }, 185 toggleMobileMenu = function(e) { 186 $("#" + smMenu.settings.hamburgerId).toggleClass("open"); 187 $("." + smMenu.settings.wrapperClass).toggleClass("active").find("li.active").removeClass("active"); 188 $("body").toggleClass("mmactive"); 189 $("html").toggleClass("mmactive"); 190 if(smMenu.settings.menuStyle.toLowerCase() === 'accordion') { 191 $("."+smMenu.settings.wrapperClass).find("ul."+smMenu.settings.submenuClass).hide(); 192 } 193 // Callback - Menu Toggle 194 if (typeof smMenu.settings.onMenuToggle == 'function') { 195 smMenu.settings.onMenuToggle(ds, $("#" + smMenu.settings.hamburgerId).hasClass("open")); 196 } 197 }, 198 showSlideSubMenu = function(e) { 199 $("." + smMenu.settings.wrapperClass).scrollTop(0); 200 $(this).parent().addClass("active").siblings().removeClass("active"); 201 }, 202 showAccordionSubMenu = function(e) { 203 e.preventDefault(); 204 var dis = $(this), 205 dispar = $(this).parent(), 206 lastActive = dispar.siblings(".active"); 207 dispar.find("> ."+smMenu.settings.submenuClass).slideToggle(function() { 208 if ($(this).is(":visible")) { 209 var offset = dis[0].offsetTop; 210 $("." + smMenu.settings.wrapperClass).stop().animate({ scrollTop: offset }, 300); 211 } 212 }); 213 lastActive.find("ul."+ smMenu.settings.submenuClass).slideUp(function() { 214 $(this).find(".hasChild").removeClass("active"); 215 }) 216 dispar.toggleClass("active").siblings().removeClass("active"); 217 }, 218 goBack = function(e) { 219 e.preventDefault(); 220 $(this).closest("ul." + smMenu.settings.submenuClass).parent().removeClass("active"); 221 } 222 /*Init*/ 223 init(); 224 /* Open Menu */ 225 smMenu.hamburger.click(toggleMobileMenu); 226 /* Show Slide SubMenu */ 227 smMenu.smmOuter.filter(".slide").find("li.hasChild > a").click(showSlideSubMenu); 228 /* Show Accordion SubMenu */ 229 smMenu.smmOuter.filter(".accordion").find("li.hasChild > a").click(showAccordionSubMenu); 230 /* Go Back */ 231 smMenu.smmOuter.find("li.back a").click(goBack); 232 }; 233 234 235 236 237})(jQuery);
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.