1async function fetchHtml(url, method) { 2 method = method || 'GET'; 3 const options = { 4 method: method, 5 credentials: 'same-origin' 6 }; 7 if (method === 'POST') { 8 options.headers = {'X-Requested-With': 'XMLHttpRequest'}; 9 } 10 const response = await fetch(url, options); 11 if (!response.ok) { 12 throw new Error('HTTP ' + response.status + ': ' + url); 13 } 14 return response.text(); 15} 16 17$(window).on('load', async function () { 18 let headerObj = $('header'); 19 let headerHeight = headerObj.css('height'); 20 headerHeight = Math.round(parseFloat(headerHeight.replace(/[^0-9\.]/g,""))); 21 // show top navigation 22 if (headerHeight === 50) { // коÑÑÑÐ»Ñ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¼ÐµÐ½Ñ Ð½Ðµ оÑобÑажалоÑÑ Ð½Ð° ÑÑаÑÑÑ ÑайÑÐ°Ñ 23 headerObj.empty(); // ÑдалÑем вÑÑ ÑодеÑжимое Ñапки ÑайÑа 24 // подклÑÑение ÑÑилей 25 let headerCss = document.createElement('link'); 26 headerCss.type = "text/css"; 27 headerCss.rel = "stylesheet"; 28 headerCss.href = "/engine/public/templates/default/skin/mobile.css?v5"; 29 document.head.append(headerCss); 30 // добавление вÑÑÑÑки 31 try { 32 const html = await fetchHtml('/engine/skin/header/getMobile', 'POST'); 33 headerObj.append(html); 34 // добавление коÑÐ·Ð¸Ð½Ñ 35 const cartHtml = await fetchHtml('/shop/cart.php?ajax', 'GET'); 36 $('.cartEmpty_m').remove(); 37 $('.cart_m').remove(); 38 $('#cart').append(cartHtml); 39 // ÑÑÑанавливаем макÑималÑнÑÑ Ð²ÑÑоÑÑ ÑпиÑка каÑалога и ÑезÑлÑÑаÑов поиÑка (Ð´Ð»Ñ ÑкÑолла) 40 const wrapperMaxHeight = $(window).height() - 50; 41 $('#mobile_nav .mobile_catalog_wrapper').css({'maxHeight': wrapperMaxHeight + 'px'}); 42 $('#mobile_nav #search_hints').css({'maxHeight': wrapperMaxHeight + 'px'}); 43 let domain = $('#mobile_nav + .domain'); 44 if (domain.length === 1) { 45 $('main').before(domain); 46 } 47 } catch (e) { 48 console.error(e); 49 } 50 51 // подклÑÑение полÑзоваÑелÑÑкого Ð¼ÐµÐ½Ñ 52 if (window.location.pathname.indexOf('/user/profile/') === 0 53 || window.location.pathname.indexOf('/shop/orders/') === 0 54 || window.location.pathname.indexOf('/shop/compare/') === 0 55 || window.location.pathname.indexOf('/shop/favorite/') === 0) { 56 // подклÑÑаÑÑ ÑолÑко еÑли Ð½Ð°Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð² /user/ 57 headerCss = document.createElement('link'); 58 headerCss.type = "text/css"; 59 headerCss.rel = "stylesheet"; 60 headerCss.href = "/engine/public/templates/default/users/mobile_menu/style.css"; 61 document.head.append(headerCss); 62 // добавление вÑÑÑÑки 63 try { 64 const menuHtml = await fetchHtml('/user/mobile_menu/index.php', 'POST'); 65 $('main').prepend(menuHtml); 66 } catch (e) { 67 console.error(e); 68 } 69 } 70 // подклÑÑение полÑзоваÑелÑÑкого Ð¼ÐµÐ½Ñ 71 if (window.location.pathname.indexOf('/shop/goods/') === 0) { 72 // подклÑÑаÑÑ ÑолÑко еÑли Ð½Ð°Ñ Ð¾Ð´Ð¸Ð¼ÑÑ Ð² /user/ 73 let headerScript = document.createElement('script'); 74 headerScript.src = "/engine/public/templates/default/skin/mobileGallery.js?v10"; 75 document.head.append(headerScript); 76 } 77 } 78}); 79 80// показÑÐ²Ð°ÐµÑ ÑлеменÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка 81function ShowSearchForm() { 82 HideAll(); 83 $('#mobile_nav .mobile_search_wrapper').show(); 84 $('#search_form_input').focus(); 85 $('#mobile_nav .mobile_overlay').show(); 86} 87 88// загÑÑÐ¶Ð°ÐµÑ Ð¸ показÑÐ²Ð°ÐµÑ Ð¾ÑновнÑе каÑегоÑии 89async function ShowCatalog() { 90 $('#mobile_nav .mobile_catalog_wrapper').removeClass('hidden'); 91 $('#mobile_nav .mobile_catalog_wrapper').show(); 92 $('#mobile_nav li.menu').addClass('hidden'); 93 $('#mobile_nav li.clse').removeClass('hidden'); 94 $('#mobile_nav .mobile_overlay').show(); 95 if ($('#mobile_nav .mobile_catalog_wrapper').hasClass('empty')) { 96 // добавление вÑÑÑÑки 97 try { 98 const html = await fetchHtml('/shop/categories.php', 'POST'); 99 $('#mobile_nav .mobile_catalog_wrapper .mobile-menu-header').after(html); 100 $('#mobile_nav .mobile_catalog_wrapper').removeClass('empty'); 101 } catch (e) { 102 console.error(e); 103 } 104 } 105} 106 107// пÑÐ¸Ð²Ð¾Ð´Ð¸Ñ Ð¼ÐµÐ½Ñ Ð² наÑалÑное ÑоÑÑоÑние (ÑкÑÑÐ²Ð°ÐµÑ Ð¿Ð¾Ð¸Ñк и каÑалог) 108function HideAll() { 109 // hide search form 110 $('#mobile_nav .mobile_search_wrapper').hide(); 111 // hide catalog 112 $('#mobile_nav .mobile_catalog_wrapper').hide(); 113 $('#mobile_nav li.menu').removeClass('hidden'); 114 $('#mobile_nav li.clse').addClass('hidden'); 115 $('#mobile_nav .mobile_overlay').hide(); 116} 117 118/********************* OLD UNUSEFUL CODE ***********************************/ 119 120$(window).on('load', function () { 121 // показаÑÑ Ð¼ÐµÐ½Ñ 122 $("#mobile-menu-button").bind('click', function (ev) { 123 if ($('#mobile-menu').length == 0) { 124 $('body').append('<div id="mobile-menu" onclick="mobileMenuClick(this)"></div>'); 125 } 126 $('#mobile-menu').html('<ul>' + $('header nav.main ul').html() + '<div id="mobile-menu-close"></div></ul>'); 127 $('#mobile-menu').show(); 128 $('#mobile-menu ul').addClass('animated'); 129 $('#mobile-menu ul').addClass('slideInLeft'); 130 $('#mobile-menu ul').removeClass('fadeOutLeft'); 131 });
132 133 // обÑабоÑка ÑкÑÑÑиÑ/показа ÑоÑÐ¼Ñ Ð¿Ð¾Ð¸Ñка 134 $('#mobile-search-button').bind('click', function () { 135 if ($('header .logo').css('display') == 'block') { 136 $('header .logo').hide(); 137 // еÑли в Ñапке Ð½ÐµÑ ÑоÑмÑ, добавлÑем 138 if ($('header div.search').length == 0) { 139 $('header').append($('div.search')); 140 $('header').append($('#search_hints')); 141 } 142 $('header div.search').show(); 143 $('header div.search').addClass('mobile-search-container'); 144 $('header div.search').addClass('animated'); 145 $('header div.search').addClass('slideInLeft'); 146 $('header div.search').removeClass('fadeOutLeft'); 147 $('header div.search form input[type=text]').focus(); 148 } else { 149 $('header .logo').show(); 150 $('header div.search').hide(); 151 $('header div.search').removeClass('fadeOutLeft'); 152 $('header div.search').removeClass('animated'); 153 $('header div.search').removeClass('mobile-search-container'); 154 } 155 }); 156 // обÑабоÑка ÑкÑÑÑиÑ/показа ÑлеменÑов в веÑÑ Ð½ÐµÐ¼ Ð¼ÐµÐ½Ñ 157 $('header').on('click', 'nav > ul > li.sub > span', function () { 158 subMenuShow(this) 159 }); 160 // обÑабоÑка ÑкÑÑÑиÑ/показа ÑлеменÑов в подвале 161 $('footer nav > ul > li.sub > span').on('click', function () { 162 subMenuShow(this) 163 }); 164}); 165 166function subMenuShow(elem) { 167 let liObj = $(elem).parent('li'); 168 169 show($(liObj)); 170 //upd 2020.09.16 ÑаÑкÑÑÑие/ÑкÑÑÑие ÑпиÑка Ð¼ÐµÐ½Ñ c клаÑÑом empty 171 let next = $(liObj).next(); 172 if(next.children().is('.empty')){ 173 show(next); 174 } 175} 176 177 178// ÑкÑÑÑÑ Ð¼ÐµÐ½Ñ 179function mobileMenuClick(obj) { 180 if ($(obj).attr('id') == 'mobile-menu' || $(obj).attr('id') == 'mobile-menu-close') { 181 $('#mobile-menu ul').removeClass('slideInLeft'); 182 $('#mobile-menu ul').addClass('fadeOutLeft'); 183 $("#mobile-menu").delay(500).fadeOut(); 184 } 185} 186//ÑаÑкÑÑÑие/ÑкÑÑÑие ÑпиÑка Ð¼ÐµÐ½Ñ 187function show(el) { 188 if (el.hasClass("show")) { 189 el.removeClass("show"); 190 } else { 191 el.addClass("show"); 192 } 193} 194 195 196
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.