1$ = jQuery; 2$wrap = $('.classic-menu'); 3$menu = $wrap.find('>ul'); 4 5var menu_height = $menu.outerHeight(true); 6$wrap.height(menu_height); 7 8 9var calculateTopPadding = function (callFrom) { 10 var callFrom = typeof callFrom !== 'undefined' ? callFrom : 'default'; 11 var wrapper = $('.wrapper'); 12 switch (callFrom) { 13 case 'pjax': 14 15 if (!IRON.state.responsive) { 16 17 if (IRON.state.menu.classic_menu_over_content == '0') { 18 wrapper.eq(1).css('padding-top', $wrap.outerHeight(true) + 'px'); 19 } 20 21 } else { 22 wrapper.eq(1).css('padding-top', ''); 23 } 24 25 break; 26 27 default: 28 if (!IRON.state.responsive) { 29 30 if (IRON.state.menu.classic_menu_over_content == '0') { 31 $('#wrapper').css('padding-top', $wrap.outerHeight(true) + 'px'); 32 } 33 34 } else { 35 $('#wrapper').css('padding-top', ''); 36 } 37 } 38 39 40 41} 42 43// add class ready when classic menu is ready. 44$(window).on('load', function () { $('.classic-menu').addClass('ready'); }); 45// activate responsiveness to classic menu. 46 47if ($('html').hasClass('no-touchevents')) { 48 $(window).on('load', responsiveMenu); 49 $(window).on('resize', responsiveMenu); 50} else { 51 $(window).on('resize', responsiveMenu); 52 $(window).on('load', responsiveMenu); 53} 54 55// function that activate responsiveness 56function responsiveMenu() { 57 IRON.state.responsive = false; 58 if ($(window).width() < 1144) { 59 IRON.state.responsive = true; 60 $('.classic-menu').addClass('responsive').removeClass('mini'); 61 /*if(logo_mini_url != '') { 62 $('.classic-menu').find('.classic-menu-logo').attr('src', logo_url); 63 }*/ 64 if (IRON.state.logo.use_alternative_logo_on_mobile) { 65 $('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_page_url); 66 } else { 67 $('.classic-menu').find('.classic-menu-logo').attr('src', $wrap.data('logo')); 68 } 69 70 71 if ($('.responsive-header').length < 1) { 72 if (jQuery('.languages-selector').children().length == 0) { 73 $('.languages-selector').remove(); 74 } 75 $('<div class="responsive-header"><a class="sandwich-icon"></a></div>').prependTo('.classic-menu'); 76 var hotlinksCount = $('.classic-menu.responsive .hotlink').length; 77 if (hotlinksCount > 1) { 78 $('.classic-menu.responsive .hotlink').first().addClass('first-hotlink'); 79 if (hotlinksCount > 2) $('.classic-menu.responsive .hotlink').eq(-2).addClass('last-hotlink'); 80 var hotlinkWidth = (100 - ((parseInt(hotlinksCount) - 3) * 10)) / 2; 81 $('.classic-menu.responsive .hotlink.first-hotlink').attr('style', 'width: ' + hotlinkWidth + '% !important'); 82 83 } else { 84 $('.classic-menu.responsive .hotlink').addClass('one-hotlink'); 85 $('.classic-menu.responsive .hotlink, .classic-menu.responsive .hotlink a').attr('style', 'width: 100% !important; text-align:center !important;'); 86 } 87 } 88 $('.responsive-header').off().on('click', '.sandwich-icon', function (e) { 89 // e.preventDefault(); 90 91 // debugger 92 if ($('.classic-menu').is('.visible')) { $('.sandwich-icon').removeClass('opened'); $('.classic-menu').removeClass('visible'); return false; } 93 else { $('.sandwich-icon').addClass('opened'); $('.classic-menu').addClass('visible'); } 94 }); 95 96 $('.classic-menu ul li a').off().on('click', function (e) { 97 98 // toggle in all case active class 99 var anchor = $(this) 100 var anchorParents = anchor.parents('li') 101 102 $(this).parents('#menu-main-menu').find('li').each(function (el) { 103 if (!_.contains(anchorParents, this)) { 104 $(this).removeClass('active') 105 } 106 }) 107 $(this).closest('li').not('.logo').toggleClass('active'); 108 109 if ($(this).attr('href') == '#' || typeof ($(this).attr('href')) == "undefined") { 110 e.preventDefault(); 111 } else { 112 // window.location.href = $(this).attr('href'); 113 $('.classic-menu').removeClass('visible'); 114 $('.classic-menu .sandwich-icon').removeClass('opened'); 115 $('.classic-menu').scrollTop(0); 116 } 117 118 }); 119 120 } else { 121 $('.classic-menu').removeClass('responsive'); 122 if ($('.classic-menu').hasClass('mini')) { 123 if (IRON.state.logo.logo_mini_url != '') { 124 $('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_mini_url); 125 } 126 127 } else { 128 $('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_url); 129 } 130 131 $('.classic-menu .hotlink').attr('style', ''); 132 $('.classic-menu .responsive-header').remove(); 133 } 134 135 setTimeout(function () { 136 calculateTopPadding(); 137 }, 450); 138} 139 140 141 142function fixLogoMargin() { 143 144 if ($('.classic-menu > ul > li.logo').hasClass('pull-center') || $('.classic-menu > ul > li.logo').hasClass('pull-top')) 145 return false; 146 147 var itemHeight = $('.classic-menu > ul > li').not('.logo').first().outerHeight(true); 148 var logoHeight = $('.classic-menu > ul > li.logo a').height(); 149 var marginTop = (itemHeight / 2) - (logoHeight / 2); 150 $('.classic-menu > ul > li.logo a').css('margin', marginTop + 'px 0 0'); 151} 152 153 154 155 156IRON.setupMenu = function () { 157 var total_items = $menu.find('>
157li:not(".hotlink")').length; 158 159 var position = 0; 160 if (IRON.state.logo.logo_align == 'pull-right') { 161 position = total_items 162 } 163 if (IRON.state.logo.logo_align == 'pull-center') { 164 position = Math.ceil(total_items / 2); 165 } 166 167 168 // Activate Mini menu. 169 var lastScrollTop = 0; 170 171 if (IRON.state.logo.logo_page_url == '') { 172 IRON.state.logo.logo_page_url = IRON.state.logo.logo_url; 173 if (IRON.state.logo.logo_page_retina_url == '') { 174 IRON.state.logo.logo_page_retina_url = IRON.state.logo.retina_logo_url; 175 } 176 } 177 if (IRON.state.logo.logo_page_retina_url == '') { 178 IRON.state.logo.logo_page_retina_url = IRON.state.logo.logo_page_url; 179 } 180 if (IRON.state.logo.retina_logo_url == '') { 181 IRON.state.logo.retina_logo_url = IRON.state.logo.logo_url; 182 } 183 184 $(document).on('scroll touchmove', function (e) { 185 var offset = $(this).scrollTop(); 186 var st = $(this).scrollTop(); 187 188 if (($('.classic-menu').hasClass('mini-active') || $('.classic-menu').hasClass('mini-fullwidth-active')) && !$('.classic-menu').hasClass('responsive')) { 189 if (offset > 150) { 190 if (!$('.classic-menu').hasClass('mini')) { 191 $('.classic-menu').css('width', '100%').addClass('mini'); 192 } 193 if (IRON.state.logo.logo_mini_url != '') { 194 $('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_mini_url); 195 $('.classic-menu').find('.classic-menu-logo').attr('srcset', IRON.state.logo.logo_mini_url + ' 1x, ' + IRON.state.logo.logo_mini_url + ' 2x'); 196 197 198 } 199 200 } 201 if (offset <= 150) { 202 if ($('.classic-menu').hasClass('mini')) { 203 $('.classic-menu').css('width', $('body').width() - 2 * parseInt(iron_vars.menu.classic_menu_hmargin)).removeClass('mini'); 204 } 205 if (IRON.state.logo.logo_mini_url != '') { 206 $('.classic-menu').find('.classic-menu-logo').attr('src', IRON.state.logo.logo_url); 207 $('.classic-menu').find('.classic-menu-logo').attr('srcset', IRON.state.logo.logo_url + ' 1x, ' + IRON.state.logo.retina_logo_url + ' 2x'); 208 } 209 } 210 211 fixLogoMargin(); 212 213 } 214 lastScrollTop = st; 215 216 $('.classic-menu').css('height', ''); 217 218 }); 219 220 setTimeout(function () { 221 fixLogoMargin(); 222 }, 450); 223 224 225 226 227 228 calculateTopPadding(); 229 230 if (IRON.state.logo.use_alternative_logo && !IRON.state.responsive) { 231 //if(logo_page_url != '' && !$('.classic-menu').hasClass('responsive')) { 232 IRON.state.logo.logo_url = IRON.state.logo.logo_page_url; 233 234 if (IRON.state.logo.logo_page_retina_url != '') { 235 IRON.state.logo.retina_logo_url = IRON.state.logo.logo_page_retina_url; 236 } 237 } 238 239 if (IRON.state.logo.use_alternative_logo_on_mobile && IRON.state.responsive) { 240 //if(logo_page_url != '' && !$('.classic-menu').hasClass('responsive')) { 241 IRON.state.logo.logo_url = IRON.state.logo.logo_page_url; 242 243 if (IRON.state.logo.logo_page_retina_url != '') { 244 IRON.state.logo.retina_logo_url = IRON.state.logo.logo_page_retina_url; 245 } 246 } 247 248 if (IRON.state.logo.logo_url) { 249 250 IRON.state.logo.logo_url = IRON.state.logo.logo_url.slice(IRON.state.logo.logo_url.indexOf('/')) 251 IRON.state.logo.retina_logo_url = IRON.state.logo.retina_logo_url.slice(IRON.state.logo.retina_logo_url.indexOf('/')) 252 253 var $logo = $('<li class="logo ' + IRON.state.logo.logo_align + '"><a href="' + IRON.state.site_url + '"><img class="classic-menu-logo" src="' + IRON.state.logo.logo_url + '" srcset="' + IRON.state.logo.logo_url + ' 1x, ' + IRON.state.logo.retina_logo_url + ' 2x" data-at2x="' + IRON.state.logo.retina_logo_url + '" alt="' + IRON.state.site_name + '"></a></li>'); 254 255 } else { 256 var $logo = $('<li class="logo ' + IRON.state.logo.logo_align + '"><a href="' + IRON.state.site_url + '">' + IRON.state.site_name + '</a></li>'); 257 } 258 259 if (!$menu.find('.logo').length) { 260 $menu.find('>li').eq(position).before($logo); 261 } else { 262 $menu.find('.logo img').attr({ 263 src: IRON.state.logo.logo_url, 264 srcset: IRON.state.logo.logo_url + ' 1x, ' + IRON.state.logo.retina_logo_url + ' 2x' 265 }) 266 } 267 268 // Collision: avoid submenu to be out of viewport. 269 $menu.find('>li a').on('mouseover', function (e) { 270 // check if has submenu 271 if ($(this).find(' + ul').length > 0) { 272 // var zI = 1; 273 var $_this = $(this).find(' + ul'); 274 if ($_this.outerWidth(true) + $_this.offset().left > $(window).width()) { 275 // $_this.css('zIndex', zI++); 276 $(this).parent().addClass('collision'); 277 } 278 } 279 280 }); 281 282 // hotlinks 283 $hotlinks = $wrap.find('.classic-menu-hot-links'); 284 if ($hotlinks.length > 0) { 285 var links = $hotlinks.html(); 286 $hotlinks.detach(); 287 $menu.append(links);
288 } 289 290 if ($('.logo.pull-left')) { 291 var totalwidth = 0; 292 $(".hotlink.pull-right").each(function () { 293 totalwidth = totalwidth + $(this).outerWidth(true); 294 }); 295 } 296 297 298 299}; 300 301$(window).on('load', IRON.setupMenu); 302
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.