{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/ggwmain-filterpage.ts","webpack:///./app/components/filterpage.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","obj","_class","_factory","require","default","_component","_filterpage","_defineProperties","target","props","descriptor","configurable","writable","arg","input","hint","_typeof","prim","toPrimitive","undefined","res","TypeError","String","Number","_toPrimitive","_createClass","Constructor","protoProps","staticProps","FilterPage","Component","className","_dec","element","instance","_classCallCheck","filterpage","document","addEventListener","factory","body","wrapper","options","_hasClass","_interopRequireDefault","_addClass","_removeClass","_getParentWithClass","_menu","_dispatchCustomEvent","_debounce","ownKeys","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","_objectSpread","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","FilterPageOptions","_this","pagingSize","page","language","_options","selectors","content","selects","selectTag","tag","dropdown","dropdownToggle","tagsDropdown","searchText","searchButton","tagAll","tagAllActive","tagActive","resetAllActiveTagsElements","filterResults","stickyToUpdate","resultWrapper","paging","pageBack","pageNext","pageJump","pageJumpAttribute","changeSize","loading","contentLoading","contentYScroll","classes","active","hidden","contentLocation","wrapperId","searchValueText","tagValue","this","wrapperElement","dataLanguage","getAttribute","init","_this2","contentElement","getElementsByClassName","Array","from","dropdowns","tags","searchTextInput","allTags","hasClass","toggleTag","querySelector","concat","e","reinitSticky","storedPageSize","localStorage","getItem","searchTextButton","parentElement","debounce","loadFilterElements","location","search","searchValues","substring","split","index","searchTextValue","decodeURIComponent","history","pushState","title","pathname","select","onChange","allTag","allTagClick","getParentWithClass","resetTags","resetAllActiveTags","_this3","event","srcElement","dropdownMenu","dropdownMenuOpen","menuTrigger","updateSelectTag","_this4","setPageDefault","setPageToDefault","dataSearch","getFilters","style","overflow","innerHTML","fetch","method","headers","credentials","then","response","contentType","includes","text","setPreviousNextJumpPageEvents","initContentFilter","reinitFilter","preventDefault","currentTarget","_this5","pageStep","loadPreviousPage","loadNextPage","loadJumpPage","pageSizeSelect","toString","setItem","renderFilterResult","activeTags","getTagsFromLocationHash","filters","setActiveTagsClasses","dispatchCustomEvent","_this6","isTagActive","removeClass","addClass","deactivateAllTag","isSelectOption","selectedIndex","addTagToFilters","activateAllTag","removeTagFromFilters","newHash","getTagsLocationHash","hash","indexOf","join","doActivateTag","activateTag","deactivateTag","activateActiveTag","deactivateActiveTag","selectMenu","selectedTag","deactivateActiveTags","getTagValue","tagValueIndex","getTagValueIndex","_this7","allTagActive","dropdownToggleBtn","filterAll","indexFilter","_this8","display","map","cloneNode","clone","cloneTag","removeAttribute","stopPropagation","createEvent","initEvent","dispatchEvent","appendChild"],"mappings":"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","file":"Scripts/ggwmainfilterpage.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([391,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import factory from '@opten/compiler/factory';\r\nimport { Component } from '@opten/compiler/metadata/component';\r\nimport { filterpage } from './components/filterpage';\r\n\r\n@Component({ className: 'js-filter__page' })\r\nclass FilterPage {\r\n\tconstructor(private element: HTMLElement) {\r\n\t\tfilterpage(element);\r\n\t}\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', () => {\r\n\tfactory([FilterPage])(document.body);\r\n});\r\n","import hasClass from '@opten/dom/has-class';\r\nimport addClass from '@opten/dom/add-class';\r\nimport removeClass from '@opten/dom/remove-class';\r\nimport getParentWithClass from '@opten/dom/get-parent-with-class';\r\nimport { menuTrigger, MenuTrigger } from '@opten/menu';\r\nimport dispatchCustomEvent from '@opten/events/dispatch-custom-event';\r\nimport debounce from '@opten/reactive/debounce';\r\n\r\n// todo: better way? global?\r\n//declare const picturefill;\r\ndeclare var AOS;\r\n\r\nexport class FilterPageOptions {\r\n\tselectors: {\r\n\t\tcontent: string;\r\n\t\tselects: string;\r\n\t\tselectTag: string;\r\n\t\ttag: string;\r\n\t\tdropdown: string;\r\n\t\tdropdownToggle: string;\r\n\t\ttagsDropdown: string;\r\n\t\tsearchText: string;\r\n\t\tsearchButton: string;\r\n\t\ttagAll: string;\r\n\t\ttagAllActive: string;\r\n\t\ttagActive: string;\r\n\t\tresetAllActiveTagsElements: string;\r\n\t\tfilterResults: string;\r\n\t\tstickyToUpdate: string;\r\n\t\tresultWrapper: string;\r\n\t};\r\n\tpaging: {\r\n\t\tpageBack: string;\r\n\t\tpageNext: string;\r\n\t\tpageJump: string;\r\n\t\tpageJumpAttribute: string;\r\n\t\tpagingSize: string;\r\n\t\tchangeSize: string;\r\n\t};\r\n\tloading: {\r\n\t\tcontentLoading: string;\r\n\t\tcontentYScroll: number;\r\n\t};\r\n\tclasses: {\r\n\t\tactive: string;\r\n\t\thidden: string;\r\n\t};\r\n\r\n\tcontentLocation: string;\r\n\twrapperId: string;\r\n\tsearchValueText: string;\r\n\ttagValue: string;\r\n}\r\n\r\nexport class FilterPage {\r\n\tprivate wrapperElement: HTMLElement;\r\n\tprivate wrapperId: string;\r\n\tprivate contentElement: HTMLElement;\r\n\tprivate contentLocation: string;\r\n\tprivate tags: Element[];\r\n\tprivate filters: string[];\r\n\tprivate filterResults: HTMLElement;\r\n\tprivate activeTags: string[];\r\n\tprivate selects: Element[];\r\n\tprivate dropdowns: Element[];\r\n\tprivate dropdownMenuOpen: MenuTrigger;\r\n\tprivate searchTextInput: HTMLInputElement;\r\n\tprivate searchTextButton: HTMLElement;\r\n\tprivate resetAllActiveTagsElements: Element[];\r\n\tprivate allTags: Element[];\r\n\tprivate pagingSize = 15;\r\n\tprivate page = 1;\r\n\tprivate language = 'de-CH';\r\n\r\n\tprivate resultWrapper: HTMLElement;\r\n\tprivate stickyToUpdate: HTMLElement;\r\n\r\n\tprivate _options: FilterPageOptions = {\r\n\t\tselectors: {\r\n\t\t\tcontent: 'js-filter__page__content',\r\n\t\t\tselects: 'js-filter__select',\r\n\t\t\tselectTag: 'js-filter__select__tag',\r\n\t\t\ttag: 'js-filter__tag',\r\n\t\t\tdropdown: 'js-filter__dropdown',\r\n\t\t\tdropdownToggle: 'js-filter__dropdown-toggle',\r\n\t\t\ttagsDropdown: 'js-filter__tags-dropdown',\r\n\t\t\tsearchText: 'js-filter__search-text',\r\n\t\t\tsearchButton: 'js-filter__search-button',\r\n\t\t\ttagAll: 'js-filter__tag--all',\r\n\t\t\ttagAllActive: 'js-filter__tag-all--active',\r\n\t\t\ttagActive: 'js-filter__tag--active',\r\n\t\t\tresetAllActiveTagsElements: 'js-filter__reset--all',\r\n\t\t\tfilterResults: 'js-filter__page__result',\r\n\t\t\tstickyToUpdate: 'js-sticky-basket',\r\n\t\t\tresultWrapper: 'js-filter__page__result__wrapper'\r\n\t\t},\r\n\t\tpaging: {\r\n\t\t\tpageBack: 'js-filter__page-back',\r\n\t\t\tpageNext: 'js-filter__page-next',\r\n\t\t\tpageJump: 'js-filter__page-jump',\r\n\t\t\tpageJumpAttribute: 'data-value',\r\n\t\t\tpagingSize: 'data-paging-size',\r\n\t\t\tchangeSize: 'js-filter__page-size'\r\n\t\t},\r\n\t\tloading: {\r\n\t\t\tcontentLoading:\r\n\t\t\t\t'
',\r\n\t\t\tcontentYScroll: 0\r\n\t\t},\r\n\t\tclasses: {\r\n\t\t\tactive: '--active',\r\n\t\t\thidden: '--hidden'\r\n\t\t},\r\n\t\tcontentLocation: 'data-location',\r\n\t\twrapperId: 'data-id',\r\n\t\tsearchValueText: 'search_text',\r\n\t\ttagValue: 'data-value'\r\n\t};\r\n\r\n\tconstructor(private wrapper: HTMLElement, options?: FilterPageOptions) {\r\n\t\tthis.wrapperElement = wrapper;\r\n\t\tthis._options = { ...this._options, ...options };\r\n\t\tconst dataLanguage = document.body.getAttribute('data-language-long');\r\n\t\tif (dataLanguage && dataLanguage.length > 0) {\r\n\t\t\tthis.language = dataLanguage;\r\n\t\t}\r\n\r\n\t\tthis.init();\r\n\r\n\t\twindow.addEventListener('hashchange', () => this.filter());\r\n\r\n\t\tthis.filter();\r\n\t}\r\n\r\n\tprivate init() {\r\n\t\tthis.wrapperId = this.wrapperElement.getAttribute(this._options.wrapperId);\r\n\t\tthis.pagingSize = Number(this.wrapperElement.getAttribute(this._options.paging.pagingSize));\r\n\t\tthis.contentLocation = this.wrapperElement.getAttribute(this._options.contentLocation);\r\n\t\tthis.contentElement = this.wrapperElement.getElementsByClassName(this._options.selectors.content)[0] as HTMLElement;\r\n\t\tthis.selects = Array.from(this.wrapperElement.getElementsByClassName(this._options.selectors.selects));\r\n\t\tthis.dropdowns = Array.from(this.wrapperElement.getElementsByClassName(this._options.selectors.dropdown));\r\n\t\tthis.tags = Array.from(this.wrapperElement.getElementsByClassName(this._options.selectors.tag));\r\n\t\tthis.searchTextInput = this.wrapperElement.getElementsByClassName(this._options.selectors.searchText)[0] as HTMLInputElement;\r\n\t\tthis.allTags = Array.from(this.wrapperElement.getElementsByClassName(this._options.selectors.tagAll));\r\n\t\tthis.resetAllActiveTagsElements = Array.from(\r\n\t\t\tthis.wrapperElement.getElementsByClassName(this._options.selectors.resetAllActiveTagsElements)\r\n\t\t);\r\n\t\tthis.filterResults = this.wrapperElement.getElementsByClassName(this._options.selectors.filterResults)[0] as HTMLElement;\r\n\r\n\t\tthis.tags.forEach(tag => {\r\n\t\t\tif (!hasClass(tag, this._options.selectors.selectTag)) {\r\n\t\t\t\ttag.addEventListener('click', () => this.toggleTag(tag));\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.stickyToUpdate = document.querySelector(`.${this._options.selectors.stickyToUpdate}`);\r\n\t\tdocument.addEventListener('lazybeforeunveil', (e: MouseEvent) => {\r\n\t\t\tthis.reinitSticky();\r\n\t\t});\r\n\r\n\t\tconst storedPageSize = localStorage.getItem('pageSize');\r\n\t\tif (storedPageSize) {\r\n\t\t\tthis.pagingSize = Number(storedPageSize);\r\n\t\t}\r\n\r\n\t\tif (this.searchTextInput != null) {\r\n\t\t\tthis.searchTextButton = this.searchTextInput.parentElement.getElementsByClassName(\r\n\t\t\t\tthis._options.selectors.searchButton\r\n\t\t\t)[0] as HTMLElement;\r\n\r\n\t\t\tthis.searchTextInput.addEventListener(\r\n\t\t\t\t'input',\r\n\t\t\t\tdebounce(e => this.loadFilterElements(), 450)\r\n\t\t\t);\r\n\r\n\t\t\tif (this.searchTextButton != null) {\r\n\t\t\t\tthis.searchTextButton.addEventListener('click', () => this.loadFilterElements());\r\n\t\t\t}\r\n\r\n\t\t\tif (location.search.length > 0 && this.searchTextButton != null) {\r\n\t\t\t\tconst searchValues = location.search.substring(1).split('=');\r\n\t\t\t\tfor (const index in searchValues) {\r\n\t\t\t\t\tif (searchValues[index] === this._options.searchValueText) {\r\n\t\t\t\t\t\tlet searchTextValue = searchValues[Number(index) + 1];\r\n\t\t\t\t\t\tif (searchTextValue !== null && searchTextValue !== '') {\r\n\t\t\t\t\t\t\tsearchTextValue = decodeURIComponent(searchTextValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.searchTextInput.value = searchTextValue;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tconst query = window.location.search.substring(1);\r\n\r\n\t\t\t\t// is there anything there ?\r\n\t\t\t\tif (query.length) {\r\n\t\t\t\t\t// are the new history methods available ?\r\n\t\t\t\t\tif (window.history !== undefined && window.history.pushState !== undefined) {\r\n\t\t\t\t\t\t// if pushstate exists, add a new state the the history, this changes the url without reloading the page\r\n\t\t\t\t\t\twindow.history.pushState({}, document.title, window.location.pathname);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.selects && this.selects.length > 0) {\r\n\t\t\tthis.selects.forEach(select => {\r\n\t\t\t\tselect.addEventListener('change', this.onChange);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif (this.allTags && this.allTags.length > 0) {\r\n\t\t\tthis.allTags.forEach(allTag =>\r\n\t\t\t\tallTag.addEventListener('click', () =>\r\n\t\t\t\t\tthis.allTagClick(getParentWithClass(allTag as HTMLElement, this._options.selectors.tagsDropdown))\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (this.resetAllActiveTagsElements && this.resetAllActiveTagsElements.length > 0) {\r\n\t\t\tthis.resetAllActiveTagsElements.forEach(resetTags => resetTags.addEventListener('click', () => this.resetAllActiveTags()));\r\n\t\t}\r\n\r\n\t\tthis.resultWrapper = document.querySelector(`.${this._options.selectors.resultWrapper}`);\r\n\t}\r\n\r\n\tprivate openDropdownMenu(dropdownToggle: HTMLElement) {\r\n\t\tdropdownToggle.addEventListener('open.opten.menu', () => {\r\n\t\t\t// tslint:disable-next-line\r\n\t\t\tconst target = event.target || event.srcElement;\r\n\t\t\tif (target) {\r\n\t\t\t\tconst dropdownMenu = (target as HTMLElement).parentElement;\r\n\t\t\t\tconst tags = Array.from(dropdownMenu.getElementsByClassName(this._options.selectors.tag));\r\n\t\t\t\ttags.forEach(tag => {\r\n\t\t\t\t\tif (!hasClass(tag, this._options.selectors.selectTag)) {\r\n\t\t\t\t\t\ttag.addEventListener('click', () => this.toggleTag(tag));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.dropdownMenuOpen = menuTrigger(dropdownToggle);\r\n\t}\r\n\r\n\tprivate onChange(event: Event) {\r\n\t\tthis.updateSelectTag(event.target as HTMLSelectElement);\r\n\t}\r\n\r\n\tprivate initContentFilter() {\r\n\t\tconst that = this;\r\n\t\tif (this.contentElement != null) {\r\n\t\t\tconst newSelects = Array.from(this.contentElement.getElementsByClassName(this._options.selectors.selects));\r\n\t\t\tconst newTags = Array.from(this.contentElement.getElementsByClassName(this._options.selectors.tag));\r\n\t\t\t/*\r\n\t\t\t\t\t\tif (newTags && newTags.length > 0) {\r\n\t\t\t\t\t\t\tnewTags.forEach(tag => {\r\n\t\t\t\t\t\t\t\tif (!hasClass(tag, this._options.selectors.selectTag)) {\r\n\t\t\t\t\t\t\t\t\ttag.addEventListener('click', () =>\r\n\t\t\t\t\t\t\t\t\t\tthis.toggleTag(tag)\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tthat.tags.push(tag);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (newSelects && newSelects.length > 0) {\r\n\t\t\t\t\t\t\tnewSelects.forEach(select => {\r\n\t\t\t\t\t\t\t\tselect.addEventListener('change', () =>\r\n\t\t\t\t\t\t\t\t\tthis.updateSelectTag(select)\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tthat.selects.push(select);\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}*/\r\n\t\t}\r\n\t}\r\n\r\n\tprivate loadFilterElements(setPageDefault = true) {\r\n\t\tif (setPageDefault) {\r\n\t\t\tthis.setPageToDefault();\r\n\t\t}\r\n\t\tconst searchText = this.searchTextInput != null ? this.searchTextInput.value : '';\r\n\t\tconst dataSearch =\r\n\t\t\t'id=' +\r\n\t\t\tthis.wrapperId +\r\n\t\t\t'&filter=' +\r\n\t\t\tthis.getFilters() +\r\n\t\t\t'&pagingSize=' +\r\n\t\t\tthis.pagingSize +\r\n\t\t\t'&page=' +\r\n\t\t\tthis.page +\r\n\t\t\t'&searchText=' +\r\n\t\t\tsearchText;\r\n\r\n\t\tthis.contentElement.parentElement.style.overflow = 'hidden';\r\n\t\tthis.contentElement.innerHTML = this._options.loading.contentLoading;\r\n\r\n\t\tfetch('/umbraco/surface/' + this.contentLocation, {\r\n\t\t\tmethod: 'POST',\r\n\t\t\theaders: {\r\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\r\n\t\t\t\t'accept-language': this.language,\r\n\t\t\t\t// todo: why? if we change to a api controller we don't have this problem...\r\n\t\t\t\t'X-Requested-With': 'XMLHttpRequest' // otherwise accept-language is ignored\r\n\t\t\t},\r\n\t\t\tbody: dataSearch,\r\n\t\t\tcredentials: 'include'\r\n\t\t})\r\n\t\t\t.then(response => {\r\n\t\t\t\tconst contentType = response.headers.get('content-type');\r\n\t\t\t\tif (contentType && contentType.includes('text/html')) {\r\n\t\t\t\t\treturn response.text();\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\t.then(data => {\r\n\t\t\t\tif (data != null && data.length > 0) {\r\n\t\t\t\t\tthis.contentElement.parentElement.style.overflow = null;\r\n\t\t\t\t\tthis.contentElement.innerHTML = data;\r\n\t\t\t\t\tthis.setPreviousNextJumpPageEvents();\r\n\t\t\t\t\tthis.initContentFilter();\r\n\t\t\t\t\tthis.reinitFilter();\r\n\r\n\t\t\t\t\t//picturefill();\r\n\r\n\t\t\t\t\t// todo: change here to other offsettop ? this.contentElement.offsetTop + this._options.loading.contentYScroll;\r\n\t\t\t\t\t//window.scrollTo(0, this.contentElement.offsetTop + this._options.loading.contentYScroll);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t}\r\n\r\n\tprivate loadPreviousPage(event: any) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.page = this.page - 1 >= 1 ? this.page - 1 : 1;\r\n\t\tthis.loadFilterElements(false);\r\n\t}\r\n\r\n\tprivate loadNextPage(event: any) {\r\n\t\tevent.preventDefault();\r\n\t\tthis.page = this.page + 1;\r\n\t\tthis.loadFilterElements(false);\r\n\t}\r\n\r\n\tprivate loadJumpPage(event: any) {\r\n\t\tevent.preventDefault();\r\n\t\tconst element = event.target || event.currentTarget;\r\n\t\tthis.page = Number(element.getAttribute(this._options.paging.pageJumpAttribute));\r\n\t\tthis.loadFilterElements(false);\r\n\t}\r\n\r\n\tprivate setPreviousNextJumpPageEvents() {\r\n\t\tconst pageBack = Array.from(this.contentElement.getElementsByClassName(this._options.paging.pageBack));\r\n\t\tconst pageNext = Array.from(this.contentElement.getElementsByClassName(this._options.paging.pageNext));\r\n\r\n\t\tconst pageJump = Array.from(this.contentElement.getElementsByClassName(this._options.paging.pageJump));\r\n\r\n\t\tif (pageBack.length > 0) {\r\n\t\t\tpageBack.forEach(pageStep => pageStep.addEventListener('click', e => this.loadPreviousPage(e)));\r\n\t\t}\r\n\t\tif (pageNext.length > 0) {\r\n\t\t\tpageNext.forEach(pageStep => pageStep.addEventListener('click', e => this.loadNextPage(e)));\r\n\t\t}\r\n\r\n\t\tif (pageJump.length > 0) {\r\n\t\t\tpageJump.forEach(pageStep => pageStep.addEventListener('click', e => this.loadJumpPage(e)));\r\n\t\t}\r\n\r\n\t\tconst pageSizeSelect = document.querySelector(`.${this._options.paging.changeSize}`) as HTMLInputElement;\r\n\r\n\t\tif (pageSizeSelect) {\r\n\t\t\tpageSizeSelect.value = this.pagingSize.toString();\r\n\t\t\tpageSizeSelect.addEventListener('change', () => {\r\n\t\t\t\tthis.pagingSize = Number(pageSizeSelect.value);\r\n\t\t\t\tthis.page = 1;\r\n\t\t\t\tlocalStorage.setItem('pageSize', this.pagingSize.toString());\r\n\t\t\t\tthis.loadFilterElements(false);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setPageToDefault() {\r\n\t\tthis.page = 1;\r\n\t}\r\n\r\n\tprivate filter() {\r\n\t\tthis.reinitFilter();\r\n\t\tthis.loadFilterElements();\r\n\t\tthis.renderFilterResult();\r\n\t}\r\n\r\n\tprivate reinitFilter() {\r\n\t\tthis.activeTags = this.getTagsFromLocationHash();\r\n\t\tthis.filters = [];\r\n\t\tthis.setActiveTagsClasses();\r\n\t\tthis.reinitSticky();\r\n\t}\r\n\r\n\tprivate reinitSticky() {\r\n\t\tif (this.stickyToUpdate) {\r\n\t\t\tdispatchCustomEvent(this.stickyToUpdate, 'update');\r\n\t\t}\r\n\t}\r\n\r\n\tprivate setActiveTagsClasses() {\r\n\t\tthis.tags.forEach(tag => {\r\n\t\t\tconst tagsDropdown = getParentWithClass(tag as HTMLElement, this._options.selectors.tagsDropdown);\r\n\r\n\t\t\tif (this.isTagActive(tag)) {\r\n\t\t\t\tif (tagsDropdown != null) {\r\n\t\t\t\t\tif (hasClass(tag, this._options.selectors.tagActive)) {\r\n\t\t\t\t\t\tremoveClass(tag.parentElement, this._options.classes.hidden);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\taddClass(tag.parentElement, this._options.classes.hidden);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.deactivateAllTag(tagsDropdown);\r\n\t\t\t\t} else {\r\n\t\t\t\t\taddClass(tag, this._options.classes.active);\r\n\t\t\t\t\tif (this.isSelectOption(tag)) {\r\n\t\t\t\t\t\t(tag.parentElement as HTMLSelectElement).selectedIndex = (tag as HTMLOptionElement).index;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.addTagToFilters(tag);\r\n\t\t\t} else {\r\n\t\t\t\tif (tagsDropdown != null) {\r\n\t\t\t\t\tif (hasClass(tag, this._options.selectors.tagActive)) {\r\n\t\t\t\t\t\taddClass(tag.parentElement, this._options.classes.hidden);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tremoveClass(tag.parentElement, this._options.classes.hidden);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tconst allTagsActive = Array.from(\r\n\t\t\t\t\t\ttagsDropdown.getElementsByClassName(this._options.selectors.tag + ' ' + this._options.selectors.tagActive)\r\n\t\t\t\t\t).filter(tag => hasClass(tag.parentElement, this._options.classes.hidden) !== true);\r\n\t\t\t\t\tif (allTagsActive.length === 0) {\r\n\t\t\t\t\t\tthis.activateAllTag(tagsDropdown);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tremoveClass(tag, this._options.classes.active);\r\n\t\t\t\t}\r\n\t\t\t\tthis.removeTagFromFilters(tag);\r\n\t\t\t}\r\n\t\t});\r\n\t\tthis.activeTags = this.filters;\r\n\t\tconst newHash = this.getTagsLocationHash();\r\n\r\n\t\tif (newHash && newHash.length > 1) {\r\n\t\t\tlocation.hash = newHash;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate getTagsFromLocationHash(): string[] {\r\n\t\treturn location.hash.split('/').filter(o => ['', '#'].indexOf(o) === -1);\r\n\t}\r\n\r\n\tprivate getTagsLocationHash(): string {\r\n\t\treturn '/' + this.activeTags.join('/');\r\n\t}\r\n\r\n\tprivate toggleTag(tag: Element): void {\r\n\t\tconst doActivateTag = !this.isTagActive(tag);\r\n\t\tconst tagsDropdown = getParentWithClass(tag as HTMLElement, this._options.selectors.tagsDropdown);\r\n\t\tif (tagsDropdown != null) {\r\n\t\t\t//this.deactivateActiveTags(tagsDropdown);\r\n\t\t\tif (doActivateTag) {\r\n\t\t\t\tthis.activateTag(tag);\r\n\t\t\t} else {\r\n\t\t\t\tthis.deactivateTag(tag);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (doActivateTag) {\r\n\t\t\t\tthis.activateActiveTag(tag);\r\n\t\t\t} else {\r\n\t\t\t\tthis.deactivateActiveTag(tag);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate updateSelectTag(select: Element): void {\r\n\t\tconst selectMenu = select as HTMLSelectElement;\r\n\t\tconst selectedIndex = selectMenu.selectedIndex;\r\n\t\tconst selectedTag = selectMenu.options[selectedIndex] as Element;\r\n\t\tthis.deactivateActiveTags(select);\r\n\t\tif (selectedTag != null) {\r\n\t\t\tthis.activateActiveTag(selectedTag);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate resetAllActiveTags(): void {\r\n\t\tthis.filters = [];\r\n\t\tlocation.hash = '';\r\n\t\tthis.selects.forEach(select => {\r\n\t\t\t(select as HTMLSelectElement).selectedIndex = 0;\r\n\t\t});\r\n\t\tif (this.searchTextInput) {\r\n\t\t\tthis.searchTextInput.value = '';\r\n\t\t}\r\n\t\tthis.loadFilterElements();\r\n\t}\r\n\r\n\tprivate isSelectOption(tag: Element): boolean {\r\n\t\treturn this.selects.indexOf(tag.parentElement) > -1;\r\n\t}\r\n\r\n\tprivate activateActiveTag(tag: Element) {\r\n\t\taddClass(tag, this._options.classes.active);\r\n\t\tthis.activateTag(tag);\r\n\t}\r\n\r\n\tprivate activateTag(tag: Element) {\r\n\t\tconst tagValue = this.getTagValue(tag);\r\n\t\tif (tagValue.length > 0) {\r\n\t\t\tthis.activeTags.push(tagValue);\r\n\t\t\tlocation.hash = this.getTagsLocationHash();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate deactivateTag(tag: Element) {\r\n\t\tconst tagValue = this.getTagValue(tag);\r\n\t\tif (tagValue.length > 0) {\r\n\t\t\tconst tagValueIndex = this.getTagValueIndex(tagValue);\r\n\t\t\tif (tagValueIndex > -1) {\r\n\t\t\t\tthis.activeTags.splice(tagValueIndex, 1);\r\n\t\t\t\tlocation.hash = this.getTagsLocationHash();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate deactivateActiveTags(tagsDropdown: Element): void {\r\n\t\tconst allTagsActive = Array.from(\r\n\t\t\ttagsDropdown.getElementsByClassName(this._options.selectors.tag + ' ' + this._options.selectors.tagActive)\r\n\t\t).filter(tag => hasClass(tag.parentElement, this._options.classes.hidden) !== true);\r\n\t\tallTagsActive.forEach(tag => this.deactivateTag(tag));\r\n\t\tconst tagsActive = Array.from(\r\n\t\t\ttagsDropdown.getElementsByClassName(this._options.selectors.tag + ' ' + this._options.classes.active)\r\n\t\t);\r\n\t\ttagsActive.forEach(tag => this.deactivateActiveTag(tag));\r\n\t}\r\n\r\n\tprivate deactivateActiveTag(tag: Element): void {\r\n\t\tremoveClass(tag, this._options.classes.active);\r\n\t\tthis.deactivateTag(tag);\r\n\t}\r\n\r\n\tprivate allTagClick(tagsDropdown: Element) {\r\n\t\tthis.deactivateActiveTags(tagsDropdown);\r\n\t\tthis.activateAllTag(tagsDropdown as HTMLElement);\r\n\t}\r\n\r\n\tprivate activateAllTag(tagsDropdown: HTMLElement) {\r\n\t\tif (this.allTags != null && this.allTags.length) {\r\n\t\t\tconst allTag = tagsDropdown.getElementsByClassName(this._options.selectors.tagAll)[0];\r\n\t\t\tconst allTagActive = tagsDropdown.getElementsByClassName(this._options.selectors.tagAllActive)[0];\r\n\t\t\tconst dropdownToggleBtn = getParentWithClass(tagsDropdown, this._options.selectors.dropdown).getElementsByClassName(\r\n\t\t\t\tthis._options.selectors.dropdownToggle\r\n\t\t\t)[0];\r\n\t\t\tconst filterAll = this.getTagValue(allTag);\r\n\r\n\t\t\tif (filterAll !== 'undefined' && filterAll !== '') {\r\n\t\t\t\tthis.addTagToFilters(allTag);\r\n\t\t\t}\r\n\t\t\taddClass(allTag.parentElement, this._options.classes.hidden);\r\n\t\t\tremoveClass(allTagActive.parentElement, this._options.classes.hidden);\r\n\t\t\tremoveClass(dropdownToggleBtn, this._options.classes.active);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate deactivateAllTag(tagsDropdown: HTMLElement) {\r\n\t\tif (this.allTags != null && this.allTags.length) {\r\n\t\t\tconst allTag = tagsDropdown.getElementsByClassName(this._options.selectors.tagAll)[0];\r\n\t\t\tconst allTagActive = tagsDropdown.getElementsByClassName(this._options.selectors.tagAllActive)[0];\r\n\t\t\tconst dropdown = getParentWithClass(tagsDropdown, this._options.selectors.dropdown);\r\n\t\t\tconst dropdownToggleBtn = dropdown.getElementsByClassName(this._options.selectors.dropdownToggle)[0];\r\n\t\t\tconst filterAll = this.getTagValue(allTag);\r\n\r\n\t\t\tif (filterAll !== 'undefined' && filterAll !== '') {\r\n\t\t\t\tthis.removeTagFromFilters(allTag);\r\n\t\t\t}\r\n\t\t\tremoveClass(allTag.parentElement, this._options.classes.hidden);\r\n\t\t\taddClass(allTagActive.parentElement, this._options.classes.hidden);\r\n\t\t\taddClass(dropdownToggleBtn, this._options.classes.active);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate isTagActive(tag: Element): boolean {\r\n\t\treturn this.getTagValueIndex(this.getTagValue(tag)) > -1;\r\n\t}\r\n\r\n\tprivate getTagValueIndex(tagValue: string): number {\r\n\t\treturn this.activeTags.indexOf(tagValue);\r\n\t}\r\n\r\n\tprivate getTagValue(tag: Element): string {\r\n\t\treturn tag.getAttribute(this._options.tagValue);\r\n\t}\r\n\r\n\tprivate getFilters(): string {\r\n\t\treturn this.filters.toString();\r\n\t}\r\n\r\n\tprivate addTagToFilters(tag: Element) {\r\n\t\tconst tagValue = this.getTagValue(tag);\r\n\r\n\t\tif (tagValue !== 'undefined' && tagValue !== '') {\r\n\t\t\tif (this.filters.indexOf(tagValue) < 0) {\r\n\t\t\t\tthis.filters.push(tagValue);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tprivate removeTagFromFilters(tag: Element) {\r\n\t\tconst tagValue = this.getTagValue(tag);\r\n\r\n\t\tif (tagValue !== 'undefined' && tagValue !== '') {\r\n\t\t\tconst indexFilter = this.filters.indexOf(tagValue);\r\n\r\n\t\t\tif (indexFilter > -1) {\r\n\t\t\t\tthis.filters.splice(indexFilter, 1);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate renderFilterResult() {\r\n\t\tif (this.filterResults) {\r\n\t\t\tif (this.resultWrapper) {\r\n\t\t\t\tthis.resultWrapper.style.display = 'block';\r\n\t\t\t}\r\n\r\n\t\t\tthis.filterResults.innerHTML = '';\r\n\t\t\tthis.tags\r\n\t\t\t\t.filter(tag => this.isTagActive(tag))\r\n\t\t\t\t.map(tag => [tag.parentElement.cloneNode(true), tag])\r\n\t\t\t\t.forEach(wrapper => {\r\n\t\t\t\t\tconst clone = wrapper[0] as Element;\r\n\t\t\t\t\tconst cloneTag = (clone as Element).getElementsByClassName(this._options.selectors.tag)[0];\r\n\t\t\t\t\tconst tag = wrapper[1] as Element;\r\n\t\t\t\t\tcloneTag.removeAttribute('data-delegate-id');\r\n\t\t\t\t\tremoveClass(cloneTag, 'js-delegate-events');\r\n\r\n\t\t\t\t\tcloneTag.addEventListener('click', e => {\r\n\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tconst event = document.createEvent('HTMLEvents');\r\n\t\t\t\t\t\tevent.initEvent('click', false, true);\r\n\t\t\t\t\t\ttag.dispatchEvent(event);\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.filterResults.appendChild(clone);\r\n\t\t\t\t});\r\n\t\t} else if (this.resultWrapper) {\r\n\t\t\tthis.resultWrapper.style.display = 'none';\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport function filterpage(wrapper: HTMLElement, options?: FilterPageOptions): FilterPage {\r\n\treturn new FilterPage(wrapper, options);\r\n}\r\n"],"sourceRoot":""}