{"version":3,"sources":["jsMenu.min.js"],"names":["EBContext","modules","JSMenu","self","options","data","categories","menuCategories","structure","seoidMap","firstSorting","parentSEOID","propMap","Children","SEOID","OID","Name","title","Tooltip","iconImg","fnSortCategories","catsObj","Array","isArray","Object","values","sort","a","b","Order","parseInt","Sorting","replace","render","menuWrapId","closeInactive","closeOnOutsideClick","menuLevelLimit","templates","itemHrefTemplate","hrefMap","result_categoryseoid","menuItem","itemContent","childrenWrap","toggleEl","iconOpen","iconClosed","iconImage","dummyEl","titleEl","target","tooltip","templateVariables","getIcon","item","category","Icon","iconId","iconStyle","match","trim","indexOf","setBgColor","color","fnToggleCategory","catEl","open","querySelector","classList","add","resource","innerHTML","remove","fnRenderCallback","scopeEl","ajaxNav","AjaxNavigation","bindElements","findElements","fnToggleClick","event","currentTarget","closest","toggleCategory","getAttribute","defaultRenderer","stopPropagation","preventDefault","activeCatID","init","Math","ceil","utils","extendObj","oidMap","setSorting","cat","sorting","i","children","length","slice","keys","hasOwnProperty","topLevel","renderer","mergeObj","menuWrapEl","document","getElementById","addEventListener","contains","closeAllCategories","saveCategory","Storage","sessionStorage","setItem","loadCategory","menuCategory","categoryEnabled","catObj","getCatObj","UseEBC","showCat","session","Cust_UseEBC","split","find","ii","Cust_Categories","toString","catID","catScope","nextSubCat","prefix","catPath","substr","join","getCatID","seoid","oid","getCatPath","prop","lastCat","idPath","nextId","push","processLinks","scope","querySelectorAll","forEach","el","href","onclick","e","actionArr","actionObj","getObj","apply","sidebar","toggle","renderCategory","jsMenu","custRenderer","v","s","catChildWrap","template","createElement","style","listStyleType","marginBottom","bgColor","items","itemEl","createItem","appendChild","skipRender","Link","catSorting","icon","Target","catOverride","titleOverrideProp","noLink","opt","renderChildren","filter","key","value","entries","setAttribute","itemLink","toggleButton","click","openCategory","parentCatID","element","isVisible","catLevel","iLevel","iCatID","iCatEl","closeOtherCategories","categoryEl","instances","searchObj","id","setObj","SidebarMenu","togglerSelector","menuTitle","bodyClass","transition","timeout","properties","boxOptions","order","isHidden","inSidebar","triggerEl","boxes","togglerEl","sidebarEl","bodyEl","closeEl","overlayEl","skipTransition","refresh","display","setTimeout","body","activeElement","blur","right","focusedEl","tp","overlay","panel","header","close","footer","transitionClass","setProperty","code","initialized","bodyWidth","clientWidth","window","register","selector","elArr","boxEl","prevElArr","parentEl","parentElement","state","removeChild","splice","after","Breadcrumbs","renderHome","lastIsActive","wrapSelector","home","languageUrl","active","default","disabled","categoryLink","showDisabled","truncateText","subTitle","breadcrumbs","breadcrumbsStr","breadcrumbStr","name","type","unshift","shift","breadcrumbsEl","breacrumbsArr","j","catEnabled","breadcrumb","link","ElementSlider","scrollEl","prevHTML","nextHTML","scrollWrapEl","scrollWidth","styleEl","append","isDown","end","start","left","startX","pageX","touches","parseFloat","firstChild","marginLeft","move","x","prevEl","createDOM","nextEl","step","lastChild","marginRight","prepend","ro","ResizeObserver","observe"],"mappings":"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","sourcesContent":["/**\r\n * Function to generate foldable javascript menu\r\n * @class JSMenu\r\n * @memberof EBContext.modules\r\n */\r\nEBContext.modules.JSMenu = function() {\r\n let self = this;\r\n this.options = {\r\n data: {\r\n categories: EBContext.data.menuCategories.structure || {},\r\n seoidMap: null,\r\n firstSorting: EBContext.data.menuCategories.firstSorting || '',\r\n parentSEOID: EBContext.data.menuCategories.parentSEOID || '',\r\n propMap: {\r\n Children: 'Children',\r\n SEOID: 'SEOID',\r\n OID: 'OID',\r\n Name: 'Name',\r\n title: 'Name',\r\n Tooltip: 'Tooltip',\r\n iconImg: 'IconImg'\r\n },\r\n fnSortCategories: function(catsObj) {\r\n if (!Array.isArray(catsObj)) catsObj = Object.values(catsObj);\r\n catsObj.sort((a,b)=>{\t// Z�znamy bez Order d�t nakonec\r\n \tif(a.Order === null && b.Order !== null) return 1;\r\n \tif(a.Order !== null && b.Order === null) return -1;\r\n \treturn 0;\r\n });\r\n catsObj.sort((a,b)=>{\t// Z�znamy s Order se�adit dle Order\r\n \tif(a.Order !== null && b.Order !== null) return a.Order - b.Order;\r\n \treturn 0;\r\n });\r\n catsObj.sort((a,b)=>{ // Sekund�rn� z�znamy se�adit dle Sortingu\r\n \tif(a.Order === b.Order) return parseInt(a.Sorting.replace(/-/g, '')) - parseInt(b.Sorting.replace(/-/g, ''));\r\n \treturn 0;\r\n \t});\r\n return catsObj;\r\n }\r\n },\r\n render: {\r\n menuWrapId: null,\r\n closeInactive: false,\r\n closeOnOutsideClick: false,\r\n menuLevelLimit: 10,\r\n templates: {\r\n itemHrefTemplate: EBContext.data.hrefMap.result_categoryseoid || '/categories/',\r\n menuItem: '
  • \">>
  • ',\r\n itemContent: '',\r\n childrenWrap: '',\r\n toggleEl: '',\r\n iconOpen: '',\r\n iconClosed: '',\r\n iconImage: '\" alt=\"\" class=\"menuIcon\" />',\r\n dummyEl: '
    ',\r\n titleEl: '',\r\n\t\t\t\ttarget: ' target=\"\"',\r\n\t\t\t\ttooltip: ' title=\"\"'\r\n },\r\n templateVariables: {\r\n getIcon: item=>{\r\n \tif(item.category && item.category.Icon){\r\n\t\t\t\t\t\tlet iconId = item.category.Icon;\r\n\t\t\t\t\t\tlet iconStyle = iconId.match(/(^|\\s)(fa\\w)(\\s|$)/g);\r\n\t\t\t\t\t\ticonStyle = (!iconStyle ? 'fas' : iconStyle[0].trim());\r\n\t\t\t\t\t\ticonId = iconId.replace(/(^|\\s)(fa\\w)(\\s|$)/g, '').trim();\r\n\t\t\t\t\t\ticonId = (iconId.indexOf('fa-') === 0 ? '' : 'fa-') + iconId;\r\n\t\t\t\t\t\treturn '';\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn '';\r\n },\r\n setBgColor: (color)=>(color ? ' bg-' + color : ' text-reset')\r\n },\r\n fnToggleCategory: function(catEl, open) {\r\n let toggleEl = catEl.querySelector('.jsmenu-toggle');\r\n if (!open) {\r\n catEl.classList.remove('jsmenu-open');\r\n if (toggleEl) {\r\n\t toggleEl.title = EBContext.resource('ROZBALIT');\r\n toggleEl.innerHTML = this.templates.iconClosed;\r\n }\r\n } else {\r\n catEl.classList.add('jsmenu-open');\r\n if (toggleEl) {\r\n\t toggleEl.title = EBContext.resource('SBALIT');\r\n toggleEl.innerHTML = this.templates.iconOpen;\r\n }\r\n }\r\n },\r\n fnRenderCallback: function(scopeEl) {\r\n if (EBContext.ajaxNav && EBContext.ajaxNav instanceof EBContext.modules.AjaxNavigation) {\r\n EBContext.ajaxNav.bindElements(EBContext.ajaxNav.findElements('link', scopeEl), 'link');\r\n }\r\n },\r\n fnToggleClick: function(event) {\r\n let catEl = event.currentTarget.closest('.jsmenu-item');\r\n self.toggleCategory(catEl.getAttribute('data-jsmenu-catid'), null, self.defaultRenderer, catEl);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n }\r\n };\r\n this.activeCatID = null;\r\n\r\n this.init = function(options) {\r\n self.options = EBContext.utils.extendObj(true, self.options, options);\r\n if(!self.options.data.seoidMap) self.options.data.seoidMap = {};\r\n if(!self.options.data.oidMap) self.options.data.oidMap = {};\r\n \r\n var setSorting = (cat,sorting)=>{\r\n if (!Array.isArray(cat))\r\n cat = Object.values(cat);\r\n let i, children;\r\n for (i = 0; i < cat.length; i++) {\r\n cat[i].Sorting = cat[i].Sorting || (sorting ? sorting + \"-\" : \"\") + (\"00\" + i).slice(-3);\r\n children = cat[i][self.options.data.propMap.Children];\r\n if (children && Object.keys(children).length > 0) {\r\n setSorting(children, cat[i].Sorting);\r\n }\r\n if (!cat[i].hasOwnProperty('Children')){ // Children m� jen MENUCATEGORIES - MENUCMS m� jen Sub\r\n \tcat[i].Sorting = 'cms_' + cat[i].Sorting;\r\n }\r\n self.options.data.oidMap[cat[i][self.options.data.propMap.OID]] = cat[i].Sorting;\r\n self.options.data.seoidMap[cat[i][self.options.data.propMap.SEOID]] = cat[i].Sorting;\r\n }\r\n };\r\n setSorting(self.options.data.categories, null);\r\n \r\n self.topLevel = Math.ceil(self.options.data.firstSorting.length / 4);\r\n self.defaultRenderer = new self.renderer();\r\n };\r\n\r\n this.renderer = function(options) {\r\n var renderer = this;\r\n this.options = EBContext.utils.mergeObj(false, self.options.render, options);\r\n if (this.options.menuWrapId) {\r\n this.menuWrapEl = document.getElementById(this.options.menuWrapId);\r\n if (this.options.closeOnOutsideClick) {\r\n document.addEventListener('click', event=>{\r\n if (!this.menuWrapEl.contains(event.target))\r\n self.closeAllCategories(renderer);\r\n });\r\n document.addEventListener('EBContext.ajaxNav.navigate', event=>self.closeAllCategories(renderer));\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n this.saveCategory = function() {\r\n if (typeof (Storage) !== 'undefined') {\r\n sessionStorage.setItem('menuCategory', self.activeCatID);\r\n return true;\r\n }\r\n return false;\r\n };\r\n this.loadCategory = function() {\r\n if (typeof (Storage) !== 'undefined') {\r\n if (sessionStorage.menuCategory)\r\n return sessionStorage.menuCategory;\r\n }\r\n return false;\r\n };\r\n this.categoryEnabled = function(catObj) {\r\n if (typeof catObj === 'string')\r\n catObj = self.getCatObj(catObj);\r\n if (!catObj)\r\n return false;\r\n if (catObj.UseEBC === undefined)\r\n return true;\r\n // MenuCMS - ignorovat podm�nku a v�dy zobrazit\r\n\r\n let showCat = false;\r\n // M� kategorie EBC p��znak mezi EBC p��znaky p�ihl�en�ho customera?\r\n if (EBContext.data.session.Cust_UseEBC.split(';').find(ii=>{\r\n return (catObj.UseEBC.indexOf(ii) > -1);\r\n }\r\n )) {\r\n\r\n // M� p�ihl�en� Customer danou kategorii mezi povolen�mi kat. El. cen�ku?\r\n if (!EBContext.data.session.Cust_Categories || EBContext.data.session.Cust_Categories.toString().indexOf(catObj.OID) > -1) {\r\n showCat = true;\r\n }\r\n }\r\n return showCat;\r\n };\r\n this.getCatObj = function(catID, catScope) {\r\n if (!catScope) {\r\n catScope = {};\r\n catScope.Sorting = self.options.data.firstSorting;\r\n catScope[self.options.data.propMap.Children] = self.options.data.categories;\r\n }\r\n if ((!catID || catID === self.options.data.firstSorting || catID === 'root_category') && self.categoryEnabled(catScope))\r\n return catScope;\r\n var catObj;\r\n if (Array.isArray(catScope[self.options.data.propMap.Children])) {\r\n catObj = catScope[self.options.data.propMap.Children].find(item=>item.Sorting === catID);\r\n if (catObj && self.categoryEnabled(catObj))\r\n return catObj;\r\n }\r\n if (catScope[self.options.data.propMap.Children] && catScope[self.options.data.propMap.Children].hasOwnProperty(catID))\r\n return catScope[self.options.data.propMap.Children][catID];\r\n\r\n let prefix = (self.options.data.firstSorting ? self.options.data.firstSorting + '-' : '');\r\n let catPath = catID.substr(prefix.length).split('-');\r\n let nextSubCat;\r\n if (!catScope.Sorting || catScope.Sorting === self.options.data.firstSorting) {\r\n nextSubCat = prefix + catPath[0];\r\n } else {\r\n nextSubCat = prefix + catPath.slice(0, catScope.Sorting.substr(prefix.length).split('-').length + 1).join('-');\r\n }\r\n if (Array.isArray(catScope[self.options.data.propMap.Children])) {\r\n catObj = catScope[self.options.data.propMap.Children].find(item=>item.Sorting === nextSubCat);\r\n } else {\r\n catObj = catScope[self.options.data.propMap.Children][nextSubCat];\r\n }\r\n\r\n if (catObj && self.categoryEnabled(catObj))\r\n return self.getCatObj(catID, catObj);\r\n return false;\r\n };\r\n this.getCatID = function(seoid, oid) {\r\n \tif(seoid){\r\n\t if (seoid in self.options.data.seoidMap)\r\n\t return self.options.data.seoidMap[seoid];\r\n\t return '';\r\n \t} else if(oid){\r\n \t\tif (oid in self.options.data.oidMap)\r\n\t return self.options.data.oidMap[oid];\r\n\t return '';\r\n \t}\r\n };\r\n this.getCatPath = function(catID, prop) {\r\n let prefix = (self.options.data.firstSorting ? self.options.data.firstSorting + '-' : '');\r\n let idPath = catID.substr(prefix.length).split('-');\r\n let catPath = [];\r\n let lastCat, nextSubCat;\r\n for (var i = 0; i < idPath.length; i++) {\r\n if (!lastCat || !lastCat.Sorting || lastCat.Sorting === self.options.data.firstSorting) {\r\n nextId = prefix + idPath[0];\r\n lastCat = self.options.data.categories[nextId];\r\n } else {\r\n nextId = prefix + idPath.slice(0, lastCat.Sorting.substr(prefix.length).split('-').length + 1).join('-');\r\n if(Array.isArray(lastCat[self.options.data.propMap.Children])){\r\n lastCat = lastCat[self.options.data.propMap.Children].find(cat=>cat.Sorting===nextId);\r\n } else {\r\n lastCat = lastCat[self.options.data.propMap.Children][nextId];\r\n }\r\n \r\n }\r\n if (!lastCat)\r\n lastCat = self.options.data.categories[nextId] || null;\r\n catPath.push((lastCat && prop ? lastCat[prop] : nextId));\r\n }\r\n return catPath;\r\n };\r\n\r\n this.processLinks = function(scope, renderer) {\r\n renderer = renderer || self.defaultRenderer;\r\n scope = scope || renderer.menuWrapEl || document;\r\n [...scope.querySelectorAll('a[href]')].forEach(el=>{\r\n if (el.href.indexOf('action:') === 0) {\r\n el.onclick = e=>{\r\n \te.preventDefault();\r\n let actionArr = e.currentTarget.href.substr(7).split(';');\r\n let actionObj = EBContext.utils.getObj('actions.' + actionArr[0], EBContext);\r\n if (typeof actionObj === 'function')\r\n actionObj.apply(null, actionArr.slice(1));\r\n if(EBContext.sidebar) EBContext.sidebar.toggle(false);\r\n return false;\r\n };\r\n }\r\n });\r\n };\r\n this.renderCategory = function(catID, renderer, scope) {\r\n renderer = renderer || self.defaultRenderer;\r\n scope = scope || renderer.menuWrapEl;\r\n if(!scope) return null;\r\n\t\tif(!catID) renderer.menuWrapEl.innerHTML = '';\r\n if (catID && this !== EBContext.jsMenu && catID.indexOf('cms_') === -1){\r\n \tlet custRenderer = EBContext.utils.mergeObj(false, renderer, {\r\n options:{templates:{itemHrefTemplate:EBContext.jsMenu.defaultRenderer.options.templates.itemHrefTemplate}}\r\n });\r\n \treturn EBContext.jsMenu.renderCategory(catID, custRenderer, scope);\r\n }\r\n if (catID && catID !== self.options.data.firstSorting && catID !== 'root_category' && !Object.values(self.options.data.categories).find(v=>(catID.indexOf(v.Sorting) === 0)))\r\n return null;\r\n if (!catID) {\r\n scope = renderer.menuWrapEl;\r\n } else if (catID.split('-').length < renderer.options.menuLevelLimit) {\r\n scope = scope.querySelector('[data-jsmenu-catid=\"' + catID + '\"]') || (scope.getAttribute('data-jsmenu-catid') === catID ? scope : null);\r\n if (!scope){\r\n\t\t\t\tlet s = self.renderCategory(catID.split('-').slice(0, -1).join('-'), renderer, scope);\r\n\t\t\t\tif(s) scope = s.querySelector('[data-jsmenu-catid=\"' + catID + '\"]');\r\n\t\t\t}\r\n\t\t\tif (!scope) return null;\r\n } else {\r\n return null;\r\n }\r\n let catChildWrap;\r\n let catObj = self.getCatObj(catID);\r\n catObj = EBContext.utils.mergeObj(false, catObj, renderer.options.templateVariables);\r\n if (renderer.options.templates.childrenWrap) {\r\n catChildWrap = EBContext.utils.template(renderer.options.templates.childrenWrap, renderer.options.templates, catObj)[0];\r\n } else {\r\n catChildWrap = document.createElement('ul');\r\n catChildWrap.style.listStyleType = 'none';\r\n catChildWrap.style.marginBottom = '0';\r\n if(catObj.bgColor){\r\n\t\t\t\tcatChildWrap.classList.add('bg-'+catObj.bgColor);\r\n\t\t\t} else {\r\n\t\t\t\tcatChildWrap.classList.add('bg-inherit','text-inherit');\r\n\t\t\t}\r\n let items = self.options.data.fnSortCategories(catObj[self.options.data.propMap.Children] || []);\r\n for (let i = 0; i < items.length; i++) {\r\n let itemEl = self.createItem(items[i], renderer);\r\n if (itemEl)\r\n catChildWrap.appendChild(itemEl);\r\n }\r\n }\r\n scope.appendChild(catChildWrap);\r\n self.processLinks(scope, renderer);\r\n renderer.options.fnRenderCallback(catChildWrap);\r\n return catChildWrap;\r\n };\r\n this.createItem = function(catObj, renderer, skipRender, propMap) {\r\n if (!self.categoryEnabled(catObj)) return null;\r\n renderer = renderer || self.defaultRenderer;\r\n if (!renderer.menuWrapEl) return null;\r\n if (catObj.Link && catObj.Link.indexOf('category:') === 0) {\r\n catObj.SEOID = catObj.Link.substr(9);\r\n if (catObj.SEOID === '') {\r\n catObj.Sorting = EBContext.jsMenu.options.data.firstSorting || 'root_category';\r\n } else {\r\n catObj.Sorting = EBContext.jsMenu.getCatID(catObj.SEOID);\r\n }\r\n\t\t\tif(!catObj.Sorting) return false;\r\n let title = catObj[self.options.data.propMap.Name] || '';\r\n let catSorting = catObj.Sorting;\r\n let bgColor = catObj.bgColor;\r\n\t\t\tlet icon = catObj.Icon;\r\n let target = catObj.Target;\r\n catObj = EBContext.jsMenu.getCatObj(catObj.Sorting);\r\n catObj.Sorting = catSorting;\r\n let custRenderer = EBContext.utils.mergeObj(false, renderer, {\r\n options: {\r\n templates: {\r\n itemHrefTemplate: EBContext.jsMenu.defaultRenderer.options.templates.itemHrefTemplate\r\n }\r\n }\r\n });\r\n let catOverride = {};\r\n let titleOverrideProp = EBContext.utils.getObj('options.data.propMap.title', EBContext.jsMenu);\r\n if (titleOverrideProp)\r\n catOverride[titleOverrideProp] = title;\r\n catOverride.bgColor = bgColor;\r\n catOverride.Target = target;\r\n catOverride.Icon = icon;\r\n return EBContext.jsMenu.createItem(EBContext.utils.mergeObj(false, catObj, catOverride), custRenderer, skipRender, this.options.data.propMap);\r\n }\r\n catObj.noLink = 'javascript:;';\r\n let opt = EBContext.utils.extendObj(false, {\r\n category: catObj,\r\n renderChildren: (Object.values(catObj[self.options.data.propMap.Children]).filter(el=>self.categoryEnabled(el)).length > 0 && catObj.Sorting.split('-').length < renderer.options.menuLevelLimit)\r\n }, renderer.options.templateVariables);\r\n for (const [key,value] of Object.entries(self.options.data.propMap))\r\n opt[key] = catObj[value];\r\n if(propMap)\r\n \tfor (const [key,value] of Object.entries(propMap))\r\n \topt[key] = catObj[value];\r\n opt.title = opt.title || catObj.title || catObj.Name || '';\r\n opt.tooltip = catObj.Tooltip || '';\r\n if(skipRender) return opt;\r\n let itemEl = EBContext.utils.template('', renderer.options.templates, opt)[0];\r\n itemEl.setAttribute('data-jsmenu-catid', catObj.Sorting);\r\n let itemLink = itemEl.querySelector('.jsmenu-link');\r\n if (itemLink) {\r\n itemLink.href = EBContext.utils.template('', renderer.options.templates, catObj, true);\r\n if (catObj.onclick)\r\n itemLink.addEventListener('click', catObj.onclick);\r\n }\r\n let toggleButton = itemEl.querySelector('.jsmenu-toggle');\r\n if (toggleButton) {\r\n toggleButton.addEventListener('click', renderer.options.fnToggleClick);\r\n if (itemLink && itemLink.href === catObj.noLink)\r\n itemLink.addEventListener('click', ()=>toggleButton.click());\r\n }\r\n return itemEl;\r\n };\r\n this.openCategory = function(catID, renderer, scope) {\r\n renderer = renderer || self.defaultRenderer;\r\n scope = scope || renderer.menuWrapEl;\r\n if (!scope) return null; \r\n if (catID && !Object.values(self.options.data.categories).find(v=>(catID.indexOf(v.Sorting) === 0)))\r\n return null;\r\n if (!self.categoryEnabled(catID)) {\r\n let parentCatID = catID.split('-').slice(0, -1).join('-');\r\n if (parentCatID)\r\n return self.openCategory(parentCatID, renderer, scope);\r\n return false;\r\n }\r\n if (catID && catID.split('-').length < renderer.options.menuLevelLimit) {\r\n if (renderer.options.closeInactive)\r\n self.closeAllCategories(renderer);\r\n if ((catID || !renderer.menuWrapEl.querySelector('ul')) && !scope.querySelector('[data-jsmenu-catid=\"' + catID + '\"] ul')) {\r\n self.renderCategory(catID, renderer, scope);\r\n }\r\n if (catID)\r\n self.toggleCategory(catID, true, renderer, scope);\r\n self.activeCatID = catID;\r\n self.saveCategory();\r\n return true;\r\n }\r\n return false;\r\n };\r\n this.toggleCategory = function(catID, open, renderer, scope) {\r\n renderer = renderer || self.defaultRenderer;\r\n \tscope = scope || renderer.menuWrapEl;\r\n if(!scope) return null;\r\n \r\n let catEl = scope.querySelector('[data-jsmenu-catid=\"' + catID + '\"]') || (scope.getAttribute('data-jsmenu-catid') === catID ? scope : null);\r\n if (catEl) {\r\n if (!open && EBContext.utils.element.isVisible(catEl.querySelector('ul'))) {\r\n renderer.options.fnToggleCategory(catEl, false);\r\n } else {\r\n let catPath = catID.split('-');\r\n let catLevel = catPath.length;\r\n if (catID && catID === self.options.data.firstSorting)\r\n catLevel++;\r\n for (let iLevel = 1 + self.topLevel; iLevel <= catLevel; iLevel++) {\r\n let iCatID = catPath.slice(0, iLevel).join('-');\r\n let iCatEl = scope.querySelector('[data-jsmenu-catid=\"' + iCatID + '\"]') || (scope.getAttribute('data-jsmenu-catid') === iCatID ? scope : null);\r\n if (iCatEl) {\r\n if (!iCatEl.querySelector('ul')) {\r\n self.renderCategory(iCatID, renderer, scope);\r\n }\r\n if (renderer.options.closeInactive)\r\n self.closeOtherCategories(catEl, renderer);\r\n renderer.options.fnToggleCategory(iCatEl, true);\r\n }\r\n }\r\n }\r\n }\r\n };\r\n this.closeOtherCategories = function(categoryEl, renderer) {\r\n renderer = renderer || self.defaultRenderer;\r\n if (!renderer.menuWrapEl)\r\n return null;\r\n let items = renderer.menuWrapEl.querySelectorAll('.jsmenu-item.jsmenu-open');\r\n for (let i = 0; i < items.length; i++) {\r\n if (!items[i].contains(categoryEl))\r\n renderer.options.fnToggleCategory(items[i], false);\r\n }\r\n };\r\n this.closeAllCategories = function(renderer) {\r\n return self.closeOtherCategories(null, renderer);\r\n };\r\n let instances = EBContext.utils.searchObj(EBContext, 'instances.jsmenu', true);\r\n this.id = Object.keys(instances).length;\r\n EBContext.utils.setObj(instances, 'jsmenu_' + this.id, this);\r\n return this;\r\n};\r\nEBContext.jsMenu = new EBContext.modules.JSMenu();\r\nEBContext.jsMenu.init();\r\n// Zinicializuje JSMenu s default options, jen aby se vytvo�il defaultRenderer\r\n// document.addEventListener('EBContext.session.setLanguage', ()=>EBContext.jsMenu.init({data: {languageIndex: EBContext.data.languageIndex}}));\r\n\r\nEBContext.modules.SidebarMenu = function(options) {\r\n let self = this;\r\n this.options = {\r\n togglerSelector: '#menuBtn',\r\n menuTitle: EBContext.resource('MENU'),\r\n bodyClass: ' container-fluid gx-0',\r\n transition: {\r\n style: 'slide',\r\n // slide, appear, ...\r\n timeout: 500,\r\n properties: {}\r\n },\r\n boxOptions: {\r\n order: null,\r\n isHidden: false,\r\n inSidebar: false,\r\n triggerEl: null\r\n }\r\n };\r\n this.boxes = [];\r\n this.togglerEl;\r\n this.sidebarEl;\r\n this.bodyEl;\r\n this.closeEl;\r\n this.overlayEl;\r\n\r\n this.toggle = (open, skipTransition)=>{\r\n if (typeof open === 'undefined') open = !this.sidebarEl.classList.contains('ebc-sidebar-open');\r\n \r\n if (open) {\r\n self.refresh();\r\n this.sidebarEl.style.display = '';\r\n if(skipTransition){\r\n \tthis.sidebarEl.classList.add('ebc-sidebar-open');\r\n } else {\r\n\t setTimeout(()=>{this.sidebarEl.classList.add('ebc-sidebar-open')}, self.options.transition.timeout);\r\n }\r\n document.body.classList.add('modal-open');\r\n document.activeElement.blur();\r\n } else {\r\n this.sidebarEl.classList.remove('ebc-sidebar-open');\r\n if(skipTransition){\r\n \tthis.sidebarEl.style.display = 'none';\r\n } else {\r\n\t setTimeout(()=>{this.sidebarEl.style.display = 'none'}, self.options.transition.timeout);\r\n }\r\n document.body.classList.remove('modal-open');\r\n document.body.style.right = 0;\r\n\r\n let focusedEl = this.sidebarEl.querySelector(':focus');\r\n if (focusedEl) focusedEl.blur();\r\n }\r\n };\r\n this.init = (options)=>{\r\n EBContext.utils.extendObj(false, this.options, options || {});\r\n this.togglerEl = document.querySelector(this.options.togglerSelector);\r\n\r\n this.sidebarEl = this.options.sidebarEl || EBContext.utils.template('
    ', {\r\n overlay: '
    ',\r\n panel: '
    \">
    ',\r\n header: '
    ',\r\n close: '',\r\n body: '
    \">
    ',\r\n footer: '
    '\r\n }, {\r\n title: self.options.menuTitle,\r\n bodyClass: self.options.bodyClass,\r\n transitionClass: 'ebc-sidebar-' + self.options.transition.style,\r\n })[0];\r\n if (!document.body.contains(this.sidebarEl)) document.body.appendChild(this.sidebarEl);\r\n this.sidebarEl.style.display = 'none';\r\n\r\n this.sidebarEl.style.setProperty('--transition-timeout', self.options.transition.timeout / 1000 + 's');\r\n for (let tp in self.options.transition.properties) {\r\n this.sidebarEl.style.setProperty('--transition-' + tp, self.options.transition.properties[tp]);\r\n }\r\n\r\n this.bodyEl = this.sidebarEl.querySelectorAll('.ebc-sidebar-body')[0] || null;\r\n this.overlayEl = this.sidebarEl.querySelectorAll('.ebc-sidebar-overlay')[0] || null;\r\n this.closeEl = this.sidebarEl.querySelectorAll('.ebc-sidebar-close')[0] || null;\r\n this.closeEl.addEventListener('click', ()=>self.toggle(false));\r\n this.togglerEl && this.togglerEl.addEventListener('click', ()=>self.toggle());\r\n if (self.overlayEl) self.overlayEl.addEventListener('click', ()=>self.toggle(false));\r\n self.sidebarEl.addEventListener('keydown', e=>(e.code === 'Escape' ? self.toggle(false) : null));\r\n\r\n if (!self.initialized) {\r\n self.bodyWidth = document.body.clientWidth;\r\n\t window.addEventListener('load', self.refresh);\r\n window.addEventListener('resize', ()=>{\r\n \tif(self.bodyWidth !== document.body.clientWidth){\r\n\t\t\t\t\tself.bodyWidth = document.body.clientWidth;\r\n\t\t\t\t\tself.refresh();\r\n\t\t\t\t}\r\n });\r\n \t\tdocument.addEventListener('EBContext.ajaxNav.navigate', ()=>self.toggle(false));\r\n document.addEventListener('EBContext.ajaxNav.bodyReload', ()=>{self.boxes = []});\r\n\t\t\tdocument.addEventListener('EBContext.ajaxNav.bodyReloaded', ()=>{self.init()});\r\n }\r\n\t self.refresh();\r\n };\r\n this.register = (selector,options)=>{\r\n options = options || {};\r\n options = EBContext.utils.mergeObj(false, self.options.boxOptions, options);\r\n options.order = (options.order === null ? 0 : options.order);\r\n\r\n let elArr = document.querySelectorAll(selector);\r\n let i;\r\n for (i = 0; i < elArr.length; i++) {\r\n if (self.boxes.find(a=>a.boxEl === elArr[i]) === undefined) {\r\n if (self.boxes.find(a=>a.options.order === options.order)) {\r\n let prevElArr = self.boxes.filter(a=>(a.options.order >= options.order && a.options.order < options.order + 1));\r\n options.order = prevElArr[prevElArr.length - 1].options.order + 0.001;\r\n }\r\n if (true || elArr[i].closest('.noelicons'))\r\n elArr[i].classList.add('noelicons');\r\n self.boxes.push({\r\n boxEl: elArr[i],\r\n parentEl: elArr[i].parentElement,\r\n options: options\r\n });\r\n }\r\n }\r\n self.boxes = self.boxes.sort((a,b)=>a.options.order - b.options.order);\r\n };\r\n this.refresh = (state)=>{\r\n let i, boxEl;\r\n for (i = 0; i < self.boxes.length; i++) {\r\n let triggerEl = self.boxes[i].options.triggerEl || self.boxes[i].parentEl;\r\n if(state !== undefined){\r\n \tself.boxes[i].options.isHidden = !state;\r\n } else {\r\n\t self.boxes[i].options.isHidden = (!EBContext.utils.element.isVisible(triggerEl));\r\n }\r\n self.boxes[i].options.inSidebar = self.bodyEl.contains(self.boxes[i].boxEl);\r\n if (!document.body.contains(self.boxes[i].parentEl)) {\r\n if (self.boxes[i].options.inSidebar)\r\n self.bodyEl.removeChild(self.boxes[i].boxEl);\r\n self.boxes.splice(i, 1);\r\n i--;\r\n } else if (!self.boxes[i].options.isHidden && self.boxes[i].options.inSidebar) {\r\n boxEl = self.boxes[i].boxEl.parentElement.removeChild(self.boxes[i].boxEl);\r\n self.boxes[i].parentEl.appendChild(boxEl);\r\n } else if (self.boxes[i].options.isHidden && !self.boxes[i].options.inSidebar) {\r\n \tboxEl = self.boxes[i].boxEl;\r\n \tif(self.boxes[i].parentEl.contains(self.boxes[i].boxEl)) boxEl = self.boxes[i].parentEl.removeChild(self.boxes[i].boxEl);\r\n let prevElArr = self.boxes.filter(a=>(a.options.order < self.boxes[i].options.order && a.options.inSidebar));\r\n (prevElArr.length ? prevElArr[prevElArr.length - 1].boxEl.after(boxEl) : self.bodyEl.appendChild(boxEl));\r\n }\r\n }\r\n if (!self.bodyEl.children.length)\r\n self.toggle(false);\r\n };\r\n this.init(options);\r\n this.initialized = true;\r\n return this;\r\n}\r\nEBContext.sidebar = new EBContext.modules.SidebarMenu();\r\n\r\nEBContext.modules.Breadcrumbs = function(options) {\r\n var self = this;\r\n this.options = EBContext.utils.extendObj(false, {\r\n renderHome: true,\r\n lastIsActive: true,\r\n wrapSelector: '#breadcrumbs',\r\n templates: {\r\n home: '
  • \">' + EBContext.resource(\"DOMU\") + '
  • ',\r\n active: '
  • \" title=\"\">
  • ',\r\n default: '
  • \" title=\"\">\" title=\"\">
  • ',\r\n disabled: '
  • \" title=\"\">
  • '\r\n },\r\n jsMenu: EBContext.jsMenu,\r\n categoryLink: EBContext.data.hrefMap.result_categoryseoid || EBContext.data.languageUrl + '/categories/',\r\n showDisabled: 0,\r\n truncateText: true\r\n }, options);\r\n this.render = function(subTitle, breadcrumbs, options) {\r\n options = EBContext.utils.mergeObj(false, self.options, options);\r\n let i, j, props, breadcrumbsStr = '', breadcrumbStr = '';\r\n\r\n breadcrumbs = breadcrumbs || [];\r\n\r\n // Posledn� drobek je v�dy aktu�ln� nadpis (pokud je p�edan�) - pou��v� se na Detailu\r\n if (subTitle && (!breadcrumbs.length || breadcrumbs[breadcrumbs.length - 1].name !== subTitle)) {\r\n breadcrumbs.push({\r\n type: 'active',\r\n name: subTitle\r\n });\r\n }// Pokud nen� p�edan� nadpis, nastav� se posledn� p�edan� drobek jako aktivn� - pou��v� se na Resultu\r\n else if (breadcrumbs.length && options.lastIsActive) {\r\n breadcrumbs[breadcrumbs.length - 1].type = 'active';\r\n }\r\n\r\n // standardizovat drobky - m�/nem� home; posledn� je active\r\n if (options.renderHome && (!breadcrumbs.length || breadcrumbs[0].type !== 'home')) {\r\n breadcrumbs.unshift({\r\n type: 'home'\r\n });\r\n } else if (!options.renderHome && breadcrumbs.length && breadcrumbs[0].type === 'home') {\r\n breadcrumbs.shift();\r\n }\r\n\r\n // Vyrenderovat drobky dle templates\r\n for (i = 0; i < breadcrumbs.length; i++) {\r\n breadcrumbStr = options.templates[breadcrumbs[i].type] || options.templates.default;\r\n breadcrumbsStr += EBContext.utils.template(breadcrumbStr, {}, EBContext.utils.extendObj(false, options, breadcrumbs[i]), true);\r\n }\r\n\r\n // Nasypat drobky do DOM\r\n if (breadcrumbsStr && options.wrapSelector) {\r\n let breadcrumbsEl = document.querySelector(options.wrapSelector);\r\n breadcrumbsEl.innerHTML = breadcrumbsStr;\r\n // AjaxNavigation je require shim pro JSMenu, tak�e tady mus� b�t k dispozici\r\n EBContext.ajaxNav.bindElements(EBContext.ajaxNav.findElements('link', breadcrumbsEl), 'link');\r\n }\r\n return breadcrumbsStr;\r\n };\r\n this.renderCategory = function(subTitle, catID, options) {\r\n options = EBContext.utils.mergeObj(false, self.options, options);\r\n let breadcrumbs = [];\r\n if (catID && catID.length > options.jsMenu.options.data.firstSorting.length) {\r\n let breacrumbsArr = catID.split('-');\r\n catID = options.jsMenu.options.data.firstSorting;\r\n let catObj = false;\r\n for (var j = options.jsMenu.topLevel; j < breacrumbsArr.length; j++) {\r\n if (catID !== '')\r\n catID += '-';\r\n catID += breacrumbsArr[j];\r\n catObj = options.jsMenu.getCatObj(catID, catObj);\r\n if (catObj) {\r\n let catEnabled = options.jsMenu.categoryEnabled(catObj);\r\n if (catEnabled || options.showDisabled === 2) {\r\n let breadcrumb = {\r\n name: catObj.Name || '',\r\n type: (catEnabled ? 'default' : 'disabled'),\r\n link: EBContext.utils.template(options.categoryLink, {}, EBContext.utils.extendObj(false, options, catObj), true)\r\n };\r\n breadcrumbs.push(breadcrumb);\r\n }\r\n }\r\n }\r\n }\r\n return self.render(subTitle, breadcrumbs, options);\r\n };\r\n return this;\r\n};\r\nEBContext.breadcrumbs = new EBContext.modules.Breadcrumbs();\r\n\r\nEBContext.modules.ElementSlider = function(options) {\r\n this.options = EBContext.utils.extendObj(false, {\r\n scrollEl: null,\r\n prevHTML: '',\r\n nextHTML: ''\r\n }, options);\r\n var self = this;\r\n\r\n this.init = options=>{\r\n this.options = EBContext.utils.extendObj(false, this.options, options);\r\n if (typeof this.options.scrollEl === 'string')\r\n this.options.scrollEl = document.querySelector(this.options.scrollEl);\r\n\r\n this.scrollEl = this.options.scrollEl;\r\n this.scrollEl.classList.add('elementSliderEl');\r\n this.scrollWrapEl = this.scrollEl.parentElement;\r\n this.scrollWrapEl.classList.add('elementSliderWrap');\r\n\t\tthis.scrollWidth = this.scrollEl.scrollWidth;\r\n\r\n if (!document.querySelector('style#elementSliderStyle')) {\r\n let styleEl = document.createElement('style');\r\n styleEl.id = 'elementSliderStyle';\r\n styleEl.innerHTML = '.elementSliderWrap{width:100%;display:flex;flex-direction:row !important} .elementSliderEl{display:flex;flex-grow:1;overflow-x:hidden;overflow-x:clip;width:calc(100% - 2.5em - 3rem)}';\r\n document.body.append(styleEl);\r\n }\r\n\r\n this.isDown = false;\r\n\r\n const end = ()=>{\r\n this.isDown = false;\r\n this.scrollEl.classList.remove('activeSlider');\r\n }\r\n const start = (e)=>{\r\n if (!this.scrollEl.style.left)\r\n this.scrollEl.style.left = 0;\r\n this.isDown = true;\r\n this.scrollEl.classList.add('activeSlider');\r\n this.startX = (e.pageX || e.touches[0].pageX) - parseFloat(this.scrollEl.firstChild.style.marginLeft.replace('px', ''));\r\n }\r\n const move = (e)=>{\r\n if (!this.isDown)\r\n return;\r\n e.preventDefault();\r\n const x = (e.pageX || e.touches[0].pageX)-this.startX;\r\n if (x<=0 && x>=self.scrollEl.clientWidth-self.scrollWidth) {\r\n this.scrollEl.firstChild.style.marginLeft = x + 'px';\r\n }\r\n }\r\n this.scrollEl.addEventListener('mousedown', start);\r\n this.scrollEl.addEventListener('touchstart', start);\r\n this.scrollEl.addEventListener('mousemove', move);\r\n this.scrollEl.addEventListener('touchmove', move);\r\n this.scrollEl.addEventListener('mouseleave', end);\r\n this.scrollEl.addEventListener('mouseup', end);\r\n this.scrollEl.addEventListener('touchend', end);\r\n\r\n this.prevEl = EBContext.utils.createDOM(self.options.prevHTML)[0];\r\n this.nextEl = EBContext.utils.createDOM(self.options.nextHTML)[0];\r\n this.prevEl.addEventListener('click', e=>{\r\n let left = parseInt(self.scrollEl.firstChild.style.marginLeft.replace('px', '')) || 0;\r\n let step = -self.scrollEl.clientWidth / 2;\r\n if (step < left) step = left;\r\n self.scrollEl.firstChild.style.marginLeft = (left - step) + 'px';\r\n });\r\n this.nextEl.addEventListener('click', e=>{\r\n let left = parseInt(self.scrollEl.firstChild.style.marginLeft.replace('px', '')) || 0;\r\n let right = parseInt(self.scrollEl.lastChild.style.marginRight.toString().replace('px', '')) || self.scrollEl.clientWidth - self.scrollEl.scrollWidth;\r\n let step = -self.scrollEl.clientWidth / 2;\r\n if (step < right) step = right;\r\n self.scrollEl.firstChild.style.marginLeft = (left + step) + 'px';\r\n });\r\n this.scrollWrapEl.prepend(this.prevEl);\r\n this.scrollWrapEl.append(this.nextEl);\r\n\r\n let ro = new ResizeObserver(()=>self.refresh());\r\n ro.observe(this.scrollWrapEl);\r\n this.refresh();\r\n };\r\n this.refresh = ()=>{\r\n if (this.scrollEl.scrollWidth > this.scrollWrapEl.clientWidth) {\r\n this.prevEl.classList.remove('d-none');\r\n this.nextEl.classList.remove('d-none');\r\n } else {\r\n this.prevEl.classList.add('d-none');\r\n this.nextEl.classList.add('d-none');\r\n }\r\n this.scrollEl.firstChild.style.marginLeft = 0 + 'px';\r\n this.scrollEl.lastChild.style.marginRight = 0 + 'px';\r\n };\r\n this.init();\r\n return this;\r\n};"]}