1$(document).ready(function () { 2 tabs(); 3 accordion(); 4}); 5 6function tabs() { 7 $('.frame-type-tabs, .tabs.-vertical').each(function () { 8 var $tabs = $(this); 9 var $tabsButtons = $tabs.find("> .tabs__nav > .tabs__button"); 10 var $numberOfAllItems = $tabsButtons.length; 11 12 if ($numberOfAllItems != 0) { 13 $tabsButtons.unbind('click').click(function () { 14 $tabs.find("> .tabs__nav > .tabs__button").removeClass('-active'); 15 $tabs.find("> .tabs__content").removeClass('-active'); 16 $(this).addClass('-active'); 17 var $thisTabContent = $(this).attr('data-target'); 18 $($thisTabContent).addClass('-active'); 19 }); 20 } 21 }); 22} 23 24function accordion() { 25 26 $('.accordion').each(function () { 27 var $accordion = $(this); 28 var $accordionButtons = $accordion.find("> .accordion__item > .accordion__header > .accordion__button"); 29 var $numberOfAllItems = $accordionButtons.length; 30 if ($numberOfAllItems == 0) { 31 return; 32 } 33 var $accordionContent = $accordion.find("> .accordion__item > .accordion__content"); 34 35 // open another accordion when child hash of accordion in url 36 var hash = window.location.hash; 37 if ($accordion.find(hash).length) { 38 $accordionButtons.attr('aria-expanded', 'false'); 39 $(hash).closest('.accordion__content').prev().attr('aria-expanded', 'true'); 40 41 $accordion.find("> .accordion__item > .accordion__header").removeClass('-active'); 42 $(hash).closest('.accordion__content').prev().addClass('-active'); 43 44 if ($accordion.hasClass('-horizontal')) { 45 $accordion.find('> .accordion__item').removeAttr("style"); 46 $(hash).closest('.accordion__item').css({'flex-grow': $numberOfAllItems}); 47 } 48 } 49 50 // accordion button click 51 $accordionButtons.unbind('click').click(function () { 52 var $thisAccordionContent = $($(this).attr('data-target')); 53 var $thisAccordionHeader = $(this).parent(); 54 55 // close when open 56 if ($thisAccordionHeader.hasClass('-active')) { 57 $(this).attr('aria-expanded', 'false'); 58 59 if ($accordion.hasClass('-vertical')) { 60 $thisAccordionContent.slideUp(function () { 61 $thisAccordionHeader.removeClass('-active'); 62 }); 63 } 64 if ($accordion.hasClass('-horizontal')) { 65 $thisAccordionHeader.removeClass('-active'); 66 $(this).closest('.accordion__item').removeAttr("style"); 67 } 68 // open when closed 69 } else { 70 $accordionButtons.attr('aria-expanded', 'false'); 71 $(this).attr('aria-expanded', 'true'); 72 73 if ($accordion.hasClass('-vertical')) { 74 $accordionContent.slideUp(function () { 75 $(this).prev('.accordion__header').removeClass('-active'); 76 }); 77 $thisAccordionContent.slideDown(function () { 78 $thisAccordionHeader.addClass('-active'); 79 }); 80 } 81 82 if ($accordion.hasClass('-horizontal')) { 83 $accordion.find("> .accordion__item > .accordion__header").removeClass('-active'); 84 $thisAccordionHeader.addClass('-active'); 85 $accordion.find('> .accordion__item').removeAttr("style"); 86 $(this).closest('.accordion__item').css({'flex-grow': $numberOfAllItems}); 87 } 88 } 89 }); 90 }); 91}
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.