{"version":3,"sources":["webpack:///./node_modules/@tarekraafat/autocomplete.js/dist/autoComplete.min.js","webpack:///./node_modules/ui-core/widgets/advanced-search/js/tabular.ts","webpack:///./node_modules/ui-core/components/refine-search/js/refine-search.js","webpack:///./node_modules/ui-core/components/facet/js/toggle.js","webpack:///./node_modules/ui-core/components/facet-date/js/facet-date.js","webpack:///./node_modules/ui-core/widgets/search-result/js/search-result.js","webpack:///./node_modules/ui-core/widgets/advanced-search/js/range-fields.ts","webpack:///./node_modules/ui-core/plugins/autocomplete/tags.ts","webpack:///./node_modules/ui-core/widgets/advanced-search/js/autocomplete.ts","webpack:///./node_modules/ui-core/widgets/advanced-search/js/advanced-search.ts","webpack:///./node_modules/ui-theme/components/refine-search/js/refine-search.js","webpack:///./node_modules/@atypon/ui-bundle-generator/.generated/groups/_search.js"],"names":["t","e","n","Object","keys","getOwnPropertySymbols","r","filter","getOwnPropertyDescriptor","enumerable","push","apply","arguments","length","i","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","Symbol","_typeof","iterator","constructor","prototype","value","configurable","writable","Array","isArray","s","from","o","TypeError","toString","call","slice","name","test","u","document","querySelector","a","createElement","append","insertAdjacentElement","parentNode","insertBefore","getAttribute","focus","setAttribute","c","String","toLowerCase","normalize","replace","l","innerHTML","class","outerHTML","f","input","dispatchEvent","CustomEvent","bubbles","detail","feedback","cancelable","p","mode","diacritics","highlight","map","join","d","indexOf","substring","Promise","data","cache","store","src","then","h","searchEngine","resultItem","match","key","done","next","resultsList","maxResults","query","matches","results","m","b","y","v","selection","index","g","isOpen","wrapper","list","removeAttribute","w","O","getElementsByTagName","tag","selected","split","cursor","classList","remove","add","id","scrollTop","offsetTop","clientHeight","A","k","L","event","j","this","HTMLInputElement","HTMLTextAreaElement","trigger","threshold","Error","noResults","DocumentFragment","concat","role","inside","element","S","E","placeHolder","placeholder","around","dest","destination","position","hidden","T","events","debounce","clearTimeout","setTimeout","keydown","keyCode","preventDefault","submit","tabSelect","blur","mousedown","click","toUpperCase","querySelectorAll","target","closest","nodeName","addEventListener","x","init","start","unInit","removeChild","removeEventListener","open","close","goTo","previous","select","search","options","instances","selector","exports","module","define","keywordField","typeField","hide","searchInFields","searchInFieldWrapper","_searchInField","searchInField","currentAddButton","getAddButton","currentRemoveButton","getRemoveButton","domUtils","getElement","selectors","getElements","onChanged","searchTermsAligner","searchTermRows","searchTerm","contextSearchLabel","previousElementSibling","TermSearchLabel","removeBtn","dropdown","initialize","elements","addEventListeners","toggleButtons","setSearchInFieldsEvents","elm","bind","clone","onKeyDownAdd","onKeyDownRemove","ENTER","stopPropagation","div","clonedInput","clonedSelectInput","fieldWrapper","selectFieldWrapper","focusedSearchTerm","focusedSearchActionBtn","searchTermWrapper","currentTarget","searchTerms","filteredTermRows","targetElement","items","item","changeFieldAttributes","labels","number","fieldNames","label","includes","AdvancedSearchTabular","Selectors","Elements","ClassList","Texts","HTMLElement","$body","refine","$","$target","$targets","$showController","$hideController","$elements","ctrls","$wrapper","isMobile","vPort","escape","control","on","viewPortListener","toggleSearchBlock","$this","find","show","is","has","which","tabs","ctrl","toggle","tab","window","jcf","destroyAll","attr","val","end","appendTo","addClass","siblings","removeClass","each","removeAttr","setPopupAttr","isTrue","undefined","UX","$toggle","lessLabel","moreLabel","setLabels","build","additionalControls","off","toggleFacet","$filters","$lis","children","$options","lisNum","optionsNum","shownItems","isToggle","moreCount","after","get","showMore","elem","slideToggle","toggleClass","hasClass","html","firstElementChild","count","facetDate","sliderRanges","sliderValues","$rangeStart","$rangeEnd","url","location","href","initRange","destroy","change","setRange","setStart","setEnd","updateUrl","sliderRange","queryString","queryStringObj","keyVal","AfterYear","BeforeYear","parseInt","closestStart","closestEnd","reduce","prev","curr","Math","abs","$sliderRange","frequencies","nonLinearSliderSteps","allowedTotalYears","cur","minVal","maxVal","totalYears","linearSlider","displaySteps","reverse","remaining","startYear","startSlice","step","all","oneThird","floor","twoThirds","remainder","stop","displayStep","slideStep","freq","range","sliderVal","initialValue","getSelectedRange","initialPosition","getSelectedRangePosition","$rangeWrapper","$rangeFrequencies","$rangeSlice","prepend","rangeSliceWidth","tmp2","getValue","thisVal","getValueFromInput","sliderInstance","getInstance","values","refresh","rangeUpdate","callbackFn","URL","searchParams","set","removeParam","baseUrl","thisValIndex","customVal","searchResult","rememberUserLayout","$savedSearchPanel","frequencyLabels","maxSearchQueries","goLink","removeLink","additionalInit","additionalControl","userPublicationLayout","openSaveSearchDialog","onSaveSearchSubmitHandler","localStorage","setItem","allFieldInput","setSelectionRange","text","RegExp","exec","render","row","$row","eq","columns","actions","parent","qName","qSavedOn","qLastRun","additionalColumns","frequencyColumn","_ref","frequency","qAlertStatus","_ref2","qId","openDialog","getCookie","saveSearchButton","cookie","nameEQ","ca","charAt","ajax","type","serialize","success","saveSearchSuccessHandler","error","modal","redrawSavedSearchesPanel","JSON","parse","favQueries","jsonData","_this","rangeField","customRange","customRangeRadio","radios","selects","timeRangeAlert","_oldRadio","disabledAllFields","enableSiblingFields","radio","onChange","oldRadio","shouldDisable","fromYear","fromMonth","toYear","toMonth","hasOwnProperty","customRangeSelected","checked","hasNaNValues","some","isNaN","endDateBeforeStartDate","isDisabled","alertText","isNaNCombinedDate","AdvancedSearchRangeFields","config","inputField","badgeCloseIcon","tagsPosition","preselectedItems","tagValues","onTagRemoved","tagClasses","checkSetPreselected","valueExists","findIndex","createTagValue","buildInput","mainInput","inputNode","fragment","firstChild","getValues","removeAllTags","buildTag","appendChild","parentElement","inputStored","tagStored","autocompleteList","autocompleteItem","autoComplete","autoCompleteWrapper","filters","stateChanged","placeHolders","Map","autoCompletes","_configs","configs","maxWords","maxChars","method","valueField","autoSelect","allowFreeEntries","displayField","cls","elementRenderer","className","innerText","initAutoComplete","autocompleteAnnouncer","announcerContainer","autocompleteLists","observer","MutationObserver","mutationsList","mutation","observe","childList","urlWithQuery","term","trim","dataset","autoCompleteTarget","autoCompleteWithin","encodeURIComponent","buildConfigs","fetch","json","idName","sort","itemPreselectedValues","createAutoCompleteInstance","record","onSearchEngine","autoCompleteInstance","onAutoCompleteFocus","onTagValuesChange","onBlur","onSelection","onResults","field","scrollHeight","style","width","autocomplete","relatedTarget","pop","toggleClasses","AdvancedSearchAutoComplete","Function","searchInInputs","submitButton","autoCompleteFields","advancedFiltersRadioInputs","initTabular","setSubmitButtonState","setResetButtonListener","selectAdvancedFiltersRadioInput","tabularListener","rangeFieldListener","browserUtils","isIE","autoCompleteListener","state","hasEmptyFields","hasEmptySuggestions","radioInputs","textInputs","suggestions","suggestion","selectedIndex","AdvancedSearch","main","$refine","getElementsByClassName","$facetDate","$searchResult","$advancedSearch","err","console","advancedSearch"],"mappings":"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","file":"js/vendors~search-c53ffbcde164b37f0bff.js","sourcesContent":["var e,t;e=this,t=function(){\"use strict\";function e(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function t(t){for(var n=1;ne.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var s,u=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return u=e.done,e},e:function(e){a=!0,s=e},f:function(){try{u||null==n.return||n.return()}finally{if(a)throw s}}}}(n.keys);try{for(l.s();!(c=l.n()).done;)a(c.value)}catch(e){l.e(e)}finally{l.f()}}else a()})),n.filter&&(i=n.filter(i));var s=i.slice(0,t.resultsList.maxResults);t.feedback={query:e,matches:i,results:s},f(\"results\",t)},m=\"aria-expanded\",b=\"aria-activedescendant\",y=\"aria-selected\",v=function(e,n){e.feedback.selection=t({index:n},e.feedback.results[n])},g=function(e){e.isOpen||((e.wrapper||e.input).setAttribute(m,!0),e.list.removeAttribute(\"hidden\"),e.isOpen=!0,f(\"open\",e))},w=function(e){e.isOpen&&((e.wrapper||e.input).setAttribute(m,!1),e.input.setAttribute(b,\"\"),e.list.setAttribute(\"hidden\",\"\"),e.isOpen=!1,f(\"close\",e))},O=function(e,t){var n=t.resultItem,r=t.list.getElementsByTagName(n.tag),o=!!n.selected&&n.selected.split(\" \");if(t.isOpen&&r.length){var s,u,a=t.cursor;e>=r.length&&(e=0),e<0&&(e=r.length-1),t.cursor=e,a>-1&&(r[a].removeAttribute(y),o&&(u=r[a].classList).remove.apply(u,i(o))),r[e].setAttribute(y,!0),o&&(s=r[e].classList).add.apply(s,i(o)),t.input.setAttribute(b,r[t.cursor].id),t.list.scrollTop=r[e].offsetTop-t.list.clientHeight+r[e].clientHeight+5,t.feedback.cursor=t.cursor,v(t,e),f(\"navigate\",t)}},A=function(e){O(e.cursor+1,e)},k=function(e){O(e.cursor-1,e)},L=function(e,t,n){(n=n>=0?n:e.cursor)<0||(e.feedback.event=t,v(e,n),f(\"selection\",e),w(e))};function j(e,n){var r=this;return new Promise((function(i,o){var s,u;return s=n||((u=e.input)instanceof HTMLInputElement||u instanceof HTMLTextAreaElement?u.value:u.innerHTML),function(e,t,n){return t?t(e):e.length>=n}(s=e.query?e.query(s):s,e.trigger,e.threshold)?d(e,s).then((function(n){try{return e.feedback instanceof Error?i():(h(s,e),e.resultsList&&function(e){var n=e.resultsList,r=e.list,i=e.resultItem,o=e.feedback,s=o.matches,u=o.results;if(e.cursor=-1,r.innerHTML=\"\",s.length||n.noResults){var c=new DocumentFragment;u.forEach((function(e,n){var r=a(i.tag,t({id:\"\".concat(i.id,\"_\").concat(n),role:\"option\",innerHTML:e.match,inside:c},i.class&&{class:i.class}));i.element&&i.element(r,e)})),r.append(c),n.element&&n.element(r,o),g(e)}else w(e)}(e),c.call(r))}catch(e){return o(e)}}),o):(w(e),c.call(r));function c(){return i()}}))}var S=function(e,t){for(var n in e)for(var r in e[n])t(n,r)},T=function(e){var n,r,i,o=e.events,s=(n=function(){return j(e)},r=e.debounce,function(){clearTimeout(i),i=setTimeout((function(){return n()}),r)}),u=e.events=t({input:t({},o&&o.input)},e.resultsList&&{list:o?t({},o.list):{}}),a={input:{input:function(){s()},keydown:function(t){!function(e,t){switch(e.keyCode){case 40:case 38:e.preventDefault(),40===e.keyCode?A(t):k(t);break;case 13:t.submit||e.preventDefault(),t.cursor>=0&&L(t,e);break;case 9:t.resultsList.tabSelect&&t.cursor>=0&&L(t,e);break;case 27:t.input.value=\"\",w(t)}}(t,e)},blur:function(){w(e)}},list:{mousedown:function(e){e.preventDefault()},click:function(t){!function(e,t){var n=t.resultItem.tag.toUpperCase(),r=Array.from(t.list.querySelectorAll(n)),i=e.target.closest(n);i&&i.nodeName===n&&L(t,e,r.indexOf(i))}(t,e)}}};S(a,(function(t,n){(e.resultsList||\"input\"===n)&&(u[t][n]||(u[t][n]=a[t][n]))})),S(u,(function(t,n){e[t].addEventListener(n,u[t][n])}))};function E(e){var n=this;return new Promise((function(r,i){var o,s,u;if(o=e.placeHolder,u={role:\"combobox\",\"aria-owns\":(s=e.resultsList).id,\"aria-haspopup\":!0,\"aria-expanded\":!1},a(e.input,t(t({\"aria-controls\":s.id,\"aria-autocomplete\":\"both\"},o&&{placeholder:o}),!e.wrapper&&t({},u))),e.wrapper&&(e.wrapper=a(\"div\",t({around:e.input,class:e.name+\"_wrapper\"},u))),s&&(e.list=a(s.tag,t({dest:[s.destination,s.position],id:s.id,role:\"listbox\",hidden:\"hidden\"},s.class&&{class:s.class}))),T(e),e.data.cache)return d(e).then((function(e){try{return c.call(n)}catch(e){return i(e)}}),i);function c(){return f(\"init\",e),r()}return c.call(n)}))}function x(e){var t=e.prototype;t.init=function(){E(this)},t.start=function(e){j(this,e)},t.unInit=function(){if(this.wrapper){var e=this.wrapper.parentNode;e.insertBefore(this.input,this.wrapper),e.removeChild(this.wrapper)}var t;S((t=this).events,(function(e,n){t[e].removeEventListener(n,t.events[e][n])}))},t.open=function(){g(this)},t.close=function(){w(this)},t.goTo=function(e){O(e,this)},t.next=function(){A(this)},t.previous=function(){k(this)},t.select=function(e){L(this,null,e)},t.search=function(e,t,n){return p(e,t,n)}}return function e(t){this.options=t,this.id=e.instances=(e.instances||0)+1,this.name=\"autoComplete\",this.wrapper=1,this.threshold=1,this.debounce=0,this.resultsList={position:\"afterend\",tag:\"ul\",maxResults:5},this.resultItem={tag:\"li\"},function(e){var t=e.name,r=e.options,i=e.resultsList,o=e.resultItem;for(var s in r)if(\"object\"===n(r[s]))for(var a in e[s]||(e[s]={}),r[s])e[s][a]=r[s][a];else e[s]=r[s];e.selector=e.selector||\"#\"+t,i.destination=i.destination||e.selector,i.id=i.id||t+\"_list_\"+e.id,o.id=o.id||t+\"_result\",e.input=u(e.selector)}(this),x.call(this,e),E(this)}},\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).autoComplete=t();\n","import {\n ComponentElements,\n ComponentInjector,\n ComponentObject,\n ComponentSelector,\n ComponentSelectors,\n ComponentService\n} from '@atypon/ui-utils';\nimport {keyCodes} from '../../../utility/js/utils';\n\nclass Texts extends ComponentObject { }\n\nclass ClassList extends ComponentObject {\n keywordField = 'text';\n typeField = 'searchArea';\n hide = 'hidden';\n}\n\nclass Selectors extends ComponentSelectors {\n searchInFields = '.advanced-search__search-in';\n add = '.advanced-search__search-in__add';\n remove = '.advanced-search__search-in__remove';\n keywordField = 'input';\n typeField = 'select';\n searchInFieldWrapper = new ComponentSelector('.advanced-search__search-in__term');\n}\n\nclass Elements extends ComponentElements {\n protected _searchInField: HTMLElement;\n searchInFieldWrapper: HTMLElement[] = [];\n currentAddButton: HTMLElement;\n currentRemoveButton: HTMLElement;\n wrapper: HTMLElement;\n\n set searchInField(searchInField: HTMLElement) {\n this._searchInField = searchInField;\n this.currentAddButton = this.getAddButton(searchInField);\n this.currentRemoveButton = this.getRemoveButton(searchInField);\n }\n\n get searchInField(): HTMLElement {\n return this._searchInField;\n }\n\n /**\n * returns the add action\n *\n * @param searchInField\n * @return {HTMLElement}\n */\n getAddButton(searchInField): HTMLElement {\n return this.domUtils.getElement(this.selectors.add, searchInField);\n }\n\n /**\n * returns the remove action\n *\n * @param searchInField\n * @return {HTMLElement}\n */\n getRemoveButton(searchInField): HTMLElement {\n return this.domUtils.getElement(this.selectors.remove, searchInField);\n }\n\n /**\n * returns all search in fields,\n * this is needed so we can have the updated DOM list and update their name attributes\n *\n * @return {Array}\n */\n get searchInFields(): HTMLElement[] {\n return this.domUtils.getElements(this.selectors.searchInFieldWrapper.selector, this.wrapper);\n }\n\n}\n\ninterface AdvancedSearchTabular extends ComponentService { }\n\n@ComponentInjector(Selectors, Elements, ClassList, Texts)\nclass AdvancedSearchTabular {\n\n /**\n * Needed for tabular field names\n *\n * @return {{input: string, dropdown: string}}\n */\n get fieldNames() {\n return {\n input: 'text',\n dropdown: 'field',\n };\n }\n\n constructor(readonly wrapper: HTMLElement, readonly onChanged: (Event) => void) {\n }\n\n initialize(): void {\n this.elements.initialize(this.wrapper);\n this.addEventListeners();\n this.toggleButtons();\n }\n\n\n addEventListeners() {\n if (this.elements.searchInField) {\n this.setSearchInFieldsEvents(this.elements.searchInField);\n return;\n }\n this.elements.searchInFieldWrapper.forEach(elm => {\n this.elements.currentAddButton = this.elements.getAddButton(elm);\n this.elements.currentRemoveButton = this.elements.getRemoveButton(elm);\n this.setSearchInFieldsEvents(elm);\n })\n }\n\n protected setSearchInFieldsEvents(searchInField: HTMLElement) {\n this.domUtils.addEventListener(searchInField, 'input', this.onChanged.bind(this));\n this.domUtils.addEventListener(this.elements.currentAddButton, 'click', this.clone.bind(this));\n this.domUtils.addEventListener(this.elements.currentRemoveButton, 'click', this.remove.bind(this));\n this.domUtils.addEventListener(this.elements.currentAddButton,'keydown', this.onKeyDownAdd.bind(this));\n this.domUtils.addEventListener(this.elements.currentRemoveButton,'keydown', this.onKeyDownRemove.bind(this));\n }\n\n\n protected onKeyDownAdd(e: KeyboardEvent) {\n if (e.keyCode === keyCodes.ENTER) {\n this.clone(e);\n }\n }\n\n protected onKeyDownRemove(e: KeyboardEvent) {\n if (e.keyCode === keyCodes.ENTER) {\n this.remove(e);\n }\n }\n \n protected searchTermsAligner = (searchTermRows: HTMLElement[])=>{\n searchTermRows.forEach((searchTerm, index)=>{\n const contextSearchLabel= searchTerm?.querySelector('.advanced-search__select')?.previousElementSibling;\n const TermSearchLabel= searchTerm?.querySelector('.advanced-search__search-term') ? searchTerm?.querySelector('.advanced-search__search-term')?.previousElementSibling: searchTerm?.querySelector('.advanced-search__input')?.previousElementSibling;\n const removeBtn= searchTerm?.querySelector('.advanced-search__search-in__remove');\n contextSearchLabel? contextSearchLabel.innerHTML= `Context for search term ${index + 1}`: '';\n TermSearchLabel? TermSearchLabel.innerHTML= `Search term ${index + 1}`: ''; \n removeBtn?.setAttribute('aria-label', `Remove search field ${index + 1}`);\n })\n }\n\n /**\n * clone the search in field and set the events\n */\n protected clone(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n const div = document.createElement('div');\n div.innerHTML = this.elements.searchInFieldWrapper[0]?.outerHTML;\n const searchInField = this.domUtils.getElement(this.selectors.searchInFieldWrapper.selector, div);\n const clonedInput = searchInField.querySelector('input');\n const clonedSelectInput : HTMLSelectElement = searchInField.querySelector('.advanced-search__search-in__area');\n clonedInput.removeAttribute('value');\n if(clonedSelectInput?.options?.length){\n clonedSelectInput.options[0].selected = true;\n }\n this.wrapper.insertAdjacentElement('beforeend', searchInField);\n this.elements.searchInField = searchInField;\n this.addEventListeners();\n this.toggleButtons();\n\n const fieldWrapper= this.elements.searchInField;\n const selectFieldWrapper= fieldWrapper?.querySelector('select[id^=\"searchArea\"]') as HTMLElement;\n selectFieldWrapper?.focus();\n }\n\n /**\n * remove the current tabular item\n *\n * @param e\n */\n remove(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n const searchTermWrapper= (e.currentTarget as HTMLElement).closest(this.selectors.searchInFieldWrapper.selector); \n const searchTerms= this.elements.wrapper.querySelectorAll(this.selectors.searchInFieldWrapper.selector)\n const filteredTermRows= Array.from(searchTerms)?.filter((searchTerm) => searchTerm !== searchTermWrapper);\n\n let focusedSearchTerm: HTMLElement; \n let focusedSearchActionBtn: HTMLElement;\n\n searchTerms?.forEach((searchTerm, index)=> {\n if (searchTerm === searchTermWrapper){\n const targetElement= index === 0 ? searchTerms[index+1] : searchTerms[index-1];\n focusedSearchTerm= targetElement as HTMLElement;\n focusedSearchActionBtn= focusedSearchTerm?.querySelector('a.advanced-search__search-in__remove:not(.hidden)') ? focusedSearchTerm?.querySelector('a.advanced-search__search-in__remove:not(.hidden)') : focusedSearchTerm?.querySelector('a.advanced-search__search-in__add:not(.hidden)');\n focusedSearchActionBtn?.setAttribute('tabindex', '0');\n }\n else {\n searchTerm?.removeAttribute('tabindex');\n }\n })\n \n focusedSearchActionBtn?.focus();\n searchTermWrapper?.remove();\n this.searchTermsAligner(filteredTermRows as HTMLElement[]);\n this.toggleButtons();\n }\n\n /**\n * hide/show the action buttons depending on the item in the list,\n * and change the fields names\n */\n\n toggleButtons() {\n const items = this.elements.searchInFields;\n items.forEach((item, key) => {\n this.changeFieldAttributes(item, key);\n const add = this.elements.getAddButton(item);\n const remove = this.elements.getRemoveButton(item);\n const contextSearchLabel= item?.querySelector('.advanced-search__select')?.previousElementSibling;\n const TermSearchLabel= item?.querySelector('.advanced-search__search-term') ? item?.querySelector('.advanced-search__search-term')?.previousElementSibling: item?.querySelector('.advanced-search__input')?.previousElementSibling;\n\n if (key === items.length - 1) {\n remove?.classList.add(this.classList.hide);\n add?.classList.remove(this.classList.hide);\n contextSearchLabel? contextSearchLabel.innerHTML= `Context for search term ${key + 1}`: '';\n TermSearchLabel? TermSearchLabel.innerHTML= `Search term ${key + 1}`: '';\n remove?.setAttribute('aria-label', `Remove search field ${key + 1}`);\n add?.setAttribute('aria-label', 'Add new row');\n } else {\n add?.classList.add(this.classList.hide);\n remove?.classList.remove(this.classList.hide);\n }\n });\n }\n\n /**\n * changes the id,name for each tabular search in field\n * @param item\n * @param key\n */\n changeFieldAttributes(item: HTMLElement, key: number) {\n const dropdown = this.domUtils.getElement(this.selectors.typeField, item);\n const input = this.domUtils.getElement(this.selectors.keywordField, item);\n const labels = this.domUtils.getElements(\"label\", item);\n const number = key + 1;\n input.name = this.fieldNames.input + number;\n dropdown.name = this.fieldNames.dropdown + number;\n input.id = this.classList.keywordField + number;\n dropdown.id = this.classList.typeField + number;\n labels.forEach((label: HTMLElement) => {\n const forAttr = label.getAttribute(\"for\");\n if (forAttr.includes(\"text\")) {\n label.setAttribute(\"for\", `text${number}`);\n } else {\n label.setAttribute(\"for\", `searchArea${number}`);\n }\n });\n }\n\n}\n\nexport default AdvancedSearchTabular;\n\nexport {\n Elements as AdvancedSearchTabularElements,\n Selectors as AdvancedSearchTabularSelectors,\n ClassList as AdvancedSearchTabularClassList,\n Texts as AdvancedSearchTabularTexts\n}","(function () {\n var $body = $('body');\n\n var refine = {\n $target: null,\n $targets: $('.refineSearch'),\n $showController: $('.quick-search__ctrl__refine'),\n $hideController: $('.quick-search__ctrl__refine--hide'),\n $elements: $('.refineSearch__row'),\n ctrls: document.querySelectorAll('.search__result .advanced-search__ctrl'),\n $wrapper: null,\n isMobile: false,\n vPort: 'screen-sm', // default responsive break point\n escape: 27,\n\n init: function () {\n refine.control();\n if ($('.quick-search').length) {\n refine.on.hide();\n }\n },\n control: function () {\n refine.on.viewPortListener();\n refine.click.toggleSearchBlock();\n\n $body.on('click', '.refineSearch__ctrl__remove', function (e) {\n e.preventDefault();\n const $this = $(this);\n refine.$target = $this.closest('.refineSearch');\n refine.$wrapper = refine.$target.find('.refineSearch__texts');\n refine.on.remove($this);\n });\n\n $body.on('click', '.refineSearch__ctrl__add', function (e) {\n e.preventDefault();\n const $this = $(this);\n refine.$target = $this.closest('.refineSearch');\n refine.$wrapper = refine.$target.find('.refineSearch__texts');\n refine.on.clone($this);\n });\n\n $body.on('click', '.quick-search__ctrl__refine', function (e) {\n e.preventDefault();\n if (refine.$targets.length) {\n refine.on.show();\n }\n });\n\n $body.on('click', '.quick-search__ctrl__refine--hide', function (e) {\n e.preventDefault();\n refine.on.hide();\n });\n\n $body.on('click', function (e) {\n if (\n !refine.$targets.is(e.target) && // if the target of the click isn't the container...\n refine.$targets.has(e.target).length === 0 && // ... nor a descendant of the container\n !refine.$showController.is(e.target) && // if the target of the click isn't the controller...\n refine.$showController.has(e.target).length === 0 && // ... nor a descendant of the controller\n !$(e.target).closest('.jcf-select-drop').length &&\n !refine.$targets.closest('.search-result__refine-search').length &&\n !$(e.target).closest('.refineSearch__ctrl__remove').length\n ) {\n refine.on.hide();\n }\n });\n\n $(document).on('keydown', function (e) {\n if ((e.keyCode || e.which) === refine.escape) {\n refine.on.hide();\n }\n });\n },\n click: {\n toggleSearchBlock: function () {\n const tabs = document.querySelectorAll('.search-result__meta .advancedSearch__tabs');\n refine.ctrls.forEach(ctrl => {\n ctrl.addEventListener('click', function (e) {\n e.preventDefault();\n if (!refine.isMobile) {\n ctrl.classList.toggle('js--open');\n ctrl.setAttribute(\n 'aria-expanded',\n ctrl.getAttribute('aria-expanded') === 'true' ? 'false' : 'true'\n );\n tabs.forEach(tab => {\n tab.classList.toggle('advancedSearch__tabs--hidden');\n });\n }\n });\n });\n },\n },\n on: {\n clone: function ($this) {\n window.jcf.destroyAll();\n $this\n .closest('.refineSearch__row')\n .clone(true, true)\n .find('input')\n .attr('name', 'text' + ($('.refineSearch__row').length + 1).toString())\n .val('')\n .end()\n .appendTo(refine.$wrapper);\n $this.addClass('hidden');\n $this.siblings('.refineSearch__ctrl__remove').removeClass('hidden');\n $('.jcf').each(function () {\n jcf.replace($(this)); /*eslint-disable-line*/\n });\n },\n remove: function ($this) {\n $this.closest('.refineSearch__row').remove();\n },\n show: function () {\n refine.$showController.addClass('hidden');\n refine.$hideController.removeClass('hidden');\n refine.$targets.addClass('js--open');\n refine.$targets.show();\n },\n hide: function () {\n refine.$targets.each(function () {\n if ($body.attr('data-active') === 'refine') {\n $body.removeAttr('data-active');\n }\n refine.$hideController.addClass('hidden');\n refine.$showController.removeClass('hidden');\n refine.$targets.removeClass('js--open');\n refine.$targets.hide();\n });\n },\n viewPortListener: function () {\n $(document).on(refine.vPort + '-on', function () {\n // Waiting for custom event that will be triggered by controller.js to activate responsive effects\n refine.isMobile = true;\n refine.on.setPopupAttr(true);\n });\n\n $(document).on(refine.vPort + '-off', function () {\n // Waiting for custom event that will be triggered by controller.js to deactivate responsive effects\n refine.isMobile = false;\n refine.on.setPopupAttr(false);\n });\n },\n setPopupAttr: function (isTrue = false) {\n refine.ctrls.forEach(ctrl => {\n ctrl.setAttribute('aria-haspopup', isTrue ? 'menu' : 'false');\n });\n },\n },\n };\n\n UX.refine = refine; // add to global namespace\n})();\n","(function () {\n var $body = $('body');\n\n var toggle = {\n $toggle: $('.facet:not(.displayAll)'),\n lessLabel: 'Less',\n moreLabel: 'More',\n init: function () {\n toggle.setLabels();\n toggle.on.build();\n toggle.control();\n toggle.additionalControls();\n },\n control: function () {\n $body.on('click', '.facet .show-more', function (e) {\n e.preventDefault();\n toggle.on.toggle($(this));\n });\n $body.find('.facet .dropdown__toggle').off();\n $body.on('click', '.facet .dropdown__toggle', function (e) {\n e.preventDefault();\n toggle.on.toggleFacet($(this));\n });\n },\n additionalControls: function () {},\n setLabels: function () {\n let $filters = $('#filter');\n if ($filters.length) {\n toggle.moreLabel = $filters.data('more-text') ? $filters.data('more-text') : toggle.moreLabel;\n toggle.lessLabel = $filters.data('less-text') ? $filters.data('less-text') : toggle.lessLabel;\n }\n },\n on: {\n build: function () {\n toggle.$toggle.each(function () {\n var $target = $(this).find('ul.facet__list');\n var $lis = $target.children('li');\n\n var $select = $(this).find('.facet__select ');\n var $options = $select.children('option');\n\n var lisNum = $lis.length;\n var optionsNum = $options.length;\n var shownItems = $target.find('[name=facet-shown-items]').val() || 5;\n var isToggle = lisNum > shownItems;\n\n var moreCount = optionsNum + lisNum - shownItems;\n\n if ($target.find('[name=facet-hidden-items]').length)\n moreCount = $target.find('[name=facet-hidden-items]').val();\n $target.closest('.facet').attr('data-more-count', moreCount);\n\n if (isToggle) $target.after(toggle.get.showMore(moreCount));\n });\n },\n toggle: function (elem) {\n var $toggle = elem.closest('.facet');\n var $target = $toggle.find('ul.facet__list');\n\n $target.find('.js--toggle').slideToggle();\n $toggle.find('.facet__select--hidden').toggle();\n\n elem.toggleClass('js--open');\n if (elem.hasClass('js--open')) {\n elem.html(toggle.lessLabel + '');\n elem.closest('.accordion__content').find('li.js--toggle')[0].firstElementChild.focus();\n elem.attr('aria-expanded', true);\n } else {\n elem.html(\n toggle.moreLabel +\n ' (' +\n $toggle.data('more-count') +\n ') '\n );\n elem.closest('.accordion__content').find('li:first-child a').blur();\n elem.attr('aria-expanded', false);\n }\n },\n toggleFacet: function (elem) {\n var $toggle = elem.closest('li');\n var $target = $toggle.children('ul.facet-dropdown__menu');\n\n $target.slideToggle();\n elem.toggleClass('js--open');\n elem.find('i').toggleClass('icon-add_box icon-squared-minus');\n\n if (elem.hasClass('js--open')) {\n $target.attr('aria-hidden', false);\n } else {\n $target.attr('aria-hidden', true);\n }\n },\n },\n get: {\n /**\n * gets the show more/less link.\n * was added to make it easier for engineer to override it's value\n *\n * @param count\n * @returns {string}\n */\n showMore(count) {\n return ` ${toggle.moreLabel} (${count}) `;\n },\n },\n };\n\n UX.toggle = toggle; // add to global namespace\n})();\n","(function () {\n var $body = $('body');\n var facetDate = {\n sliderRanges: [],\n sliderValues: [],\n $rangeStart: $('.range-slider__start'),\n $rangeEnd: $('.range-slider__end'),\n url: location.href,\n\n init: function () {\n if (config.enableFacetRangeDate) {\n facetDate.sliderRanges = [];\n facetDate.sliderValues = [];\n\n facetDate.$rangeStart = $('.range-slider__start');\n facetDate.$rangeEnd = $('.range-slider__end');\n facetDate.initRange();\n }\n facetDate.control();\n },\n control: function () {\n $body.on('click', '.custom-date', function (e) {\n e.preventDefault();\n facetDate.on.toggle($(this));\n });\n\n $(document).on('UX-attach', function () {\n facetDate.init();\n });\n if (config.enableFacetRangeDate) {\n $(document).on('UX-detach', function () {\n window.jcf.destroy($('.range-slider__range'));\n });\n\n $('.range-slider__range').change(function () {\n facetDate.on.setRange($(this));\n });\n\n facetDate.$rangeStart.on('change', function () {\n facetDate.on.setStart($(this));\n });\n\n facetDate.$rangeEnd.on('change', function () {\n facetDate.on.setEnd($(this));\n });\n\n $('.range-slider__range').on('change change:startend', function () {\n facetDate.updateUrl($(this));\n });\n }\n },\n on: {\n toggle: function (elem) {\n var $toggle = elem.closest('.facet');\n $toggle.find('.custom-date-form').slideToggle();\n elem.toggleClass('js--open');\n },\n },\n };\n if (config.enableFacetRangeDate) {\n facetDate.getSelectedRange = function (sliderRange) {\n const queryString = facetDate.url.indexOf('?') !== -1 ? facetDate.url.split('?')[1] : '';\n const queryStringObj = {};\n\n if (queryString) {\n queryString.split('&').map(function (value) {\n const keyVal = value.split('=');\n queryStringObj[keyVal[0]] = keyVal[1];\n });\n\n if (queryStringObj.AfterYear && queryStringObj.BeforeYear) {\n return [queryStringObj.AfterYear, queryStringObj.BeforeYear];\n }\n }\n\n return [parseInt(sliderRange.attr('data-min'), 10), parseInt(sliderRange.attr('data-max'), 10)];\n };\n\n facetDate.getSelectedRangePosition = function (start, end) {\n var closestStart;\n var closestEnd;\n\n if (facetDate.sliderValues.indexOf(start) < 0) {\n closestStart = facetDate.sliderValues.reduce(function (prev, curr) {\n return Math.abs(curr - start) < Math.abs(prev - start) ? curr : prev;\n });\n }\n\n if (facetDate.sliderValues.indexOf(end) < 0) {\n closestEnd = facetDate.sliderValues.reduce(function (prev, curr) {\n return Math.abs(curr - end) < Math.abs(prev - end) ? curr : prev;\n });\n }\n\n return [\n facetDate.sliderValues.indexOf(closestStart || start),\n facetDate.sliderValues.indexOf(closestEnd || end),\n ];\n };\n\n facetDate.initRange = function () {\n $('.range-slider').each(function () {\n const $sliderRange = $(this).find('.range-slider__range');\n if (!$sliderRange.hasClass('jcf-hidden')) {\n const frequencies = $sliderRange.data('frequencies');\n\n const nonLinearSliderSteps = [1, 2, 5, 10];\n const allowedTotalYears =\n nonLinearSliderSteps.reduce(function (prev, cur) {\n return prev + cur;\n }) * 2;\n const minVal = parseInt($sliderRange.attr('data-min') || $sliderRange.attr('min'), 10);\n const maxVal = parseInt($sliderRange.attr('data-max') || $sliderRange.attr('max'), 10);\n const totalYears = maxVal - minVal;\n const linearSlider = $sliderRange.attr('data-slider-type') === 'linear';\n\n if (totalYears > allowedTotalYears && !linearSlider) {\n // non-linear slider\n const displaySteps = nonLinearSliderSteps.slice().reverse();\n let remaining = totalYears;\n let startYear = minVal;\n let startSlice = 0;\n\n displaySteps.forEach(function (step, i, all) {\n const oneThird = Math.floor(remaining / 3);\n let twoThirds = Math.floor(2 * oneThird);\n const remainder = twoThirds % step;\n if (remainder > 0) {\n twoThirds = twoThirds - remainder;\n }\n remaining = remaining - twoThirds;\n\n if (i === displaySteps.length - 1) {\n facetDate.sliderRanges.push({\n start: startYear,\n stop: maxVal,\n displayStep: nonLinearSliderSteps[i],\n slideStep: step,\n freq: frequencies.slice(startSlice, frequencies.length),\n });\n } else {\n facetDate.sliderRanges.push({\n start: startYear,\n stop: startYear + twoThirds,\n displayStep: nonLinearSliderSteps[i],\n slideStep: step,\n freq: frequencies.slice(startSlice, startSlice + twoThirds),\n });\n }\n startSlice = startSlice + twoThirds;\n startYear = startYear + twoThirds;\n });\n\n facetDate.sliderRanges.forEach(function (range) {\n let sliderVal = range.start;\n while (sliderVal <= range.stop) {\n if (facetDate.sliderValues.indexOf(sliderVal) < 0) {\n facetDate.sliderValues.push(sliderVal);\n }\n sliderVal += range.slideStep;\n }\n });\n } else {\n // linear slider\n if (!facetDate.sliderValues.length > 0) {\n for (let i = minVal; i <= maxVal; i++) {\n facetDate.sliderValues.push(i);\n }\n }\n }\n\n $sliderRange.attr('min', 0);\n $sliderRange.attr('max', facetDate.sliderValues.length - 1);\n const initialValue = facetDate.getSelectedRange($sliderRange);\n facetDate.$rangeStart.val(initialValue[0]);\n facetDate.$rangeEnd.val(initialValue[1]);\n const initialPosition = facetDate.getSelectedRangePosition(initialValue[0], initialValue[1]);\n $sliderRange.attr('value', initialPosition.join(','));\n window.jcf.replace($sliderRange);\n\n // render frequencies\n if (frequencies) {\n const $rangeWrapper = $(this).find('.jcf-range-wrapper');\n const $rangeFrequencies = $('');\n\n if (totalYears > allowedTotalYears && !linearSlider) {\n // non-linear slider\n facetDate.sliderRanges.forEach(function (range) {\n for (let i = 0; i < range.freq.length; i++) {\n const $rangeSlice = $(\n ''\n );\n $rangeFrequencies.append($rangeSlice);\n }\n });\n $rangeWrapper.prepend($rangeFrequencies);\n } else {\n // linear slider\n const rangeSliceWidth = 100 / frequencies.length;\n for (let i = 0; i < frequencies.length; i++) {\n const $rangeSlice = $(\n ''\n );\n $rangeFrequencies.append($rangeSlice);\n }\n $rangeWrapper.prepend($rangeFrequencies);\n }\n }\n }\n });\n };\n\n facetDate.on.setRange = function (elem) {\n const $toggle = elem.closest('.range-slider');\n const $target = $toggle.find('.jcf-active-handle');\n\n const tmp = $target.attr('class').match(/jcf-index[\\w-]*\\b/);\n const tmp2 = tmp.toString().split('-')[2];\n $('input.index-' + tmp2).val(facetDate.getValue(elem));\n };\n facetDate.on.setStart = function (elem) {\n const $sliderRange = elem.closest('.range-slider').find('.range-slider__range');\n const minVal = parseInt($sliderRange.attr('min'), 10);\n const thisVal = facetDate.getValueFromInput(elem);\n const sliderInstance = window.jcf.getInstance($sliderRange);\n if (thisVal >= minVal && thisVal <= sliderInstance.values[1]) {\n sliderInstance.values[0] = thisVal.toString();\n sliderInstance.refresh();\n $sliderRange.trigger('change:startend');\n }\n };\n facetDate.on.setEnd = function (elem) {\n const $sliderRange = elem.closest('.range-slider').find('.range-slider__range');\n const maxVal = parseInt($sliderRange.attr('max'), 10);\n const thisVal = facetDate.getValueFromInput(elem);\n const sliderInstance = window.jcf.getInstance($sliderRange);\n if (thisVal <= maxVal && thisVal >= sliderInstance.values[0]) {\n sliderInstance.values[1] = thisVal.toString();\n sliderInstance.refresh();\n $sliderRange.trigger('change:startend');\n }\n };\n\n facetDate.on.rangeUpdate = function (elem, callbackFn) {\n var $sliderRange = $(elem);\n $sliderRange.on('change change:startend', function () {\n callbackFn(facetDate.$rangeStart.val(), facetDate.$rangeEnd.val());\n });\n };\n facetDate.updateUrl = function (elem) {\n var url = new URL(facetDate.url);\n url.searchParams.set('AfterYear', facetDate.$rangeStart.val());\n url.searchParams.set('BeforeYear', facetDate.$rangeEnd.val());\n url.searchParams.set('queryID', $(elem).attr('data-queryID'));\n window.location = url;\n };\n facetDate.removeParam = function (key) {\n var baseUrl = facetDate.url.split('?')[0];\n var queryString = facetDate.url.indexOf('?') !== -1 ? facetDate.url.split('?')[1] : '';\n var queryStringObj = {};\n\n if (queryString) {\n queryString.split('&').map(function (value) {\n var keyVal = value.split('=');\n queryStringObj[keyVal[0]] = keyVal[1];\n });\n if (queryStringObj[key]) {\n delete queryStringObj[key];\n }\n queryString = Object.keys(queryStringObj)\n .map(function (value) {\n return value + '=' + queryStringObj[value];\n })\n .join('&');\n facetDate.url = baseUrl + (queryString ? '?' + queryString : '');\n }\n };\n facetDate.getValue = function (elem) {\n var thisValIndex = parseInt(elem.val(), 10);\n var thisVal = facetDate.sliderValues[thisValIndex];\n\n return thisVal;\n };\n facetDate.getValueFromInput = function (elem) {\n var $sliderRange = elem.closest('.range-slider').find('.range-slider__range');\n var customVal = parseInt(elem.val(), 10);\n var minVal = parseInt($sliderRange.attr('data-min'), 10);\n var maxVal = parseInt($sliderRange.attr('data-max'), 10);\n var thisVal;\n\n if (customVal <= maxVal && customVal >= minVal) {\n if (facetDate.sliderValues.indexOf(customVal) >= 0) {\n thisVal = facetDate.sliderValues.indexOf(customVal);\n } else {\n const closest = facetDate.sliderValues.reduce(function (prev, curr) {\n return Math.abs(curr - customVal) < Math.abs(prev - customVal) ? curr : prev;\n });\n thisVal = facetDate.sliderValues.indexOf(closest);\n }\n }\n return thisVal;\n };\n }\n UX.facetDate = facetDate; // add to global namespace\n})();\n","(function () {\n const $body = $('body');\n\n const searchResult = {\n url: location.href,\n rememberUserLayout: true,\n /**\n * The saved search panel\n */\n $savedSearchPanel: null,\n /**\n * Frequency Column Labels\n */\n frequencyLabels: {},\n /**\n * The max search queries needed to for iteration over the table\n */\n maxSearchQueries: null,\n /**\n * Link to edit saved search item\n */\n goLink: '/action/doSearch?target=saved&runSaved=',\n /**\n * Link to remove saved search item\n */\n removeLink: '/action/doDeleteSearch?searchType=saved&queryId=',\n init() {\n //searchResult.get.url();\n this.$savedSearchPanel = $('.advancedSearch__tabs .saved-searches');\n this.maxSearchQueries = this.$savedSearchPanel.data('queries');\n this.frequencyLabels = this.$savedSearchPanel.data('frequency-labels');\n\n searchResult.control();\n searchResult.additionalInit();\n searchResult.additionalControl();\n searchResult.set.userPublicationLayout();\n },\n control: function () {\n $body.on('click', '#saveSearchTriggerButton', function () {\n searchResult.openSaveSearchDialog();\n });\n\n $body.on('submit', '#saveSearchDialog form', function (event) {\n return searchResult.onSaveSearchSubmitHandler(event);\n });\n\n $body.on('click', '.search__layout>span', function () {\n $('.search__layout>span').removeClass('active');\n $(this).addClass('active');\n\n if ($(this).hasClass('search__layout-tile')) {\n $('.search-result__body').addClass('search-result--tile');\n localStorage.setItem('userPublicationLayout', 'tile');\n } else {\n $('.search-result__body').removeClass('search-result--tile');\n localStorage.setItem('userPublicationLayout', 'list');\n }\n });\n $body.on('focus', '[name=\"AllField\"]', function (e) {\n const allFieldInput = $(e.currentTarget);\n if (allFieldInput.length) {\n allFieldInput[0].setSelectionRange(-1, -1);\n }\n });\n },\n additionalControl: function () {},\n additionalInit: function () {},\n set: {\n userPublicationLayout: function () {\n if (searchResult.rememberUserLayout) {\n if (localStorage.userPublicationLayout === 'tile') {\n $('.search__layout-tile').click();\n } else if (localStorage.userPublicationLayout === 'list') {\n $('.search__layout-list').click();\n }\n }\n },\n },\n get: {\n url: function () {},\n text: function (name) {\n name = name.replace(/[\\[]/, '\\\\[').replace(/[\\]]/, '\\\\]'); /*eslint-disable-line*/\n const regexS = '[\\\\?&]' + name + '=([^&#]*)';\n const regex = new RegExp(regexS);\n const results = regex.exec(searchResult.url);\n return results == null ? null : results[1];\n },\n value: function () {},\n },\n /**\n * Responsible for rendering row items\n */\n render: {\n /**\n * Responsible for rendering rows\n *\n * @param {object} item\n * @param {number} index\n */\n row(item, index) {\n const $row = searchResult.$savedSearchPanel.find('tbody tr').eq(index);\n this.columns($row, item);\n this.actions($row, item);\n if ($row.hasClass('hidden')) {\n $row.removeClass('hidden');\n searchResult.$savedSearchPanel.find('.table-responsive').parent().removeClass('hidden');\n searchResult.$savedSearchPanel.find('.emptySavedSearches').remove();\n }\n },\n /**\n * Responsible for rendering columns\n *\n * @param {jQuery} $row\n * @param {object} item\n */\n columns($row, item) {\n const {qName, qSavedOn, qLastRun} = item;\n $row.find('.name-td').html(qName);\n $row.find('.saved-on-td').html(qSavedOn);\n $row.find('.last-run-td').html(qLastRun);\n this.additionalColumns($row, item);\n this.frequencyColumn($row, item);\n },\n\n /**\n * Responsible for additional columns rendering,\n * can be used to modify rendered row columns\n *\n * @param {jQuery} $row\n * @param {object} item\n */\n additionalColumns($row, item) {},\n /**\n * Render Frequency Column\n *\n * @param {jQuery} $row\n * @param {string} qAlertStatus\n */\n frequencyColumn($row, {qAlertStatus}) {\n let frequency = qAlertStatus;\n if (searchResult.frequencyLabels && searchResult.frequencyLabels[frequency]) {\n frequency = searchResult.frequencyLabels[frequency];\n }\n $row.find('.frequency-td').html(frequency);\n },\n /**\n * Responsible for rendering action columns\n *\n * @param {jQuery} $row\n * @param {number} qId\n */\n actions($row, {qId}) {\n $row.find('[data-action-type=\"saved-search--remove\"]').attr('href', searchResult.removeLink + qId);\n $row.find('[data-action-type=\"saved-search--run\"]').attr('href', searchResult.goLink + qId);\n },\n },\n openSaveSearchDialog: function () {\n var openDialog = searchResult.getCookie('openDialog');\n if (openDialog != null && openDialog !== '') {\n const saveSearchButton = $('#saveSearchTriggerButton');\n if (saveSearchButton.length > 0) {\n document.cookie = 'openDialog=;expires=Wed; 01 Jan 1970';\n saveSearchButton.click();\n }\n }\n },\n getCookie: function (name) {\n const nameEQ = name + '=';\n const ca = document.cookie.split(';');\n for (let i = 0; i < ca.length; i++) {\n let c = ca[i];\n while (c.charAt(0) === ' ') c = c.substring(1);\n if (c.indexOf(nameEQ) !== -1) return c.substring(nameEQ.length, c.length);\n }\n return null;\n },\n onSaveSearchSubmitHandler: function (e) {\n $('#newSearchSaveButton').hide();\n $('.saveSearchProgress').show();\n $.ajax({\n type: 'POST',\n url: '/action/doSaveSearch',\n data: $(e.target).serialize(),\n success: searchResult.saveSearchSuccessHandler,\n error: function (data) {\n $('.error.saveSearchMsg').show('fade').removeClass('hidden');\n $('#newSearchSaveButton').show();\n $('.success.saveSearchMsg, .saveSearchProgress').hide();\n $('#saveSearchDialog').modal('toggle');\n $('#saveSearchDialog').click();\n },\n });\n return false;\n },\n saveSearchSuccessHandler: function (data) {\n $('.success.saveSearchMsg').show('fade').removeClass('hidden');\n $('#newSearchSaveButton').show();\n $('.error.saveSearchMsg, .saveSearchProgress').hide();\n $('#saveSearchDialog').modal('toggle');\n $('#saveSearchDialog').click();\n UX.modal.on.hide();\n searchResult.redrawSavedSearchesPanel(JSON.parse(data).favQueries);\n },\n\n /**\n * Redraws the table rows using the incoming from favQueries\n *\n * @param {array} jsonData\n */\n redrawSavedSearchesPanel(jsonData) {\n jsonData.forEach((value, index) => {\n if (index >= searchResult.maxSearchQueries) {\n return;\n }\n this.render.row(value, index);\n });\n },\n };\n UX.searchResult = searchResult; // add to global namespace\n})();\n","import {\n ComponentSelectors,\n ComponentSelector,\n ComponentObject,\n ComponentElements,\n ComponentService,\n ComponentInjector,\n UIComponent\n} from '@atypon/ui-utils';\n\nclass Texts extends ComponentObject { }\n\nclass ClassList extends ComponentObject { }\n\nclass Selectors extends ComponentSelectors {\n rangeField = new ComponentSelector('.timeframe__static-range');\n customRange = new ComponentSelector('.timeframe__custom-range-filter');\n customRangeRadio = new ComponentSelector('#customRange');\n radios = new ComponentSelector('.radio--primary input');\n selects = new ComponentSelector('select');\n timeRangeAlert = new ComponentSelector(\"#time_range_interval_alert\");\n}\n\nclass Elements extends ComponentElements {\n protected _oldRadio: HTMLElement;\n radios: HTMLElement[] = [];\n selects: HTMLElement[] = [];\n timeRangeAlert: HTMLElement;\n customRangeRadio: HTMLInputElement;\n\n get oldRadio(): HTMLElement {\n return this._oldRadio;\n }\n\n set oldRadio(value: HTMLElement) {\n this._oldRadio = value;\n this.disabledAllFields();\n const parent = value.closest(`${this.selectors.rangeField.selector}, ${this.selectors.customRange.selector}`);\n this.enableSiblingFields(parent);\n }\n\n /**\n * all selects are already store so basically loop through them and disable them all.\n *\n */\n disabledAllFields() {\n this.selects.forEach(item => {\n item.setAttribute('disabled', 'true');\n });\n }\n\n /**\n * loop through Sibling selects and enable them all\n *\n * @param {HTMLElement} parent - the radio button shared parent\n */\n enableSiblingFields(parent) {\n if (!parent) {\n return;\n }\n this.domUtils.getElements(this.selectors.selects.selector, parent).forEach(item => {\n item.removeAttribute('disabled');\n });\n }\n}\n\ninterface AdvancedSearchRangeFields extends ComponentService { }\n\n@ComponentInjector(Selectors, Elements, ClassList, Texts)\nclass AdvancedSearchRangeFields implements UIComponent {\n\n constructor(readonly wrapper: HTMLElement, readonly onChanged: (Event) => void) { }\n\n initialize(): void {\n if (!this.wrapper) {\n return;\n }\n this.elements.initialize(this.wrapper);\n this.addEventListeners();\n }\n\n addEventListeners() {\n this.elements.radios.forEach(radio => {\n this.domUtils.addEventListener(radio, 'click', this.onChange.bind(this, radio));\n });\n this.elements.selects.forEach(select => {\n this.domUtils.addEventListener(select, 'change', this.onChanged);\n });\n }\n\n /**\n * click event listener, disables all fields then enables sibling fields\n *\n */\n protected onChange(radio: HTMLElement, event: Event) {\n if (radio === this.elements.oldRadio) {\n return;\n }\n this.elements.oldRadio = radio;\n this.onChanged(event)\n }\n\n public shouldDisable() {\n const values = {\n fromYear: 0,\n fromMonth: 0,\n toYear: 0,\n toMonth: 0,\n }\n this.elements.selects.forEach((item: HTMLSelectElement) => {\n //since the id is the same name as the key of the values\n if (values.hasOwnProperty(item.id)) {\n values[item.id] = parseInt(item.value)\n }\n })\n const { fromYear, fromMonth, toYear, toMonth } = values;\n // Check if \"customRange\" is selected and if end date is before start date or NaN values\n const customRangeSelected = this.elements.customRangeRadio?.checked ?? false;\n const hasNaNValues = Object.values(values).some(v => isNaN(v));\n const endDateBeforeStartDate = (toYear < fromYear) || (toYear === fromYear && toMonth < fromMonth);\n const isDisabled: boolean = customRangeSelected && (hasNaNValues || endDateBeforeStartDate);\n const alertText = this.elements.timeRangeAlert?.getAttribute('data-label');\n const isNaNCombinedDate = toYear + fromYear + toMonth + fromMonth;\n\n if(this.elements.timeRangeAlert) {\n if (isDisabled && !isNaN(isNaNCombinedDate)) {\n this.elements.timeRangeAlert.innerHTML = alertText;\n }\n else {\n this.elements.timeRangeAlert.innerHTML = '';\n }\n }\n\n return customRangeSelected && (hasNaNValues || endDateBeforeStartDate);\n }\n}\n\nexport default AdvancedSearchRangeFields;\n\nexport {\n Elements as AdvancedSearchRangeFieldsElements,\n Selectors as AdvancedSearchRangeFieldsSelectors,\n ClassList as AdvancedSearchRangeFieldsClassList,\n Texts as AdvancedSearchRangeFieldsTexts\n}\n","import autoComplete from '@tarekraafat/autocomplete.js'\nimport { DOMUtils, Container } from '@atypon/ui-utils';\n\n// please note that the Base class is not used here as it doesn't share much but may result in some potential bugs\nclass AutoCompleteTags extends autoComplete {\n protected preselectedItems: { label: string, value: string }[];\n protected badgeCloseIcon:string = ``;\n protected onTagRemoved: Function;\n protected tagClasses: Array;\n\n tagValues: Array<[HTMLInputElement, HTMLElement]>;\n tagsPosition: HTMLElement;\n\n get field() {\n return this.inputField;\n }\n\n get values() {\n return this.tagValues.map(([input])=>{\n return input.value;\n });\n }\n\n protected valueExists(value:string):boolean {\n return this.values.findIndex(item=>item === value) > -1;\n }\n\n\n constructor(protected config, protected inputField: HTMLInputElement) {\n super(config);\n const domUtils = Container.get(DOMUtils);\n const input = typeof config.selector === 'function' ? config.selector() : domUtils.getElement(config.selector);\n this.tagsPosition = config.tagsPosition || input;\n this.preselectedItems = config.preselectedItems || [];\n this.tagValues = [];\n\n if (typeof config.onTagRemoved === 'function') {\n this.onTagRemoved = config.onTagRemoved\n }\n this.tagClasses = config.tagClasses || ['autoComplete__tag']\n this.checkSetPreselected();\n }\n\n checkSetPreselected(): void {\n this.preselectedItems.map(({ label, value }) => {\n this.createTagValue(label, value);\n });\n }\n\n buildInput(mainInput: HTMLInputElement, value: string): HTMLInputElement {\n if (!mainInput) {\n return;\n }\n let inputNode = ``;\n const fragment = document.createElement('div');\n fragment.innerHTML = inputNode;\n return fragment.firstChild as HTMLInputElement;\n }\n\n getValues(): Array<[ChildNode, HTMLElement]> {\n return this.tagValues;\n }\n\n removeAllTags(): void {\n this.tagValues.forEach(([input, tag]) => {\n input.parentNode.removeChild(input);\n tag.parentNode.removeChild(tag);\n });\n this.tagValues = [];\n if (this.onTagRemoved) {\n this.onTagRemoved();\n }\n }\n\n createTagValue(label: string, value: string): void {\n if(this.valueExists(value)) {\n return;\n }\n const item = this.inputField;\n const input = this.buildInput(item, value);\n const tag = this.buildTag(label, input);\n this.tagValues.push([input, tag]);\n if (this.config.tagsPosition) {\n this.tagsPosition.appendChild(tag);\n } else {\n this.tagsPosition.parentNode.insertBefore(tag, this.tagsPosition);\n }\n item.parentElement?.insertBefore(input, item);\n }\n\n\n buildTag(text: string, input: ChildNode): HTMLElement {\n const tag = document.createElement('span');\n tag.innerHTML = `${text}`;\n const off = document.createElement('a');\n off.innerHTML = this.badgeCloseIcon;\n off.href = '#';\n off.addEventListener('click', (e) => {\n e.preventDefault();\n input.parentNode.removeChild(input);\n tag.parentNode.removeChild(tag);\n this.tagValues = this.tagValues.filter(([inputStored, tagStored]) => {\n return!(input === inputStored && tag === tagStored)\n });\n if (this.onTagRemoved) {\n this.onTagRemoved();\n }\n });\n tag.appendChild(off);\n tag.classList.add(...this.tagClasses);\n return tag;\n }\n}\n\n\n\n\nexport default AutoCompleteTags;\n\n","import AutoCompleteTags from '../../../plugins/autocomplete/tags';\nimport {\n ComponentElements,\n ComponentInjector,\n ComponentObject,\n ComponentSelectors,\n ComponentService\n} from '@atypon/ui-utils';\n\nclass Texts extends ComponentObject { }\n\nclass ClassList extends ComponentObject {\n autocompleteList = 'autoComplete autoComplete--tags rlist';\n autocompleteItem = 'autoComplete__item my-2';\n hidden = 'hidden'\n}\n\nclass Selectors extends ComponentSelectors {\n autoComplete = '.autoComplete';\n autoCompleteWrapper = '.autoComplete_wrapper';\n}\n\nclass Elements extends ComponentElements { }\n\ninterface AdvancedSearchAutoComplete extends ComponentService { }\ninterface AdvancedSearchAutoCompleteConfigs {\n maxWords: number;\n maxChars: number;\n url: string;\n}\n\ninterface AdvancedSearchAutoCompleteOptions {\n method: string;\n valueField: string;\n autoSelect: boolean;\n allowFreeEntries: boolean;\n displayField: string;\n cls: string;\n}\n\n@ComponentInjector(Selectors, Elements, ClassList, Texts)\nclass AdvancedSearchAutoComplete {\n autoCompletes: AutoCompleteTags[];\n protected placeHolders: Map = new Map();\n protected results: { value: { value: string, label: string } }[] = [];\n protected _configs: AdvancedSearchAutoCompleteConfigs;\n protected get configs(): AdvancedSearchAutoCompleteConfigs {\n return {\n maxWords: 200,\n maxChars: 222,\n url: '/action/doSuggest'\n }\n }\n\n protected get options(): AdvancedSearchAutoCompleteOptions {\n return {\n method: 'GET',\n valueField: 'value',\n autoSelect: false,\n allowFreeEntries: false,\n displayField: 'label',\n cls: 'pr-4',\n };\n }\n\n /**\n * local uri for testing perposes\n *\n * @return {string}\n */\n get localURL(): string {\n return '/specs/libraries/ui-core/widgets/advanced-search/ajax/data.json';\n }\n\n protected elementRenderer(item, data) {\n const a = document.createElement('a');\n a.href = data.value.url;\n a.innerHTML = `${data.value.highlight}`;\n a.className = 'autoComplete__link';\n item.setAttribute('aria-label', a.innerText);\n item.innerHTML = '';\n item.appendChild(a);\n a.addEventListener(\"click\", (event) => {\n event.preventDefault();\n });\n };\n\n constructor(readonly filters: HTMLElement[], readonly stateChanged: Function) {\n this.filters = filters;\n this.stateChanged = stateChanged;\n this.autoCompletes = [];\n this._configs = this.configs;\n }\n\n initialize(): void {\n this.addEventListeners();\n }\n\n addEventListeners(): void {\n this.filters.forEach(this.initAutoComplete.bind(this));\n this.autocompleteAnnouncer();\n }\n\n autocompleteAnnouncer(): void {\n const announcerContainer = document.querySelector('.advanced-search__autocomplete__announcer');\n const autocompleteLists = document.querySelectorAll('[id^=\"autoComplete_list_\"]');\n const mutationCallback = function(mutationsList) {\n mutationsList.forEach(mutation => {\n if(mutation.target.children.length){\n announcerContainer.innerHTML = `${mutation.target.children.length} results are available, use up and down arrow keys to navigate.`\n } else {\n announcerContainer.innerHTML = `No results are available.`\n }\n });\n };\n const observer = new MutationObserver(mutationCallback);\n autocompleteLists.forEach(element => {\n observer.observe(element, { childList: true });\n });\n }\n\n protected urlWithQuery(item) {\n const term = item.value.trim().replace(/\\s\\s+/g, ' ');\n const { maxWords, maxChars, url } = this.configs;\n if (term.split(' ').length >= maxWords || term.length >= maxChars) {\n return '';\n }\n const { autoCompleteTarget, autoCompleteWithin } = item.dataset;\n\n let query = `?target=${autoCompleteTarget}&query=${encodeURIComponent(term)}`;\n if (autoCompleteWithin) {\n query = `${query}&within=${autoCompleteWithin}`;\n }\n // return `${this.localURL}${query}`;\n return `${url}${query}`;\n }\n\n protected buildConfigs(item: HTMLElement, i: number) {\n return {\n data: {\n src: async () => {\n const url = this.urlWithQuery(item);\n const data = await fetch(url);\n return await data.json();\n },\n cache: false\n },\n selector: () => item,\n resultsList: {\n render: true,\n idName: 'autoComplete-' + i,\n class: this.classList.autocompleteList,\n maxResults: 10\n },\n resultItem: {\n class: this.classList.autocompleteItem,\n element: this.elementRenderer.bind(this),\n },\n highlight: false,\n sort: false,\n threshold: 2,\n preselectedItems: this.itemPreselectedValues(item),\n searchEngine: null,\n onTagRemoved: null\n }\n }\n\n protected itemPreselectedValues(item) {\n const { values } = item.dataset;\n return values ? JSON.parse(values) : [];\n }\n\n protected createAutoCompleteInstance(configs, item): AutoCompleteTags {\n return new AutoCompleteTags(configs, item)\n }\n\n protected initAutoComplete(item: HTMLInputElement, i: number) {\n const configs = this.buildConfigs(item, i);\n configs.searchEngine = (query: any, record: any) => this.onSearchEngine(autoCompleteInstance, query, record);\n configs.onTagRemoved = () => this.onTagRemoved(autoCompleteInstance);\n const autoCompleteInstance = this.createAutoCompleteInstance(configs, item);\n this.placeHolders.set(item, item.placeholder);\n this.autoCompletes.push(autoCompleteInstance);\n this.domUtils.closest(this.selectors.autoCompleteWrapper, item)\n ?.addEventListener('click', this.onAutoCompleteFocus.bind(this, item));\n this.onTagValuesChange(autoCompleteInstance);\n item.addEventListener('blur', this.onBlur.bind(this, autoCompleteInstance, item));\n item.addEventListener(\"selection\", this.onSelection.bind(this, autoCompleteInstance, item));\n item.addEventListener('results', this.onResults.bind(this));\n }\n\n protected onSearchEngine(autoCompleteInstance: AutoCompleteTags, query: any, record: any) {\n const found = autoCompleteInstance.tagValues.find(item => {\n const [input] = item;\n return record.value == (input as HTMLInputElement).value\n })\n if (found) {\n return null;\n }\n return record.highlight || record.label;\n }\n\n protected onTagRemoved(autoCompleteInstance: AutoCompleteTags) {\n this.onTagValuesChange(autoCompleteInstance);\n this.stateChanged();\n }\n\n protected onAutoCompleteFocus(field: HTMLInputElement) {\n field.focus();\n field.parentElement.scrollTop = field.parentElement.scrollHeight;\n }\n\n protected onTagValuesChange({ field, tagValues }: AutoCompleteTags) {\n const hasTags = tagValues.length;\n if (hasTags) {\n field.removeAttribute('placeholder');\n field.style.width = \"auto\";\n } else {\n field.setAttribute('placeholder', this.placeHolders.get(field));\n field.style.width = \"100%\";\n }\n }\n\n protected onBlur(autocomplete, input, e) {\n if (e.relatedTarget && e.relatedTarget.closest(this.selectors.autoComplete)) {\n input.value = null;\n this.results = [];\n return;\n }\n if (this.results.length && this.results.length === 1) {\n const { label, value } = this.results.pop().value;\n autocomplete.createTagValue(label, value);\n }\n input.value = '';\n this.results = [];\n }\n\n protected onSelection(autocomplete: AutoCompleteTags, input: HTMLInputElement, event: CustomEvent) {\n const { label, value } = event.detail.selection.value;\n autocomplete.createTagValue(label, value);\n input.value = '';\n this.domUtils.toggleClasses(autocomplete.tagsPosition, this.classList.hidden, !autocomplete.tagValues.length);\n this.onTagValuesChange(autocomplete);\n this.stateChanged();\n }\n\n protected onResults({ detail }: CustomEvent) {\n this.results = detail.results;\n }\n\n}\n\nexport default AdvancedSearchAutoComplete;\n\nexport {\n Elements as AdvancedSearchAutoCompleteElements,\n Selectors as AdvancedSearchAutoCompleteSelectors,\n ClassList as AdvancedSearchAutoCompleteClassList,\n Texts as AdvancedSearchAutoCompleteTexts\n}","import AdvancedSearchTabular from './tabular';\nimport AdvancedSearchRangeFields from './range-fields';\nimport AdvancedSearchAutoComplete from './autocomplete';\nimport {\n ComponentElements,\n ComponentInjector,\n ComponentObject,\n ComponentSelector,\n ComponentService,\n UIComponent,\n ComponentSelectors,\n Inject,\n BrowserUtils\n} from '@atypon/ui-utils';\n\nclass Texts extends ComponentObject { }\n\nclass ClassList extends ComponentObject { }\n\nclass Selectors extends ComponentSelectors {\n searchInFields = new ComponentSelector('.advanced-search__search-in');\n searchInInputs = '.advanced-search__input';\n rangeField = new ComponentSelector('.advanced-search__timeframe');\n submitButton = new ComponentSelector('#advanced-search-btn', 'document');\n autoCompleteFields = new ComponentSelector('.advanced-search__autocomplete');\n advancedFiltersRadioInputs = '.advanced-search__advanced-filters .radio--primary input[type=\"radio\"]';\n}\n\nclass Elements extends ComponentElements {\n rangeField: HTMLElement;\n searchInFields: HTMLElement;\n submitButton: HTMLButtonElement;\n autoCompleteFields: Array = [];\n}\n\ninterface AdvancedSearch extends ComponentService { }\n\n@ComponentInjector(Selectors, Elements, ClassList, Texts)\nclass AdvancedSearch implements UIComponent {\n\n @Inject()\n protected browserUtils:BrowserUtils;\n\n /**\n * {AdvancedSearchTabular}\n */\n tabularListener: AdvancedSearchTabular;\n\n /**\n * {AdvancedSearchRangeFields}\n */\n rangeFieldListener: AdvancedSearchRangeFields;\n\n /**\n * {AdvancedSearchAutoComplete}\n */\n autoCompleteListener: AdvancedSearchAutoComplete;\n\n constructor(readonly wrapper: HTMLElement) { }\n\n initialize(): void {\n this.elements.initialize(this.wrapper);\n this.addEventListeners();\n }\n\n\n addEventListeners(): void {\n this.initTabular();\n this.initRange();\n this.initAutoComplete();\n this.setSubmitButtonState();\n this.setResetButtonListener();\n this.selectAdvancedFiltersRadioInput();\n }\n\n /**\n * creates instance AdvancedSearchTabular to handle the Tabular Fields\n */\n initTabular() {\n this.tabularListener = new AdvancedSearchTabular(this.elements.searchInFields, this.setSubmitButtonState.bind(this));\n this.tabularListener.initialize();\n\n }\n\n /**\n * creates instance AdvancedSearchRangeFields to handle the state if enable/disabled of range filters\n */\n initRange() {\n this.rangeFieldListener = new AdvancedSearchRangeFields(this.elements.rangeField, this.setSubmitButtonState.bind(this));\n this.rangeFieldListener.initialize();\n }\n\n /**\n * creates instance AdvancedSearchAutoComplete to handle the autocompletion this contains the logic of autocomplete\n */\n initAutoComplete() {\n if (!this.browserUtils.isIE) {\n this.autoCompleteListener = new AdvancedSearchAutoComplete(this.elements.autoCompleteFields, this.setSubmitButtonState.bind(this));\n this.autoCompleteListener.initialize();\n }\n }\n\n /**\n * enables/disables the submit button depending on the form content\n */\n setSubmitButtonState(event?:CustomEvent) {\n const state = (this.hasEmptyFields() && this.hasEmptySuggestions()) || this.rangeFieldListener.shouldDisable();\n if (state) {\n this.elements.submitButton.setAttribute('disabled', `${state}`);\n } else {\n this.elements.submitButton.removeAttribute('disabled');\n }\n }\n\n /**\n * to prevent duplicate selection happened when clicked on the radio inputs at advanced filter section \n */\n selectAdvancedFiltersRadioInput(event?:CustomEvent) {\n const radioInputs = this.domUtils.getElements(this.selectors.advancedFiltersRadioInputs);\n radioInputs.forEach(item => {\n item.addEventListener('change', (event)=>{\n radioInputs.forEach(item => {\n item.checked = false;\n })\n const selectedTarget = event.target as HTMLInputElement;\n selectedTarget.checked = true;\n });\n });\n }\n\n /**\n * check if any of the text fields are not empty\n *\n * @return {boolean}\n */\n protected hasEmptyFields(): boolean {\n const textInputs = this.domUtils.getElements(this.selectors.searchInInputs, this.elements.searchInFields);\n const emptyFields = textInputs.filter((i) => {\n return !i.value;\n });\n return emptyFields.length === textInputs.length;\n }\n\n /**\n * check if all suggestions are empty\n *\n * @return {boolean}\n */\n protected hasEmptySuggestions(): boolean {\n if (!this.autoCompleteListener) {\n return true;\n }\n const suggestions = this.autoCompleteListener.autoCompletes;\n if (!suggestions.length) {\n return true;\n }\n return suggestions.filter(suggestion =>\n suggestion.getValues().length > 0\n ).length === 0;\n }\n\n protected setResetButtonListener() {\n this.wrapper.addEventListener('reset', (e) => {\n e.preventDefault();\n this.tabularListener.elements.searchInFields.forEach((item, k) => {\n if (k === 0) {\n this.domUtils.getElement('input', item).value = '';\n this.domUtils.getElement('select', item).selectedIndex = 0;\n } else {\n item.remove();\n }\n });\n this.tabularListener.toggleButtons();\n this.rangeFieldListener.elements.radios[0]?.click();\n this.autoCompleteListener.autoCompletes.forEach(item => {\n item.removeAllTags();\n });\n });\n }\n\n}\n\nexport default AdvancedSearch;\n\nexport {\n Elements as AdvancedSearchElements,\n Selectors as AdvancedSearchSelectors,\n ClassList as AdvancedSearchClassList,\n Texts as AdvancedSearchTexts\n}\n\n","import 'ui-core/components/refine-search/js/refine-search';\n\nconst refine = UX.refine;\n\nrefine.click.toggleSearchBlock = () => {\n const tabs = document.querySelectorAll('.search-result__meta .advancedSearch__tabs');\n refine.ctrls.forEach(ctrl => {\n ctrl.addEventListener('click', function (e) {\n e.preventDefault();\n ctrl.classList.toggle('js--open');\n ctrl.setAttribute('aria-expanded', ctrl.getAttribute('aria-expanded') === 'true' ? 'false' : 'true');\n $(tabs).slideToggle();\n });\n });\n};\n\nrefine.on.viewPortListener = function () {\n $(document).on(refine.vPort + '-on', function () {\n refine.isMobile = true;\n });\n\n $(document).on(refine.vPort + '-off', function () {\n refine.isMobile = false;\n });\n};\n","\n import '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250204-c9c27144/ui-products/nrc/node_modules/ui-theme/components/refine-search/js/refine-search';\n \nimport '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250204-c9c27144/ui-products/nrc/node_modules/ui-core/components/facet/js/toggle';\n \nimport '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250204-c9c27144/ui-products/nrc/node_modules/ui-core/components/facet-date/js/facet-date';\n \nimport '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250204-c9c27144/ui-products/nrc/widgets/search-result/js/search-result';\n \nimport AdvancedSearch from '/mnt/ssd/na101/home/literatum/sourcegit/ui-products-branches/maint-250204-c9c27144/ui-products/nrc/widgets/advanced-search/js/advanced-search'; \nconst main = (UX) => {\n const $refine = Array.prototype.slice.call(document.querySelectorAll('.refineSearch,.advanced-search')),\n $toggle = Array.prototype.slice.call(document.getElementsByClassName('facet')),\n $facetDate = Array.prototype.slice.call(document.getElementsByClassName('range-slider')),\n $searchResult = Array.prototype.slice.call(document.getElementsByClassName('search-result')),\n $advancedSearch = document.querySelector('.advanced-search')\n\ntry {\n if ($refine.length ) {\n UX.refine.init($refine);\n }\n } catch (err) {\n console.error(err);\n }\n \ntry {\n if ($toggle.length ) {\n UX.toggle.init($toggle);\n }\n } catch (err) {\n console.error(err);\n }\n \ntry {\n if ($facetDate.length ) {\n UX.facetDate.init($facetDate);\n }\n } catch (err) {\n console.error(err);\n }\n \ntry {\n if ($searchResult.length ) {\n UX.searchResult.init($searchResult);\n }\n } catch (err) {\n console.error(err);\n }\n \ntry {\n if ($advancedSearch ) {\n UX.advancedSearch = new AdvancedSearch($advancedSearch).initialize()\n }\n } catch (err) {\n console.error(err);\n }\n \n}\n\n export default main;\n "],"sourceRoot":""}