1 2document.addEventListener("DOMContentLoaded", function() { 3 new Mmenu( "#mmenujs", { 4 "counters": false, 5 navbars: [ 6 { 7 position: "top", 8 content: ["prev", "title"] 9 } 10 ], 11 setSelected: { 12 "current": "detect" 13 }, 14 screenReader : { 15 aria: true 16 }, 17 keyboardNavigation : { 18 enable: false, 19 /*enhance: true*/ 20 }, 21 autoHeight:{ 22 height: "default" 23 }, 24 offCanvas: false, 25 },{ 26 language: "de", 27 offCanvas: { 28 menu : { 29 insertSelector : "#oC-nav" 30 }, 31 } 32 }); 33 let $menujs = document.getElementById("mmenujs"); 34 let $allButtons = $menujs.querySelectorAll(".mm-btn_prev"); 35 $allButtons.forEach(function (elem) { 36 let ariaOwnsId = elem.getAttribute("aria-owns"); 37 let backButtonLabel = "zurück"; 38 39 if(ariaOwnsId != null) { 40 let parantElTitle = $menujs.querySelector("#"+ ariaOwnsId +" .mm-navbar__title"); 41 backButtonLabel = parantElTitle.textContent; 42 } 43 44 let spanEl = document.createElement("span"); 45 spanEl.classList.add("btn-label"); 46 47 let spanText = document.createTextNode(backButtonLabel); 48 49 spanEl.appendChild(spanText); 50 elem.appendChild(spanEl); 51 }); 52 53 //Fix a-Tag => span-Tag 54 let $allTitleTags = $menujs.querySelectorAll(".mm-navbar__title" ); 55 $allTitleTags.forEach(function (elem) { 56 let src = elem; 57 let el = document.createElement('span'); 58 let attrs = src.attributes; 59 60 for(var j=0,k=attrs.length;j<k;j++) { 61 el.setAttribute(attrs[j].name, attrs[j].value); 62 } 63 el.innerHTML = src.innerHTML; 64 src.parentNode.replaceChild(el, src); 65 }); 66 67 let $allAnchorLinks = $menujs.querySelectorAll(".mm-listitem__text" ); 68 $allAnchorLinks.forEach(function (elem) { 69 let spanEl = document.createElement("span"); 70 spanEl.classList.add("btn-label"); 71 72 elem.childNodes.forEach(function (el) { 73 if(el.nodeType === 3){ 74 let spanEl = document.createElement("span"); 75 spanEl.classList.add("btn-label"); 76 spanEl.appendChild(document.createTextNode(el.nodeValue)); 77 78 el.replaceWith(spanEl); 79 } 80 }); 81 }); 82 83 let textnode = document.createTextNode("Menü"); 84 let firstNavBarTitle = $menujs.querySelector(".mm-navbars_top .mm-navbar__title"); 85 firstNavBarTitle.replaceChild(textnode, firstNavBarTitle.childNodes[0]); 86 87 document.addEventListener( 'help-ESC-Keyup', function(e) { 88 let $triggerId = document.getElementById("oC-trigger"); 89 90 if($triggerId && ($triggerId.checked === true)) { 91 let changeEvent = new Event('change'); 92 93 $triggerId.checked = false; 94 $triggerId.dispatchEvent(changeEvent); 95 } 96 }); 97 98 document.addEventListener( 'help-Enter-Keyup', function(e) { 99 let $triggerId = document.getElementById("oC-trigger"); 100 let $originalTargetId = document.getElementById(e.target.activeElement.id); 101 102 if($originalTargetId === $triggerId) { 103 let changeEvent = new Event('change'); 104 105 $triggerId.checked = !$triggerId.checked; 106 $triggerId.dispatchEvent(changeEvent); 107 } 108 }); 109 110 window.addEventListener( 'resize', function(e) { 111 let $oCbodyTrigger = document.querySelectorAll(".oC-bodyTrigger"); 112 let $offCanvasTrigger = document.getElementById("oC-trigger"); 113 114 if($oCbodyTrigger.length > 0) { 115 if (($oCbodyTrigger[0].style.display === "none") && ($offCanvasTrigger.checked)) { 116 document.body.classList.remove('overlayIsVisible'); 117 } else if ($offCanvasTrigger.checked) { 118 document.body.classList.add('overlayIsVisible'); 119 } 120 } 121 }); 122 123 let $triggerId = document.getElementById("oC-trigger"); 124 $triggerId.addEventListener('change', function(e) { 125 let $oCcontent = document.querySelector('.oC-contentArea'); 126 127 if (this.checked) { 128 document.body.classList.add('overlayIsVisible'); 129 130 oneTimeEvent($oCcontent, 'webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function () { 131 $oCcontent.classList.add('overflow-y'); 132 }); 133 134 } else { 135 document.body.classList.remove('overlayIsVisible'); 136 $oCcontent.classList.remove('overflow-y'); 137 } 138 }); 139 140}); 141
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.