1'use strict'; 2 3 4$(document).ready(function() { 5 6 var IsMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); 7 8 /*! 9 * ÐÐÐÐТÐÐ 10 ======================================= */ 11 12 /*! 13 * Headroom .mobile-header 14 */ 15 var mobileHeader = document.querySelector('.mobile-header'); 16 var headroom = new Headroom(mobileHeader, { 17 offset : 30, 18 onUnpin : function() { 19 close_toolbar_button_dropdowns() 20 } 21 }); 22 headroom.init(); 23 24 // внÑÑÑенние клаÑÑÑ 25 var mobile_classes = { 26 opened : 'is-opened', 27 closed : 'is-closed' 28 }; 29 30 var target_toolbar_buttons = $('.me-call-trigger, .me-search-trigger, .me-contacts-trigger'); 31 32 // вÑпадалки 33 var toolbar_button_dropdowns = $('.toolbar-button-dropdown'); 34 35 /** 36 * закÑÑваем вÑе вÑпадалки 37 */ 38 function close_toolbar_button_dropdowns() { 39 toolbar_button_dropdowns 40 .removeClass(mobile_classes.opened); 41 target_toolbar_buttons 42 .removeClass(mobile_classes.opened); 43 } 44 45 /** 46 * пÑедоÑвÑаÑаем вÑплÑÑие кликов на докÑменÑе Ð¾Ñ .toolbar-button-dropdown 47 */ 48 49 toolbar_button_dropdowns.on('click', function(event) { 50 event.stopPropagation(); 51 }); 52 53 54 /** 55 * кнопки Ñ ÐºÐ¾ÑоÑÑÑ ÐµÑÑÑ Ð²Ñпадалки 56 */ 57 target_toolbar_buttons.on('click', function(event) { 58 59 event.stopPropagation(); 60 event.preventDefault(); 61 62 var $self = $(this); 63 64 if ($self.hasClass(mobile_classes.opened)) { 65 66 $self.removeClass(mobile_classes.opened); 67 close_toolbar_button_dropdowns(); 68 69 } else { 70 71 close_toolbar_button_dropdowns(); 72 73 if ($self.hasClass('me-search-trigger')) { 74 $('.mobile-search-form__input').focus(); 75 } 76 77 $self.addClass(mobile_classes.opened); 78 79 } 80 }); 81 82 /** 83 * нажаÑие на ESC 84 */ 85 $(document).on('keydown', function(event) { 86 87 if (event.keyCode === 27) { 88 close_toolbar_button_dropdowns(); 89 } 90 91 }); 92 93 /*! 94 * клик по докÑменÑÑ 95 */ 96 $(document).on('click', function(event) { 97 98 close_toolbar_button_dropdowns(); 99 }); 100 101 /*! 102 * Ðоковое Ð¼ÐµÐ½Ñ 103 */ 104 var hamburger = $('.me-nav-trigger'); 105 var asideNav = $('.aside-nav'); 106 var asideNavContent = $('.aside-nav__content'); 107 var asideNavOverlay = $('<div class="aside-nav__overlay"></div>'); 108 var svgArr = '<span class="title-ico"><svg fill="#fff" height="30" viewBox="0 0 24 24" width="30" xmlns="http://www.w3.org/2000/svg" ><path d="M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z"/><path d="M0-.75h24v24H0z" fill ="none"/></svg><span>'; 109 110 $('.aside-nav__scroller').on('click', function(event) { 111 event.stopPropagation(); 112 }); 113 114 var asideBlock = function(class_name, title) { 115 var title = typeof title == 'undefined' ? '' : '<div class="aside-nav-item__title">' + title + ' '+ svgArr +'</div>'; 116 var block = $('<div class="aside-nav-item aside-nav__cats ' + class_name + '">' + title + '</div>'); 117 return block; 118 }; 119 120 var asideList = function($list, cloneEv) { 121 122 var style = ''; 123 124 if ($list.find('.active').length) { 125 style = 'style="display:block;"'; 126 } 127 128 return $('<div class="aside-nav-item__list" ' + style + '/>') 129 .append($list.clone(cloneEv)); 130 }; 131 132 // ÐбÑÑное Ð¼ÐµÐ½Ñ 133 134 if ( $('.nav_top menu').length>0 ) { 135 136 var mainMenuBlock = new asideBlock('app-nav'); 137 var asideMainMenu = new asideList($('.nav_top menu')); 138 mainMenuBlock.append(asideMainMenu); 139 asideNavContent.append(mainMenuBlock); 140 141 } 142 143 if ( $('.lang_panel').length>0 ) { 144 145 // ÐеÑÑ Ð½ÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ 146 147 var topPanel = new asideBlock('app-panel'); 148 var topPaneBlock = new asideList($('.lang_panel')); 149 topPanel.append(topPaneBlock); 150 asideNavContent.append(topPanel); 151 } 152 153 if ( $('.menu-left').length>0 ) { 154 155 // ÐеÑÑ Ð½ÑÑ Ð¿Ð°Ð½ÐµÐ»Ñ 156 157 var simpleM = new asideBlock('app-menu-left'); 158 var simpleMenuBlock = new asideList($('.menu-left')); 159 simpleM.append(simpleMenuBlock); 160 asideNavContent.append(simpleM); 161 } 162 163 if ( $('.un_sidebar-menu').length>0 ) { 164 165 // ÐаÑегоÑии 166 167 var folder = new asideBlock('app-folder'); 168 var folderBlock = new asideList($('.un_sidebar-menu')); 169 folder.append(folderBlock); 170 asideNavContent.append(folder); 171 172 // Ðнопка
173 174 var button = new asideBlock('app-button'); 175 var buttonBlock = new asideList($('.call-order-block'), true); 176 button.append(buttonBlock); 177 asideNavContent.append(button); 178 179 180 } 181 182 asideNav.append(asideNavOverlay); 183 184 function showAsideMenu() { 185 186 var self = hamburger; 187 188 if (self.hasClass('opened')) { 189 self.removeClass('opened'); 190 asideNav.removeClass('animated'); 191 setTimeout(function() { 192 asideNav.removeClass('opened'); 193 }, 200); 194 195 } else { 196 self.addClass('opened'); 197 asideNav.addClass('opened'); 198 asideNav.addClass('animated'); 199 200 $(document.body).trigger("sticky_kit:recalc"); 201 } 202 203 } 204 205 asideNav.on('click', function() { 206 showAsideMenu(); 207 }); 208 209 hamburger.on('click', function() { 210 showAsideMenu(); 211 }); 212 213 $('.aside-nav-item__title').on('click', function() { 214 $(this).toggleClass('clicked'); 215 $(this).closest('.aside-nav-item').find('.aside-nav-item__list').slideToggle(500, function() { 216 $(document.body).trigger("sticky_kit:recalc"); 217 }); 218 }); 219 220 /* 221 * ÑаÑкÑÑваÑÑееÑÑ Ð±Ð¾ÐºÐ¾Ð²Ð¾Ðµ Ð¼ÐµÐ½Ñ 222 */ 223 224 $('.app-nav .has-child').each(function(){ 225 if ( $(this).find('>ul').length==0 ) { 226 $(this).removeClass('has-child'); 227 } 228 $(this).find('>a').append('<span class="toggled-elem"><svg fill="#000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7.41 7.84L12 12.42l4.59-4.58L18 9.25l-6 6-6-6z"></path><path d="M0-.75h24v24H0z" fill="none"></path></svg></span>') 229 }); 230 $('.aside-nav .toggled-elem').click(function(event) { 231 232 var $self = $(this); 233 234 if ($self.closest('li').hasClass('has-child')) { 235 236 event.preventDefault(); 237 event.stopPropagation(); 238 239 $self.closest('li').toggleClass('opened'); 240 } 241 242 }); 243 244 $('table[style^="width:"], table[style="text-align: center;"], table.table_mod2, table[style="background-color: #ccccff;"]').wrap('<div class="responsive_table_wrapper"></div>'); 245 246 // ÐÐÐÐРТÐÐÐÐЦ 247 248 var $tables = $('[data-table-crash]'); 249 var aTables = []; 250 var iterator = 0; 251 var elResultIndex = 0; 252 var delimiter = true; 253 254 $.each($tables, function(index, table) { 255 256 aTables[index] = {}; 257 aTables[index].colsCount = $(table).find('tr:first-child td').length; 258 aTables[index].rowsInElement = $(table).data('tableCrash'); 259 aTables[index].elements = []; 260 261 iterator = 0; 262 263 $.each($(table).find('tr'), function(trIndex, trContent) { 264 265 iterator++; 266 267 delimiter = iterator % aTables[index].rowsInElement; 268 269 $.each($(trContent).find('td'), function(tdIndex, tdContent) { 270 271 console.log(elResultIndex); 272 273 if (typeof aTables[index].elements[elResultIndex] === 'undefined') { 274 aTables[index].elements[elResultIndex] = $('<div class="crash-table__item"></div>'); 275 } 276 277 aTables[index].elements[elResultIndex].append($('<div class="crash-table__item-content crash-table__item-content--' + elResultIndex + '">' + $(tdContent).html() + '</div>')); 278 279 elResultIndex++; 280 281 if (delimiter && tdIndex == (aTables[index].colsCount - 1)) { 282 console.info('end row'); 283 elResultIndex = elResultIndex - aTables[index].colsCount; 284 } 285 286 }); 287 288 if (!delimiter) { 289 console.warn('row end'); 290 elResultIndex = elResultIndex; 291 } 292 293 }); 294 295 elResultIndex = 0; 296 297 var $crashTableGrid = $('<div class="crash-table-grid crash-table-grid--' + aTables[index].colsCount + '"></div>'); 298 var $crashTableGridList = $('<div class="crash-table-grid__list"></div>'); 299 300 $.each(aTables[index].elements, function(curIndex, curElement) { 301 302 var $crashTableGridItem = $('<div class="crash-table-grid__item"></div>'); 303 $crashTableGridItem.append($(curElement)); 304 $crashTableGridList.append($crashTableGridItem); 305 }); 306 307 $crashTableGrid.append($crashTableGridList); 308 $(table).after($crashTableGrid); 309 310 }); 311});
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.