{"version":3,"file":"scripts.min.js","mappings":"4EAYA,wBAA6B,G,IAAEA,EAAS,YAAEC,EAAO,UAC/CC,QAAQC,IAAIH,GACZI,SAASC,KAAK,WAAIL,EAAS,KAAKC,MCb9BK,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBE,IAAjBD,EACH,OAAOA,EAAaE,QAGrB,IAAIC,EAASN,EAAyBE,GAAY,CAGjDG,QAAS,IAOV,OAHAE,EAAoBL,GAAUI,EAAQA,EAAOD,QAASJ,GAG/CK,EAAOD,Q,MCrBf,aAEMG,EAAUC,OAChBD,EAAOE,WAAaF,EAAOE,YAAc,GACzCF,EAAOE,WAAWC,aAAe,EAAAA,aAEjC,IAAMC,EAAcC,SAASC,eAAe,4BACtCC,EAAgBF,SAASG,iBAAiB,eAC1CC,EAAeJ,SAASK,cAAc,oCA6E5C,SAASC,IACPJ,EAAcK,SAAQ,SAACC,GACrBA,EAAKC,UAAUC,OAAO,mBAI1B,SAASC,IACPT,EAAcK,SAAQ,SAACC,GACrBA,EAAKC,UAAUG,IAAI,mBAnFJ,MAAhBR,GACDA,EAAaS,iBAAiB,SAAS,WACrCb,SAASK,cAAc,2BAA2BI,UAAUK,OAAO,aAIpDd,SAASG,iBAAiB,0BAClCI,SAAQ,SAACC,GAClBA,EAAKK,iBAAiB,SAAS,WAOjC,IACQE,EACAC,EARJR,EAAKC,UAAUK,OAAO,UAOlBC,EAAmBf,SAASG,iBAAiB,iCAC7Ca,EAAS,GAEfD,EAAiBR,SAAQ,SAACU,GACxBD,EAAOE,KAAKD,EAAKE,QAAQC,QAGP,GAAjBJ,EAAOK,QACRV,IAQJ,SAA+BK,GAC7Bd,EAAcK,SAAQ,SAACC,GACrB,IAAMc,EAAOd,EAAKW,QAAQG,KAAKC,MAAM,KACjCP,EAAOQ,MAAK,SAACJ,GAAa,OAAAE,EAAKG,SAASL,OAC1CZ,EAAKC,UAAUC,OAAO,mBAVxBgB,CAAsBV,IAEtBV,UAcc,MAAfP,GACDA,EAAYc,iBAAiB,SAAS,SAACc,GACrC,IAAIA,EAAMC,aAAiC,MAAlBD,EAAME,QAA/B,CAIA,IAAMC,EAAc/B,EAAYgC,MAAMC,cAChCC,EAAmBjC,SAASG,iBAAiB,wBAAiB2B,EAAW,OACzEI,EAAelC,SAASK,cAAc,gCAI5C,GAFA6B,EAAaC,MAAMC,QAAU,OAEX,IAAfN,EAKH,OAA8B,GAA3BG,EAAiBZ,QAClBV,SAEAuB,EAAaC,MAAMC,QAAU,eAI/BH,EAAiB1B,SAAQ,SAACC,GACxBG,IAEAH,EAAKC,UAAUC,OAAO,mBAdtBJ,S","sources":["webpack://app-video-library/./src/ts/lib-2sxc-fancybox.ts","webpack://app-video-library/webpack/bootstrap","webpack://app-video-library/./src/ts/index.ts"],"sourcesContent":["declare let Fancybox: any;\r\nimport { FancyboxOptions } from './lib-2sxc-fancybox-options';\r\n\r\n/*\r\n This is a shared code used in various 2sxc apps. Make sure that they are in sync, so if you improve it, improve all 2sxc apps which use this. \r\n ATM they are:\r\n - Gallery7\r\n - Content\r\n The master with the newest / best version must always be the Gallery7, the others should then get a fresh copy.\r\n Because this is shared, all parameters like DOM-IDs etc. must be provided in the Init-call that it can work across apps\r\n*/ \r\n\r\nexport function initFancybox({ attribute, options } : { attribute: string, options: FancyboxOptions }) {\r\n console.log(attribute);\r\n Fancybox.bind(`[${attribute}]`, options);\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import { initFancybox } from './lib-2sxc-fancybox';\r\n\r\nconst winAny = (window as any);\r\nwinAny.appContent = winAny.appContent || {};\r\nwinAny.appContent.initFancybox = initFancybox;\r\n\r\nconst searchInput = document.getElementById(\"app-video-library-search\") as HTMLFormElement;\r\nconst videoElements = document.querySelectorAll('.video-item');\r\nconst filterToggle = document.querySelector('.app-video-library-filter-toggle');\r\n\r\nif(filterToggle != null) {\r\n filterToggle.addEventListener('click', () => {\r\n document.querySelector('.app-video-library-tags').classList.toggle('hidden')\r\n })\r\n}\r\n\r\nconst filterTags = document.querySelectorAll('.app-video-library-tag');\r\nfilterTags.forEach((item) => {\r\n item.addEventListener('click', () => {\r\n item.classList.toggle('active');\r\n\r\n filterByTags()\r\n })\r\n});\r\n\r\nfunction filterByTags() {\r\n const activeFilterTags = document.querySelectorAll('.app-video-library-tag.active');\r\n const filter = [];\r\n\r\n activeFilterTags.forEach((elem: HTMLElement) => {\r\n filter.push(elem.dataset.tag)\r\n })\r\n\r\n if(filter.length != 0) {\r\n hideVideoElements();\r\n\r\n showVideosByTagFilter(filter);\r\n } else {\r\n showVideoElements();\r\n } \r\n}\r\n\r\nfunction showVideosByTagFilter(filter: any) {\r\n videoElements.forEach((item: HTMLElement) => {\r\n const tags = item.dataset.tags.split(',');\r\n if (filter.some((tag: any) => tags.includes(tag))) {\r\n item.classList.remove('video-hidden');\r\n }\r\n });\r\n}\r\n\r\n\r\nif(searchInput != null) {\r\n searchInput.addEventListener(\"keyup\", (event) => {\r\n if (event.isComposing || event.keyCode === 229) {\r\n return;\r\n }\r\n \r\n const searchValue = searchInput.value.toLowerCase();\r\n const searchedElements = document.querySelectorAll(`[data-title*=\"${searchValue}\"]`);\r\n const noResultElem = document.querySelector('.app-video-library-noresults') as HTMLElement;\r\n\r\n noResultElem.style.display = 'none';\r\n \r\n if(searchValue == \"\") {\r\n showVideoElements();\r\n return;\r\n }\r\n \r\n if(searchedElements.length == 0) {\r\n hideVideoElements();\r\n \r\n noResultElem.style.display = 'block';\r\n return;\t\t\r\n }\r\n \r\n searchedElements.forEach((item) => {\r\n hideVideoElements();\r\n \r\n item.classList.remove('video-hidden');\r\n });\r\n });\r\n}\r\n\r\n\r\nfunction showVideoElements() {\r\n videoElements.forEach((item) => {\r\n item.classList.remove('video-hidden');\r\n });\r\n}\r\n\r\nfunction hideVideoElements() {\r\n videoElements.forEach((item) => {\r\n item.classList.add('video-hidden');\r\n });\r\n}"],"names":["attribute","options","console","log","Fancybox","bind","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","winAny","window","appContent","initFancybox","searchInput","document","getElementById","videoElements","querySelectorAll","filterToggle","querySelector","showVideoElements","forEach","item","classList","remove","hideVideoElements","add","addEventListener","toggle","activeFilterTags","filter","elem","push","dataset","tag","length","tags","split","some","includes","showVideosByTagFilter","event","isComposing","keyCode","searchValue","value","toLowerCase","searchedElements","noResultElem","style","display"],"sourceRoot":""}