PageSourceSearch

https://kultmopeds.de/plugins/kk_dropper/drops/KK_FlexMenu/js/flexmenu.js?v=1.2.2

js kultmopeds.de collected 2026-10-02 13:23:45 UTC 15,578 bytes, 1 lines download raw bytes

1!function(t,e){window.kkFlexMenuDrop=function(e,i){i||(i={});var n=this,o=t.extend(!0,{inDelay:150,outDelay:150,mobile:!1,sticky:!1,ajaxMenus:!1,breadcrumb:[],urlBase:""},i);o.breadcrumb&&o.breadcrumb.length||(o.breadcrumb=[]),o.breadcrumb=o.breadcrumb.map((function(t){return n.normalizeLink(t.url)})),o.breadcrumb=o.breadcrumb.filter((function(t){return!!t})),o.breadcrumb.push(n.normalizeLink(window.location.href)),o.breadcrumb=o.breadcrumb.filter((function(t,e){return o.breadcrumb.indexOf(t)==e})),o.outDelay=Math.min(o.inDelay,o.outDelay),i.mobile&&(o.inDelay=0,o.outDelay=0),this.init(e,o)},window.kkFlexMenuDrop.prototype={init:function(i,n){var o=this;if(o.loadedMenus={},o.config=n,o.jRoot=t(i),o.jRoot.data("FlexMenu",this),o.jHiddenEntriesToggle=o.jRoot.find(".kk-fm-entry-type-toggler"),o.jHiddenEntries=o.jRoot.find(".kk-fm-hidden-entries-container"),o.jEntries=o.jRoot.find(".kk-fm-entry:not(.kk-fm-entry-type-toggler)"),o.pointerType=matchMedia&&matchMedia("(pointer: coarse)").matches?"touch":"mouse",o.isSticky=!1,o.io=e.io(o.config.id,{samePage:!(o.config.pageType&&[33].indexOf(o.config.pageType)>=0),url:o.config.urlBase||"",init:!0,early:!0}),o.jRoot.find(".kk-fm-entry").mouseleave((function(){o.deactivateAll()})),o.config.mobile||"touch"===o.pointerType?(o.handleClickActivation(),o.handleMobileSubmenuScroll()):o.handleHoverActivation(),o.markLinks(),o.handleStickyBehaviour(),o.disableHoverTitles(),window.ResizeObserver){new ResizeObserver((function(){o.layout()})).observe(o.jRoot.find(".kk-fm-entry-wrapper").get(0))}else{var r=t(window).width();t(window).resize(o.debounce((function(){t(window).width()!=r&&(r=t(window).width(),o.layout())}),50)),o.layout()}if(document&&document.fonts&&document.fonts.check&&document.fonts.ready){var a=o.jRoot.find(".kk-fm-entry-label").eq(0),s={stack:a.css("font-family"),size:a.css("font-size")||"1em",weight:a.css("font-weight")||"normal",style:a.css("font-style")||"normal"};!s.stack||document.fonts.check(s.style+" "+s.weight+" "+s.size+" "+s.stack.split(",")[0].trim())||document.fonts.ready.then((function(){o.layout()}))}o.jRoot.find(".kk-fm-entry img[src]").on("load",o.debounce((function(){o.layout()}),100)),o.jRoot.click((function(t){t.stopPropagation()})),t("body").click((function(){o.deactivateAll(0)})),o.jHiddenEntriesToggle.click((function(){t(this).toggleClass("kk-fm-active"),o.jHiddenEntries.slideToggle("medium",(function(){o.jHiddenEntries.toggleClass("kk-fm-expanded")}))})),setTimeout((function(){o.jRoot.addClass("kk-fm-initialized")}),150),o.jRoot.on("click",".kk-fm-submenu--close",(function(){o.deactivateAll(0)})),o.jRoot.find(".kk-fm-search--input").focus((function(){t(this).closest(".kk-fm-entry").addClass("kk-fm-active")})),o.jRoot.find(".kk-fm-search--input").blur((function(){t(this).closest(".kk-fm-entry").removeClass("kk-fm-active")})),o.jRoot.find(".kk-fm-entry-type-search").click((function(){t(this).find(".kk-fm-search--input").focus()})),t&&t.evo&&t.evo.basket&&o.jRoot.find(".kk-fm-entry-type-cart").length&&o.registerCartUpdates(),o.fetchAjaxMenus(),o.handleKeyboardNavigation()},debounce:function(t,e){var i;return function(){var n=this,o=arguments,later=function(){t.apply(n,o)};clearTimeout(i),i=setTimeout(later,e)}},handleClickActivation:function(){var e=this;e.jRoot.find("a.kk-fm-entry-label").click((function(i){var n=t(this).closest(".kk-fm-entry");n.hasClass("kk-fm-entry-has-submenu")&&!n.hasClass("kk-fm-active")&&(i.preventDefault(),e.activate(n))}))},handleHoverActivation:function(){var t=this;t.jRoot.find(".kk-fm-entry").mouseenter((function(){t.activate(this)}))},handleKeyboardNavigation:function(){var e=this;e.jRoot.on("keydown",(function(i){var n=i.which||i.keyCode;if(!i.target.matches("input")){var o=t(i.target).closest(".kk-fm-entry");if(o.length){var r=o.find(".kk-fm-entry-label:first");if(r.length){var a=o.find(".kk-fm-submenu:first"),s=document.activeElement,d=t(s);switch(n){case 38:i.preventDefault(),e.deactivateAll(0),r.focus();break;case 40:i.preventDefault(),e.keyboardActivate(o),(f=a.find("a:visible, button:visible, .kk-fm-link:visible").get(0))&&f.focus();break;case 37:case 39:i.preventDefault();let t=s.matches(".kk-fm-entry-label"),h=t?".kk-fm-entry-label[tabindex]":"a, button, .kk-fm-link";var f=Array.from(e.jRoot.get(0).querySelectorAll(h)).filter(t=>!t.disabled&&t.isConnected&&null!==t.offsetParent);if(!s||!f.includes(s))return;var c=f.indexOf(s),l=39===n?(c+1)%f.length:(c-1+f.length)%f.length;t&&e.deactivateAll(0),f[l].focus();break;case 27:i.preventDefault(),e.deactivateAll(0),r.focus();break;case 13:case 32:if(i.preventDefault(),o.hasClass("kk-fm-entry-type-toggler"))return o.click();if(32===n&&o.hasClass("kk-fm-toggle"))o.hasClass("kk-fm-active")?(e.deactivateAll(0),r.focus()):e.keyboardActivate(o);else{var u=d.attr("href");u&&(window.location.href=u)}}}}}}))},keyboardActivate:function(t){this.deactivateAll(0),this.activate(t,0)},activate:function(e,i){var n=this,o=t(e);o.addClass("kk-fm-hover"),o.hasClass("kk-fm-toggle")&&(clearTimeout(o.data("deactivateTimeout")),n.jRoot.find(".kk-fm-toggle").each((function(){clearTimeout(t(this).data("activateTimeout"))})),o.data("activateTimeout",setTimeout((function(){var i=n.jRoot.find(".kk-fm-active:not(.kk-fm-entry-type-toggler)");i.removeClass("kk-fm-active"),i.children(".kk-fm-entry-label[aria-expanded]").attr("aria-expanded","fal
1se"),o.addClass("kk-fm-active"),o.find(".kk-fm-submenu").attr("aria-hidden","false"),o.children(".kk-fm-entry-label[aria-expanded]").attr("aria-expanded","true"),n.config.mobile&&t("html").addClass("kk-fm-mobile-noscroll"),n.layoutGrids(o),n.layoutSubmenu(o),n.config.ajaxMenus&&n.loadAjaxMenu(e)}),"number"==typeof i?i:n.config.inDelay||0)))},deactivateAll:function(e){var i=this;i.jRoot.find(".kk-fm-entry").removeClass("kk-fm-hover"),i.jRoot.find(".kk-fm-toggle").each((function(){var n=t(this);clearTimeout(t(this).data("activateTimeout")),t(this).data("deactivateTimeout",setTimeout((function(){n.removeClass("kk-fm-active"),n.children("a.kk-fm-entry-label[aria-expanded]").attr("aria-expanded","false"),n.find(".kk-fm-submenu").attr("aria-hidden","true"),i.config.mobile&&t("html").removeClass("kk-fm-mobile-noscroll")}),"number"==typeof e?e:i.config.outDelay||0))}))},normalizeLink:function(t){if(!t||"string"!=typeof t)return"-1";if(0===(t=t.trim()).indexOf("javascript:"))return"-1";var e=0===t.indexOf("https://")||0===t.indexOf("http://")||0===t.indexOf("//"),i=(i=(i=(i=t.split("#")[0]).replace("https://","")).replace("http://","")).split("/");return i=i.filter((function(t){return!!t.trim()})),e&&i.shift(),i=(i=i.join("/")).toLowerCase()},lazyLink:function(t){var e=t;
1return(e=(e=e.split(":")[0]).split("__")[0])&&(e=e.split("?")[0]),e},isLinkInBreadcrumb:function(t){for(var e=this.normalizeLink(t),i=this.config.breadcrumb.length-1;i>=0;i--){var n=this.config.breadcrumb[i],o=this.lazyLink(n);if(n===e)return i;if(o===e)return i}return!1},markLinks:function(){var e=this;if(e.config.breadcrumb&&e.config.breadcrumb.length){var i=!1;e.jRoot.find("a.kk-fm-link[href]").each((function(){var n=t(this).attr("href");if(!1!==e.isLinkInBreadcrumb(n)){var o=t(this).is(".kk-fm-entry-label");i||(t(this).closest(".kk-fm-entry").find(".kk-fm-entry-label").addClass("kk-fm-link-active"),i=!0),o&&i||t(this).addClass("kk-fm-link-active")}}))}},moveEntryToOrigin:function(e){var i=e.attr("data-menu-group"),n=this.jRoot.find(".kk-fm-entry-group-"+i);t.contains(n.get(0),e.get(0))||n.append(e)},moveEntryToHiddenContainer:function(e){t.contains(this.jHiddenEntries.get(0),e.get(0))||this.jHiddenEntries.append(e)},getEntryPriority:function(t){return parseInt(t.attr("data-menu-priority"),10)},handleBreakingEntries:function(){var e=this,i=e.jRoot.find(".kk-fm-entry-wrapper");i.css("overflow","hidden");var n=e.jHiddenEntriesToggle;n.removeClass("kk-fm-hidden");var o=n.outerWidth(!0);e.jEntries.each((function(){e.moveEntryToOrigin(t(this))}));var r=[];e.jEntries.each((function(){var e=t(this),i=e.attr("data-menu-guid");r.push({entry:e,guid:i,priority:parseInt(e.attr("data-menu-priority"),10),group:e.attr("data-menu-group"),sort:parseInt(e.attr("data-menu-sort"),10),width:e.outerWidth(!0)})})),r=r.sort((function(t,e){return"left"===t.group&&"right"===e.group?1:"right"===t.group&&"left"===e.group?-1:e.sort-t.sort}));var a=e.jRoot.find(".kk-fm-entry-wrapper").eq(0).innerWidth(),s=!1,d=!1;r.forEach((function(t){0===t.priority&&(e.moveEntryToHiddenContainer(t.entry),t.done=!0,s=!0)})),s&&(a-=o),d=s;var f=(r=r.filter((function(t){return!t.done}))).reduce((function(t,e){return t+e.width}),0);f>a&&r.filter((function(t){return 1===t.priority})).forEach((function(t){e.moveEntryToHiddenContainer(t.entry),t.done=!0,s=!0})),s&&!d&&(a-=o),d=s,r=r.filter((function(t){return!t.done}));for(var c=2;c<=3&&r.length&&(f=r.reduce((function(t,e){return t+e.width}),0))>a;){var l=r.filter((function(t){return t.priority===c}));(l=l[0]?l[0]:null)?(e.moveEntryToHiddenContainer(l.entry),l.done=!0,(s=!0)&&!d&&(a-=o),d=s,r=r.filter((function(t){return!t.done}))):c++}s||n.addClass("kk-fm-hidden"),e.sortEntries(e.jRoot.find(".kk-fm-entry-group-left")),e.sortEntries(e.jRoot.find(".kk-fm-entry-group-right")),e.sortEntries(e.jRoot.find(".kk-fm-hidden-entries-container")),i.css("overflow","")},sortEntries:function(e){var i=e.find(".kk-fm-entry");[].sort.call(i,(function(e,i){var n=t(e).attr("data-menu-group"),o=t(i).attr("data-menu-group");return"left"===n&&"right"===o?-1:"right"===n&&"left"===o?1:+t(e).attr("data-menu-sort")-+t(i).attr("data-menu-sort")})),i.each((function(){e.append(this)}))},layoutGrids:function(e){var i=e?t(e).find(".kk-fm-grid"):this.jRoot.find(".kk-fm-grid");i.length&&i.each((function(){var e=t(this),i=e.children(".kk-fm-grid-item");if(i.length){e.css("visibility","hidden").removeClass("kk-fm-grid--inited"),i.css("width","");var n=e.attr("data-grid-max-columnwidth")?parseInt(e.attr("data-grid-max-columnwidth"),10):1/0,o=0;i.each((function(){var e=Math.ceil(t(this).outerWidth(!1));e>o&&(o=e)})),o>n&&(o=n),e.each((function(t,e){e.style.setProperty("--kk-fm-grid-min-width",o+"px"),e.style.setProperty("visibility",""),e.classList.add("kk-fm-grid--inited")}))}}))},layoutSubmenu:function(i){var n=i?t(i):this.jRoot.find(".kk-fm-entry");if(n.length){var o=this.jRoot.find(".kk-fm-entry-wrapper");n.each((function(){var e=t(this),i=e.find(".kk-fm-submenu");if(i&&i.length){var n=e.position().top+e.height();i.css("top",n+"px")}if(i.hasClass("kk-fm-submenu-sized")){var r=i.attr("data-dropdown-align");if(!r)return;var a,s=e.position().left;"left"===r&&(a=s),"right"===r&&(a=s+e.outerWidth(!1)-i.outerWidth(!0)),"center"===r&&(a=s+e.outerWidth(!1)/2-i.outerWidth(!0)/2),a<0&&(a=0),a+i.outerWidth(!1)>o.innerWidth()&&(a=o.innerWidth()-i.outerWidth(!1)),i.css("left",a+"px")}})),e.notifyResize(n)}},layout:function(){this.handleBreakingEntries(),this.layoutGrids(this.jRoot.find(".kk-fm-entry.kk-fm-active")),this.layoutSubmenu(this.jRoot.find(".kk-fm-entry.kk-fm-active"))},disableHoverTitles:function(){this.jRoot.on("mouseenter","a.kk-fm-entry-label",(function(){t(this).attr("title")&&(t(this).attr("data-hover-title",t(this).attr("title")),t(this).attr("title",""))})),this.jRoot.on("mouseleave","a.kk-fm-entry-label",(function(){t(this).attr("data-hover-title")&&(t(this).attr("title",t(this).attr("data-hover-title")),t(this).attr("data-hover-title",""))}))},detectSticky:function(){return t(document).scrollTop()>this.menuTop},makeSticky:function(){this.menuTop=this.jRoot.offset().top,this.jPlaceholder||(this.jPlaceholder=t('<div class="kk-fm-sticky-placeholder">')),this.jPlaceholder.css({width:this.jRoot.css("width"),height:this.jRoot.css("height"),"margin-top":this.jRoot.css("margin-top"),"margin-left":this.jRoot.css("margin-left"),"margin-bottom":this.jRoot.css("margin-bottom"),"margin-right":this.jRoot.css("margin-right"),display:this.jRoot.css("display"),position:this.jRoot.css("position"),border:this.jRoot.css("border"),"border-top":this.jRoot.css("border-top"),"border-left":this.jRoot.css("border-left"),"border-bottom":this.jRoot.css("border-bottom"),"border-right":this.jRoot.css("border-right"),opacity:0,visibility:"hidden"});var e=this.jRoot.offset().left,i=this.jRoot.width();t(window).width()<=736&&(e=0,i=t(window).width()),this.jRoot.css({left:e+"px",width:i+"px"}),this.jRoot.before(this.jPlaceholder),this.jRoot.addClass("kk-fm-sticky"),this.handleBreakingEntries(),this.jHiddenEntries.find(".kk-fm-entry.kk-fm-active").length&&(this.jHiddenEntriesToggle.addClass("kk-fm-active"),this.jHiddenEntries.slideDown(0).addClass("kk-fm-expanded")),this.layoutSubmenu(this.jRoot.find(".kk-fm-entry.kk-fm-active"))},makeUnsticky:function(){this.jPlaceholder&&this.jPlaceholder.detach(),this.jRoot.css({left:"",width:""}),this.jRoot.removeClass("kk-fm-sticky"),this.handleBreakingEntries(),this.layoutSubmenu(this.jRoot.find(".kk-fm-entry.kk-fm-active"))},runSticky:function(){var t=this.detectSticky();this.isSticky&&!t?(this.isSticky=!1,this.makeUnsticky()):!this.isSticky&&t&&(this.isSticky=!0,this.makeSticky())},handleStickyBehaviour:function(){if(this.config.sticky){var e=this;e.menuTop=e.jRoot.offset().top,e.runSticky(),t(document).scroll((function(){e.runSticky()}));var i=t(window).width();t(window).resize(e.debounce((function(){t(window).width()!=i&&(i=t(window).width(),e.isSticky&&(e.isSticky=!1,e.makeUnsticky(),e.runSticky()))}),100))}},handleMobileSubmenuScroll:function(){this.config.mobile&&this.jEntries.each((function(){var e=t(this).find(".kk-fm-submenu");e.length&&(e=e.get(0)).addEventListener("scroll",(function(){var t=e.scrollTop<0||e.scrollTop>e.scrollHeight-e.clientHeight;e.style.webkitOverflowScrolling=t?"auto":"touch"}),!0)}))},fetchAjaxMenus:function(t){var e=this;if(e.config.ajaxMenus)return void 0!==e.ajaxMenus?t("string"==typeof e.ajaxMenus?e.ajaxMenus:null,"
1string"!=typeof e.ajaxMenus?e.ajaxMenus:null):void e.io.call("getMenus",null,(function(i,n){if(i)return e.ajaxMenus=i,void(t&&t(i,null));e.ajaxMenus=n,t&&t(null,e.ajaxMenus)}))},loadAjaxMenu:function(e){var i=this;if(i.config.ajaxMenus){var n=t(e).find(".kk-fm-submenu-ajax-content"),o=t(e).find(".kk-fm-submenu"),r=o.attr("data-guid"),a=+new Date;i.loadedMenus[r]||(i.loadedMenus[r]=!0,i.fetchAjaxMenus((function(s,d){if(s)return n.append('<div class="alert alert-danger box_info">Menu konnte nicht geladen werden: <pre>'+JSON.stringify(s)+"</pre></div>"),void o.addClass("kk-fm-submenu-loaded");if(d[r]){var f=t(d[r]);n.append(f),i.layoutGrids(e),i.layoutSubmenu(e),i.markLinks(),f.find("img").each((function(){t(this).on("load",i.debounce((function(){i.layoutGrids(e),i.layoutSubmenu(e)}),50))}));var c=+new Date-a;setTimeout((function(){o.addClass("kk-fm-submenu-loaded")}),Math.max(0,200-c))}})))}},registerCartUpdates:function(){var e=this;e.hookEvo("basket","pushedToBasket",(function(){e.jEntries.each((function(){var i=t(this);if(i.hasClass("kk-fm-entry-type-cart")){var n=i.attr("data-menu-guid");if(!n)return;e.io.call("getMenuLabel",{guid:n},(function(t,e){if(t)return console.log("could not fetch menu entry label for menu "+n,t);e&&i.find("> .kk-fm-entry-label").replaceWith(e)}))}}))}))},hookEvo:function(e,i,n){if(!t||!t.evo||!t.evo[e])return console.warn("$.evo."+e+" does not exist and could not be hooked.");var o=t.evo[e],__ctor=function(){var t=o.apply(this,arguments);if(!t[i])return console.warn(i+" does not exist on the resulting object of $.evo."+e+"() and could not be hooked."),t;var r=t[i];return t[i]=function(){return n.apply(this,arguments),r.apply(this,arguments)},t};return t.evo[e]=__ctor,__ctor}}}(jQuery,window.DropperFramework);

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.