{"version":3,"sources":["webpack:///./src/foundation/utilities/update-querystring.js","webpack:///./src/feature/search-filterbar/searchFilterbarBase.js","webpack:///./src/foundation/utilities/detectBrowsers.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es.string.match.js","webpack:///./node_modules/datatables.net-rowgroup/js/dataTables.rowGroup.js"],"names":["updateQueryStringParameter","key","value","baseUrl","window","location","protocol","host","pathname","join","urlQueryString","document","search","newParam","params","keyRegex","RegExp","match","replace","history","replaceState","SearchFilterbarBase","element","el","settings","parseSettings","firstSubmit","firstLoad","reset","knowledgeFirstSubmit","showFirstHeaderInfo","$datatable","$container","isSitecore","body","classList","contains","url","selectBoxes","querySelectorAll","selectBoxValues","dataTableColumns","dataTableDefs","headerString","columnsHeaderOne","columnsHeader1","searchFilters","cludoFilterHeaders","searchBarSelect","KnowledgeClose","querySelector","searchFilterSubmit","searchFilterReset","hideSerieButton","addEventListener","detectBrowser","Browsers","IE","add","log","initDataTablesFunc","totalHitsRender","this","Function","console","error","setSelectboxValues","i","length","getSelectValues","dom","input","e","submitOnEnter","submit","submitClick","resetFiltering","filter","code","remove","getAttribute","JSON","parse","name","encodeURIComponent","regex","results","exec","decodeURIComponent","hasParameters","paramValue","getUrlParameters","push","searchPhrase","initDataTablesIsSet","reload","showSerie","hasPhrase","searchType","selectBox","options","selectedIndex","text","split","path","showSerieButton","removeClass","filters","datatableReload","initDataTableList","preventDefault","keyCode","innerHTML","addClass","form","_reset","jQuery","on","rowUrl","find","attr","href","serieFilter","closest","DataTable","ajax","BaseBehavior","Edge","Firefox","Chrome","Safari","browser","isOpera","opr","addons","opera","navigator","userAgent","indexOf","isFirefox","InstallTrigger","isIE","test","HTMLElement","safari","pushNotification","toString","documentMode","isEdge","StyleMedia","isChrome","chrome","webstore","CSS","DESCRIPTORS","global","isForced","inheritIfRequired","createNonEnumerableProperty","defineProperty","f","getOwnPropertyNames","isRegExp","getFlags","stickyHelpers","redefine","fails","has","enforceInternalState","enforce","setSpecies","wellKnownSymbol","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","MATCH","NativeRegExp","RegExpPrototype","prototype","IS_NCG","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","BASE_FORCED","RegExpWrapper","pattern","flags","rawFlags","dotAll","sticky","handled","result","state","thisIsRegExp","patternIsRegExp","flagsAreUndefined","undefined","groups","rawPattern","constructor","source","call","string","chr","index","named","names","brackets","ncg","groupid","groupname","charAt","slice","SyntaxError","handleNCG","raw","handleDotAll","proxy","configurable","get","set","it","keys","fixRegExpWellKnownSymbolLogic","anObject","toLength","requireObjectCoercible","getMethod","advanceStringIndex","regExpExec","nativeMatch","maybeCallNative","regexp","O","matcher","rx","S","res","done","fullUnicode","unicode","lastIndex","A","n","matchStr","$","fn","dataTable","RowGroup","dt","opts","versionCheck","c","extend","defaults","rowGroup","s","Api","existing","_constructor","dataSrc","val","table","node","triggerHandler","disable","enable","flag","enabled","that","hostSettings","_draw","_adjustColspan","off","className","_colspan","columns","visible","reduce","a","b","groupedRows","_group","rows","page","indexes","_groupDisplay","level","last","fns","Array","isArray","ext","oApi","_fnGetObjectDataFn","data","ien","group","rowIndex","row","emptyDataGroup","dataPoint","children","display","groupName","startRender","_rowWrap","startClassName","insertBefore","endRender","endClassName","insertAfter","nodeName","toLowerCase","append","version","register","iterator","ctx","context","json","namespace","init","oInit","factory"],"mappings":"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","file":"4-23f10fe5.pkg.js","sourcesContent":["function updateQueryStringParameter(key, value) {\r\n\tconst baseUrl = [window.location.protocol, '//', window.location.host, window.location.pathname].join('');\r\n\tconst urlQueryString = document.location.search;\r\n\tconst newParam = key + '=' + value;\r\n\tlet params = '?' + newParam;\r\n\r\n\t// If the \"search\" string exists, then build params from it\r\n\tif (urlQueryString) {\r\n\t\tconst keyRegex = new RegExp('([?&])' + key + '[^&]*');\r\n\r\n\t\t// If param exists already, update it\r\n\t\tif (urlQueryString.match(keyRegex) !== null) {\r\n\t\t\tparams = urlQueryString.replace(keyRegex, '$1' + newParam);\r\n\t\t} else { // Otherwise, add it to end of query string\r\n\t\t\tparams = urlQueryString + '&' + newParam;\r\n\t\t}\r\n\t}\r\n\twindow.history.replaceState({}, '', baseUrl + params);\r\n}\r\n\r\nexport default updateQueryStringParameter;\r\n","import jQuery from \"jquery\";\r\n// eslint-disable-next-line no-unused-vars\r\nimport 'datatables.net';\r\nimport 'datatables.net-rowgroup';\r\nimport updateQueryStringParameter from \"../../foundation/utilities/update-querystring\";\r\nimport BaseBehavior from \"../../foundation/base/base\";\r\nimport {\r\n\tdetectBrowser,\r\n\tBrowsers,\r\n} from \"../../foundation/utilities/detectBrowsers\";\r\n\r\nexport class SearchFilterbarBase extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\r\n\t\tthis.el = element;\r\n\t\tthis.settings = this.parseSettings();\r\n\r\n\t\tthis.firstSubmit = false;\r\n\t\tthis.firstLoad = true;\r\n\t\tthis.reset = false;\r\n\t\tthis.knowledgeFirstSubmit = false;\r\n\t\t// eslint-disable-next-line max-len\r\n\t\tthis.showFirstHeaderInfo = false; // in news, inspector reports and publications we show special header info on first load only\r\n\t\tthis.$datatable = \"\";\r\n\t\tthis.$container = \"\";\r\n\t\tthis.isSitecore = document.body.classList.contains(\"scPageEdit\");\r\n\t\tthis.baseUrl =\r\n\t\t\twindow.location.protocol +\r\n\t\t\t\"//\" +\r\n\t\t\twindow.location.host +\r\n\t\t\twindow.location.pathname;\r\n\t\tthis.url =\r\n\t\t\twindow.location.protocol +\r\n\t\t\t\"//\" +\r\n\t\t\twindow.location.host +\r\n\t\t\twindow.location.pathname;\r\n\t\tthis.selectBoxes = document.querySelectorAll(\".m-select__select\");\r\n\t\tthis.selectBoxValues = [];\r\n\t\tthis.dataTableColumns = []; // this variable manipulates json data rendering in the datatable\r\n\t\tthis.dataTableDefs = []; // this variable injects css-class names to each datatable cell\r\n\t\tthis.headerString = \"\";\r\n\t\tthis.columnsHeaderOne = this.settings.columnsHeader1;\r\n\t\tthis.searchFilters = document.querySelectorAll(\".m-form-group-select\");\r\n\t\tthis.cludoFilterHeaders = document.querySelectorAll(\r\n\t\t\t'[data-ref=\"search-filterbar__filters\"] .search-filter-header'\r\n\t\t);\r\n\t\tthis.searchBarSelect = document.querySelectorAll(\r\n\t\t\t'[data-ref=\"search-filterbar__filters\"] select'\r\n\t\t);\r\n\t\tthis.KnowledgeClose = document.querySelector('[data-js=\"close\"]');\r\n\t\tthis.searchFilterSubmit = this.el.querySelector(\r\n\t\t\t'[data-ref=\"search-filterbar__submit\"]'\r\n\t\t);\r\n\t\tthis.searchFilterReset = this.el.querySelector(\r\n\t\t\t'[data-ref=\"search-filterbar__reset\"]'\r\n\t\t);\r\n\r\n\t\tthis.hideSerieButton();\r\n\r\n\t\tthis.addEventListener();\r\n\r\n\t\tconst isIE = detectBrowser(Browsers.IE);\r\n\t\tif (isIE) {\r\n\t\t\tdocument.body.classList.add(\"is-explorer\");\r\n\t\t}\r\n\t\tthis.log(\"SearchFilterbarBase\");\r\n\t}\r\n\r\n\tfinishSetup(initDataTablesFunc, totalHitsRender) {\r\n\t\tthis.initDataTablesFunc = initDataTablesFunc;\r\n\t\tthis.totalHitsRender = totalHitsRender;\r\n\r\n\t\tif (!(this.totalHitsRender instanceof Function)) {\r\n\t\t\tconsole.error(\"SearchFilterbarBase.totalHitsRender is not set\");\r\n\t\t}\r\n\r\n\t\tthis.setSelectboxValues();\r\n\t}\r\n\r\n\tinitDataTablesIsSet() {\r\n\t\tif (this.initDataTablesFunc instanceof Function) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconsole.error(\"SearchFilterbarBase.initDataTablesFunc is not set\");\r\n\t\treturn false;\r\n\t}\r\n\r\n\t// Eventlisteners for form fields\r\n\taddEventListener() {\r\n\t\tif (this.selectBoxes) {\r\n\t\t\tfor (let i = 0; i < this.selectBoxes.length; i++) {\r\n\t\t\t\tthis.selectBoxes[i].addEventListener(\"change\", () =>\r\n\t\t\t\t\tthis.getSelectValues(true)\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.dom.input.addEventListener(\"keydown\", (e) => this.submitOnEnter(e));\r\n\t\tthis.dom.submit.addEventListener(\"click\", (e) => this.submitClick(e));\r\n\t\tthis.dom.reset.addEventListener(\"click\", (e) => this.resetFiltering(e));\r\n\t\tif (this.KnowledgeClose) {\r\n\t\t\tthis.KnowledgeClose.addEventListener(\"click\", (e) => this.resetFiltering(e)\r\n\t\t\t);\r\n\t\t}\r\n\t\t\r\n\t\tif (this.searchFilterReset) {\r\n\t\t\tthis.searchFilterReset.addEventListener(\"click\", (e) => this.resetFiltering(e)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (this.searchFilterReset) {\r\n\t\t\tthis.searchFilterReset.addEventListener(\"click\", (e) =>\r\n\t\t\t\tthis.resetFiltering(e)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tif (this.searchBarSelect) {\r\n\t\t\tfor (let i = 0; i < this.searchBarSelect.length; i++) {\r\n\t\t\t\tconst filter = this.searchBarSelect[i];\r\n\t\t\t\tfilter.classList.add(\"m-select__select--hide-outline\");\r\n\r\n\t\t\t\tfilter.addEventListener(\"click\", () => {\r\n\t\t\t\t\tfilter.classList.add(\"m-select__select--hide-outline\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tfilter.addEventListener(\"keyup\", (e) => {\r\n\t\t\t\t\tif (e.code === \"Tab\") {\r\n\t\t\t\t\t\tfilter.classList.remove(\"m-select__select--hide-outline\");\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.cludoFilterHeaders) {\r\n\t\t\tfor (let i = 0; i < this.cludoFilterHeaders.length; i++) {\r\n\t\t\t\tconst filter = this.cludoFilterHeaders[i];\r\n\t\t\t\tfilter.classList.add(\"cludo-filters--hide-outline\");\r\n\r\n\t\t\t\tfilter.addEventListener(\"click\", () => {\r\n\t\t\t\t\tfilter.classList.add(\"cludo-filters--hide-outline\");\r\n\t\t\t\t});\r\n\r\n\t\t\t\tfilter.addEventListener(\"keyup\", (e) => {\r\n\t\t\t\t\tif (e.code === \"Tab\") {\r\n\t\t\t\t\t\tfilter.classList.remove(\"cludo-filters--hide-outline\");\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.searchFilterSubmit) {\r\n\t\t\tthis.searchFilterSubmit.classList.add(\"mouse-focus\");\r\n\t\t\tthis.searchFilterSubmit.addEventListener(\"keyup\", (e) => {\r\n\t\t\t\tif (e.code === \"Tab\") {\r\n\t\t\t\t\tthis.searchFilterSubmit.classList.remove(\"mouse-focus\");\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tthis.searchFilterSubmit.addEventListener(\"mousedown\", () => {\r\n\t\t\t\tthis.searchFilterSubmit.classList.add(\"mouse-focus\");\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t// get data-attribute values as JSON from the HTML\r\n\tparseSettings() {\r\n\t\tconst settings = this.element.getAttribute(\"data-settings\");\r\n\t\treturn JSON.parse(settings);\r\n\t}\r\n\r\n\t// Get the querystring parameters and values from the url\r\n\tgetUrlParameters(name) {\r\n\t\tthis.name = encodeURIComponent(\r\n\t\t\tname.replace(/[[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\")\r\n\t\t);\r\n\t\tthis.regex = new RegExp(\"[\\\\?&]\" + this.name + \"=([^]*)\");\r\n\t\tthis.results = this.regex.exec(window.location.search);\r\n\t\treturn this.results === null\r\n\t\t\t? \"\"\r\n\t\t\t: decodeURIComponent(this.results[1].replace(/\\+/g, \" \"));\r\n\t}\r\n\r\n\t// If the user comes directly to a list-page with prefixed filters (through querystrings),\r\n\t// we detect the filter parameters and call the datatable load function with applied filters\r\n\tsetSelectboxValues() {\r\n\t\tthis.hasParameters = false;\r\n\t\tfor (let i = 0; i < this.selectBoxes.length; i++) {\r\n\t\t\tconst paramValue = this.getUrlParameters(this.selectBoxes[i].name);\r\n\t\t\tif (paramValue !== \"\") {\r\n\t\t\t\tthis.selectBoxes[i].value = paramValue;\r\n\t\t\t\tthis.selectBoxValues.push(this.selectBoxes[i].value);\r\n\t\t\t\tthis.hasParameters = true;\r\n\t\t\t}\r\n\r\n\t\t\tconst searchPhrase = this.getUrlParameters(\"searchWord\");\r\n\t\t\tif (searchPhrase) {\r\n\t\t\t\tthis.dom.input.value = searchPhrase;\r\n\t\t\t\tthis.hasParameters = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\t// So, if the url contains parameters we trigger a submit to load the datatable\r\n\t\tif (this.hasParameters === true) {\r\n\t\t\tthis.dom.reset.classList.remove(\"js-hidden\");\r\n\t\t\t// But only if we're not in Sitecore experience Editor\r\n\t\t\tif (!this.isSitecore && this.initDataTablesIsSet()) {\r\n\t\t\t\tthis.initDataTablesFunc();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// eslint-disable-next-line max-len\r\n\t// The function is called onchange from each select. It does 2 things while looping through the selectboxes:\r\n\t// 1. Reload the datatable with the new selected filter\r\n\t// eslint-disable-next-line max-len\r\n\t// 2. Append the selected filter in the Adress bar (without reloading), for easy link copy for the sitecore editor\r\n\tgetSelectValues(reload) {\r\n\t\tthis.selectBoxValues = []; // empty the array\r\n\t\tconst searchPhrase = this.getUrlParameters(\"searchWord\");\r\n\t\tconst showSerie = this.getUrlParameters(\"showSerie\");\r\n\t\tlet hasPhrase = false;\r\n\t\tif (searchPhrase) {\r\n\t\t\thasPhrase = true;\r\n\t\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\t\tthis.url = this.baseUrl;\r\n\t\t\t// eslint-disable-next-line no-unused-expressions\r\n\t\t\t+\"?searchWord=\" + this.dom.input.value; // clean url parameters but keep the typed search phrase\r\n\t\t} else {\r\n\t\t\tthis.url = this.baseUrl; // clean url parameters\r\n\t\t}\r\n\r\n\t\tfor (let i = 0; i < this.selectBoxes.length; i++) {\r\n\t\t\tif (this.selectBoxes[i].value !== \"\") {\r\n\t\t\t\tif (this.settings.searchType === 'fou-search-global') {\r\n\t\t\t\t\tconst selectBox = this.selectBoxes[i];\r\n\t\t\t\t\tconst { options } = selectBox;\r\n\t\t\t\t\tthis.selectBoxValues.push(options[selectBox.selectedIndex].text);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.selectBoxValues.push(this.selectBoxes[i].value);\r\n\t\t\t\t}\r\n\t\t\t\tthis.url +=\r\n\t\t\t\t\t(this.url.split(\"?\")[1] ? \"&\" : \"?\") +\r\n\t\t\t\t\tthis.selectBoxes[i].name +\r\n\t\t\t\t\t\"=\" +\r\n\t\t\t\t\tthis.selectBoxes[i].value;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (hasPhrase) {\r\n\t\t\tthis.url +=\r\n\t\t\t\t(this.url.split(\"?\")[1] ? \"&\" : \"?\") +\r\n\t\t\t\t\"searchWord=\" +\r\n\t\t\t\tthis.dom.input.value;\r\n\t\t\twindow.history.replaceState({ path: this.url }, \"\", this.url);\r\n\t\t}\r\n\t\tif (showSerie === \"true\") {\r\n\t\t\tthis.url += (this.url.split(\"?\")[1] ? \"&\" : \"?\") + \"showSerie=true\";\r\n\t\t\twindow.history.replaceState({ path: this.url }, \"\", this.url);\r\n\t\t\tthis.showSerieButton();\r\n\t\t} else {\r\n\t\t\twindow.history.replaceState({ path: this.url }, \"\", this.url);\r\n\t\t}\r\n\r\n\t\tif (reload) {\r\n\t\t\tthis.submitClick();\r\n\t\t}\r\n\t}\r\n\r\n\t// Load the datatable or just reload if user searchs again\r\n\tsubmitClick(e, reset) {\r\n\t\tthis.reset = false;\r\n\t\tif (this.firstSubmit === false) {\r\n\t\t\tthis.getSelectValues(false);\r\n\t\t\t// this.initDataTables(); // Here we are looking up which search-type we have.\r\n\r\n\t\t\tif (this.initDataTablesIsSet()) {\r\n\t\t\t\tthis.initDataTablesFunc();\r\n\t\t\t}\r\n\t\t\tthis.firstSubmit = true;\r\n\t\t\t// In all lists except knowledge we render on load\r\n\t\t\tif (\r\n\t\t\t\tthis.settings.searchType !== \"knowledge\" &&\r\n\t\t\t\tthis.settings.searchType !== \"vvae\" &&\r\n\t\t\t\tthis.settings.searchType !== \"enafos\" &&\r\n\t\t\t\tthis.settings.searchType !== \"fou-search-global\"\r\n\t\t\t) {\r\n\t\t\t\tthis.$container.removeClass(\"js-hidden\");\r\n\t\t\t\tthis.dom.filters.classList.remove(\r\n\t\t\t\t\t\"o-search-filterbar__container-second--hidden\"\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\t// On knowledge we do not render list until user has interacted\r\n\t\t} else if (\r\n\t\t\t(this.settings.searchType === \"knowledge\" ||\r\n\t\t\t\tthis.settings.searchType === \"vvae\" ||\r\n\t\t\t\tthis.settings.searchType === \"enafos\") &&\r\n\t\t\tthis.firstSubmit === true\r\n\t\t) {\r\n\t\t\t// OK, in knowledge we also have tot test if datatables has been initalized, if so only reload\r\n\t\t\tif (this.knowledgeFirstSubmit === false) {\r\n\t\t\t\tthis.initDataTableList();\r\n\t\t\t} else {\r\n\t\t\t\tthis.datatableReload();\r\n\t\t\t}\r\n\r\n\t\t\tthis.$container.removeClass(\"js-hidden\");\r\n\t\t\tthis.dom.reset.classList.remove(\"js-hidden\");\r\n\t\t\tthis.dom.filters.classList.remove(\r\n\t\t\t\t\"o-search-filterbar__container-second--hidden\"\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.datatableReload();\r\n\t\t\tthis.dom.reset.classList.remove(\"js-hidden\");\r\n\t\t\tthis.$container.removeClass(\"js-hidden\");\r\n\r\n\t\t\tupdateQueryStringParameter(\"searchWord\", this.dom.input.value, this);\r\n\t\t}\r\n\t\tif (e) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t\tif (reset) {\r\n\t\t\tthis.reset = true;\r\n\t\t\tthis.showFirstHeaderInfo = true;\r\n\t\t\tthis.datatableReload();\r\n\t\t}\r\n\t}\r\n\r\n\t// Avoid form postback and just do the Ajax thing when hitting enter\r\n\tsubmitOnEnter(e) {\r\n\t\tif (e.keyCode === 13) {\r\n\t\t\tthis.submitClick();\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t}\r\n\r\n\t// Reset everything when clicking the reset button\r\n\tresetFiltering(e) {\r\n\t\tif (this.firstSubmit === true) {\r\n\t\t\tthis.firstSubmit = false;\r\n\r\n\t\t\tif (document.querySelector(\".js-search-list-header\")) {\r\n\t\t\t\tdocument.querySelector(\".js-search-list-header\").innerHTML = \"\";\r\n\t\t\t}\r\n\r\n\t\t\tthis.$container.addClass(\"js-hidden\");\r\n\t\t\tthis.dom.filters.classList.add(\r\n\t\t\t\t\"o-search-filterbar__container-second--hidden\"\r\n\t\t\t);\r\n\t\t\tthis.selectBoxValues = []; // empty the array\r\n\t\t\tthis.showFirstHeaderInfo = true;\r\n\t\t\tthis.dom.form.reset();\r\n\r\n\t\t\t// eslint-disable-next-line no-underscore-dangle\r\n\t\t\tlet _reset = true;\r\n\t\t\tif (\r\n\t\t\t\tthis.settings.searchType === \"knowledge\" ||\r\n\t\t\t\tthis.settings.searchType === \"vvae\" ||\r\n\t\t\t\tthis.settings.searchType === \"enafos\"\r\n\t\t\t) {\r\n\t\t\t\t_reset = false;\r\n\t\t\t}\r\n\r\n\t\t\tthis.submitClick(e, _reset);\r\n\r\n\t\t\t// eslint-disable-next-line prefer-destructuring\r\n\t\t\tthis.url = this.url.split(\"?\")[0]; // Remove all parameters\r\n\t\t\twindow.history.replaceState({ path: this.url }, \"\", this.url);\r\n\t\t}\r\n\t\tif (\r\n\t\t\tthis.settings.searchType === \"news\" ||\r\n\t\t\tthis.settings.searchType === \"puljer\"\r\n\t\t) {\r\n\t\t\tthis.showFirstHeaderInfo = false;\r\n\t\t}\r\n\t\tthis.dom.reset.classList.add(\"js-hidden\");\r\n\t\te.preventDefault();\r\n\t}\r\n\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\trowClick() {\r\n\t\tif (!jQuery(\".dataTable--empty\")[0]) {\r\n\t\t\t// eslint-disable-next-line func-names\r\n\t\t\tjQuery(\".js-row-hover tbody tr.o-search-result-materials__row\").on(\"click\", function () {\r\n\t\t\t\t\tconst rowUrl = jQuery(this).find(\"td a\").attr('href');\r\n\t\t\t\t\tdocument.location.href = rowUrl;\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\thideSerieButton() {\r\n\t\tconst serieFilter = document.querySelector(\"select[name=Serie]\");\r\n\t\tif (serieFilter) {\r\n\t\t\tserieFilter.closest(\".m-form-group-select\").classList.add(\"js-hidden\");\r\n\t\t}\r\n\t}\r\n\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\tshowSerieButton() {\r\n\t\tdocument\r\n\t\t\t.querySelector(\"select[name=Serie]\")\r\n\t\t\t.closest(\".m-form-group-select\")\r\n\t\t\t.classList.remove(\"js-hidden\");\r\n\t}\r\n\r\n\t// Ajax reload and callback functions after reload\r\n\tdatatableReload() {\r\n\t\tthis.$datatable.DataTable().ajax.reload(this.totalHitsRender());\r\n\t}\r\n\r\n\t// If there are no results. We add a class to parent row for styling in events list...\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\tifNoResults() {\r\n\t\tjQuery(\".dataTable\").removeClass(\"js-row-hover\");\r\n\t\tjQuery(\".dataTable\").addClass(\"dataTable--empty\");\r\n\t}\r\n}\r\n\r\nexport default SearchFilterbarBase;\r\n","/* eslint-disable func-names */\r\n/* eslint-disable no-unused-vars */\r\n/* eslint-disable no-undef */\r\n/* eslint-disable consistent-return */\r\n// https://stackoverflow.com/questions/9847580/how-to-detect-safari-chrome-ie-firefox-and-opera-browser\r\n\r\nexport const Browsers = {\r\n\tIE: 'ie',\r\n\tEdge: 'Edge',\r\n\tFirefox: 'Firefox',\r\n\tChrome: 'Chrome',\r\n\tSafari: 'Safari'\r\n};\r\n\r\nexport function detectBrowser(browser) {\r\n\t// Opera 8.0+\r\n\tconst isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;\r\n\r\n\t// Firefox 1.0+\r\n\tconst isFirefox = typeof InstallTrigger !== 'undefined';\r\n\r\n\t// Safari 3.0+ \"[object HTMLElementConstructor]\"\r\n\tconst isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === '[object SafariRemoteNotification]'; }(!window.safari || (typeof safari !== 'undefined' && safari.pushNotification)));\r\n\r\n\t// Internet Explorer 6-11\r\n\tconst isIE = /* @cc_on!@ */false || !!document.documentMode;\r\n\r\n\t// Edge 20+\r\n\tconst isEdge = !isIE && !!window.StyleMedia;\r\n\r\n\t// Chrome 1+\r\n\tconst isChrome = !!window.chrome && !!window.chrome.webstore;\r\n\r\n\t// Blink engine detection\r\n\tconst isBlink = (isChrome || isOpera) && !!window.CSS;\r\n\r\n\tswitch (browser) {\r\n\tcase Browsers.IE:\r\n\t\treturn isIE;\r\n\tcase Browsers.Edge:\r\n\t\treturn isEdge;\r\n\tcase Browsers.Firefox:\r\n\t\treturn isFirefox;\r\n\tcase Browsers.Chrome:\r\n\t\treturn isChrome;\r\n\tdefault:\r\n\t}\r\n}\r\n","var DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineProperty = require('../internals/object-define-property').f;\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar redefine = require('../internals/redefine');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = global.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\n// TODO: Use only propper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n result += chr + string.charAt(++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = {};\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = string.charAt(index);\n if (chr === '\\\\') {\n chr = chr + string.charAt(++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n if (IS_NCG.test(string.slice(index + 1))) {\n index += 2;\n ncg = true;\n }\n result += chr;\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || has(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named.push([groupname, groupid]);\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = this instanceof RegExpWrapper;\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || pattern instanceof RegExpWrapper) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags.call(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && flags.indexOf('s') > -1;\n if (dotAll) flags = flags.replace(/s/g, '');\n }\n\n rawFlags = flags;\n\n if (UNSUPPORTED_Y && 'sticky' in re1) {\n sticky = !!flags && flags.indexOf('y') > -1;\n if (sticky) flags = flags.replace(/y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n var proxy = function (key) {\n key in RegExpWrapper || defineProperty(RegExpWrapper, key, {\n configurable: true,\n get: function () { return NativeRegExp[key]; },\n set: function (it) { NativeRegExp[key] = it; }\n });\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxy(keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n redefine(global, 'RegExp', RegExpWrapper);\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = regexp == undefined ? undefined : getMethod(regexp, MATCH);\n return matcher ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","/*! RowGroup 1.2.0\n * ©2017-2022 SpryMedia Ltd - datatables.net/license\n */\n\n/**\n * @summary RowGroup\n * @description RowGrouping for DataTables\n * @version 1.2.0\n * @author SpryMedia Ltd (www.sprymedia.co.uk)\n * @contact datatables.net\n * @copyright SpryMedia Ltd.\n *\n * This source file is free software, available under the following license:\n * MIT license - http://datatables.net/license/mit\n *\n * This source file is distributed in the hope that it will be useful, but\n * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\n * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.\n *\n * For details please refer to: http://www.datatables.net\n */\n\n(function( factory ){\n\tif ( typeof define === 'function' && define.amd ) {\n\t\t// AMD\n\t\tdefine( ['jquery', 'datatables.net'], function ( $ ) {\n\t\t\treturn factory( $, window, document );\n\t\t} );\n\t}\n\telse if ( typeof exports === 'object' ) {\n\t\t// CommonJS\n\t\tmodule.exports = function (root, $) {\n\t\t\tif ( ! root ) {\n\t\t\t\troot = window;\n\t\t\t}\n\n\t\t\tif ( ! $ || ! $.fn.dataTable ) {\n\t\t\t\t$ = require('datatables.net')(root, $).$;\n\t\t\t}\n\n\t\t\treturn factory( $, root, root.document );\n\t\t};\n\t}\n\telse {\n\t\t// Browser\n\t\tfactory( jQuery, window, document );\n\t}\n}(function( $, window, document, undefined ) {\n'use strict';\nvar DataTable = $.fn.dataTable;\n\n\nvar RowGroup = function ( dt, opts ) {\n\t// Sanity check that we are using DataTables 1.10 or newer\n\tif ( ! DataTable.versionCheck || ! DataTable.versionCheck( '1.10.8' ) ) {\n\t\tthrow 'RowGroup requires DataTables 1.10.8 or newer';\n\t}\n\n\t// User and defaults configuration object\n\tthis.c = $.extend( true, {},\n\t\tDataTable.defaults.rowGroup,\n\t\tRowGroup.defaults,\n\t\topts\n\t);\n\n\t// Internal settings\n\tthis.s = {\n\t\tdt: new DataTable.Api( dt )\n\t};\n\n\t// DOM items\n\tthis.dom = {\n\n\t};\n\n\t// Check if row grouping has already been initialised on this table\n\tvar settings = this.s.dt.settings()[0];\n\tvar existing = settings.rowGroup;\n\tif ( existing ) {\n\t\treturn existing;\n\t}\n\n\tsettings.rowGroup = this;\n\tthis._constructor();\n};\n\n\n$.extend( RowGroup.prototype, {\n\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\t * API methods for DataTables API interface\n\t */\n\n\t/**\n\t * Get/set the grouping data source - need to call draw after this is\n\t * executed as a setter\n\t * @returns string~RowGroup\n\t */\n\tdataSrc: function ( val )\n\t{\n\t\tif ( val === undefined ) {\n\t\t\treturn this.c.dataSrc;\n\t\t}\n\n\t\tvar dt = this.s.dt;\n\n\t\tthis.c.dataSrc = val;\n\n\t\t$(dt.table().node()).triggerHandler( 'rowgroup-datasrc.dt', [ dt, val ] );\n\n\t\treturn this;\n\t},\n\n\t/**\n\t * Disable - need to call draw after this is executed\n\t * @returns RowGroup\n\t */\n\tdisable: function ()\n\t{\n\t\tthis.c.enable = false;\n\t\treturn this;\n\t},\n\n\t/**\n\t * Enable - need to call draw after this is executed\n\t * @returns RowGroup\n\t */\n\tenable: function ( flag )\n\t{\n\t\tif ( flag === false ) {\n\t\t\treturn this.disable();\n\t\t}\n\n\t\tthis.c.enable = true;\n\t\treturn this;\n\t},\n\n\t/**\n\t * Get enabled flag\n\t * @returns boolean\n\t */\n\tenabled: function ()\n\t{\n\t\treturn this.c.enable;\n\t},\n\n\n\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\t * Constructor\n\t */\n\t_constructor: function ()\n\t{\n\t\tvar that = this;\n\t\tvar dt = this.s.dt;\n\t\tvar hostSettings = dt.settings()[0];\n\n\t\tdt.on( 'draw.dtrg', function (e, s) {\n\t\t\tif ( that.c.enable && hostSettings === s ) {\n\t\t\t\tthat._draw();\n\t\t\t}\n\t\t} );\n\n\t\tdt.on( 'column-visibility.dt.dtrg responsive-resize.dt.dtrg', function () {\n\t\t\tthat._adjustColspan();\n\t\t} );\n\n\t\tdt.on( 'destroy', function () {\n\t\t\tdt.off( '.dtrg' );\n\t\t} );\n\t},\n\n\n\t/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n\t * Private methods\n\t */\n\n\t/**\n\t * Adjust column span when column visibility changes\n\t * @private\n\t */\n\t_adjustColspan: function ()\n\t{\n\t\t$( 'tr.'+this.c.className, this.s.dt.table().body() ).find('td:visible')\n\t\t\t.attr( 'colspan', this._colspan() );\n\t},\n\n\t/**\n\t * Get the number of columns that a grouping row should span\n\t * @private\n\t */\n\t_colspan: function ()\n\t{\n\t\treturn this.s.dt.columns().visible().reduce( function (a, b) {\n\t\t\treturn a + b;\n\t\t}, 0 );\n\t},\n\n\n\t/**\n\t * Update function that is called whenever we need to draw the grouping rows.\n\t * This is basically a bootstrap for the self iterative _group and _groupDisplay\n\t * methods\n\t * @private\n\t */\n\t_draw: function ()\n\t{\n\t\tvar dt = this.s.dt;\n\t\tvar groupedRows = this._group( 0, dt.rows( { page: 'current' } ).indexes() );\n\n\t\tthis._groupDisplay( 0, groupedRows );\n\t},\n\n\t/**\n\t * Get the grouping information from a data set (index) of rows\n\t * @param {number} level Nesting level\n\t * @param {DataTables.Api} rows API of the rows to consider for this group\n\t * @returns {object[]} Nested grouping information - it is structured like this:\n\t *\t{\n\t *\t\tdataPoint: 'Edinburgh',\n\t *\t\trows: [ 1,2,3,4,5,6,7 ],\n\t *\t\tchildren: [ {\n\t *\t\t\tdataPoint: 'developer'\n\t *\t\t\trows: [ 1, 2, 3 ]\n\t *\t\t},\n\t *\t\t{\n\t *\t\t\tdataPoint: 'support',\n\t *\t\t\trows: [ 4, 5, 6, 7 ]\n\t *\t\t} ]\n\t *\t}\n\t * @private\n\t */\n\t_group: function ( level, rows ) {\n\t\tvar fns = Array.isArray( this.c.dataSrc ) ? this.c.dataSrc : [ this.c.dataSrc ];\n\t\tvar fn = DataTable.ext.oApi._fnGetObjectDataFn( fns[ level ] );\n\t\tvar dt = this.s.dt;\n\t\tvar group, last;\n\t\tvar data = [];\n\t\tvar that = this;\n\n\t\tfor ( var i=0, ien=rows.length ; i