{"version":3,"sources":["webpack:///./components/modal/js/modal.js","webpack:///./components/sections-navbar/js/sections-navbar.js","webpack:///./widgets/quick-search/js/quick-search.ts"],"names":["modal","UX","show","on","bodyTag","$","e","$target","title","$toggle","data","content","length","find","text","html","hide","removeAttr","accessibility","closest","removeClass","target","location","hash","headerHeight","height","actionsBarHeight","window","scrollTop","offset","top","sidebarSections","init","vPort","visualBtn","document","querySelector","actionContainer","classList","add","qucikSearchField","qsFormsAcp","onFormSubmit","form","inputValue","this","domUtils","getElement","selectors","qsAutocomplete","selector","value","redirect","className","preventDefault","href","submit","initAutoCompleteInstance","quickSearchElm","handleAutoCompleteOptions","el","configs","src","url","buildFetchURL","fetch","json","map","item","param","paramFormatted","seriesKey","cache","resultsList","resultListConfig","defaultConfigs","autoCompleteObj","a","addEventListener","onSelection","bind","elements","store","unshift","allField","enteredText","highlight","label","QuickSearch","Selectors","Elements","ClassList","Texts"],"mappings":"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","file":"js/lazy-imports-fba1b79822726cb1c90d.js","sourcesContent":["import 'ui-theme/components/modal/js/modal';\n\nconst {modal} = UX;\nconst show = modal.on.show;\nconst bodyTag = $('body');\nmodal.on.show = e => {\n const $target = modal.$target;\n const title = modal.$toggle.data('modal-title');\n const content = modal.$toggle.data('modal-content');\n if (title && title.length) {\n $target.find('.modal__header__title').text(title);\n }\n if (content && content.length) {\n $target.find('.modal__body').html(content);\n }\n show();\n};\n\nmodal.on.hide = () => {\n bodyTag.removeAttr('data-active');\n modal.accessibility.hide();\n modal.$target.closest(\"[class*='sticko']\").removeClass('js--open');\n const target = $(location.hash);\n if (target.length) {\n const headerHeight = $('.header').height() || 0;\n const actionsBarHeight = $('.actionsbar').height() || 0;\n $(window).scrollTop(target.offset().top - headerHeight - actionsBarHeight);\n }\n};\n","import 'ui-theme/components/sections-navbar/js/sections-navbar';\n\nconst {sidebarSections} = UX;\nconst {init} = sidebarSections;\nsidebarSections.vPort = 'screen-md';\nsidebarSections.init = function () {\n init();\n const visualBtn = document.querySelector('.visual-abstract-btn');\n const actionContainer = document.querySelector('.actionsbar .actions-block-container');\n\n if (document.querySelector('.visual-abstract__figure') && visualBtn) {\n visualBtn.classList.add('visible');\n actionContainer.classList.add('has-visual-abstract-btn');\n }\n};\n","import autoComplete from '@tarekraafat/autocomplete.js';\nimport { ComponentSelector, ComponentInjector } from '@atypon/ui-utils';\nimport PhotoQuickSearch, {\n PhotoQuickSearchElements,\n PhotoQuickSearchSelectors,\n PhotoQuickSearchTexts,\n PhotoQuickSearchClassList\n} from 'ui-theme/widgets/quick-search/js/quick-search';\n\nclass Texts extends PhotoQuickSearchTexts { }\n\nclass ClassList extends PhotoQuickSearchClassList { }\n\nclass Selectors extends PhotoQuickSearchSelectors {\n qucikSearchField = new ComponentSelector('input.auto-complete', '.autoComplete_wrapper');\n qsFormsAcp = '[name=\"defaultQuickSearch\"],[name=\"citationQuickSearch\"],[name=\"thisJournalQuickSearch\"]';\n}\n\nclass Elements extends PhotoQuickSearchElements {\n qucikSearchField: HTMLInputElement;\n}\n\ninterface QuickSearch {\n get elements(): Elements;\n get texts(): Texts;\n get classList(): ClassList;\n get selectors(): Selectors;\n}\nclass QuickSearchElm {\n constructor(public el: HTMLInputElement, public searchType: string, public seriesKey: string) { }\n}\n@ComponentInjector(Selectors, Elements, ClassList, Texts)\nclass QuickSearch extends PhotoQuickSearch {\n\n protected onFormSubmit(form: HTMLFormElement, e: Event) {\n const inputValue = this.domUtils.getElement(this.selectors.qsAutocomplete.selector, form)?.value;\n const redirect = this.domUtils.getElement(`.${this.domUtils.getElement(this.selectors.qsFormsAcp).className} .quick-search__redirect-field`) as HTMLInputElement;\n if (inputValue === '') {\n e.preventDefault();\n if (redirect && redirect.value) {\n window.location.href = redirect.value;\n }\n } else {\n form.submit()\n }\n }\n\n // this is used to add the search in all fields option\n protected initAutoCompleteInstance(quickSearchElm: QuickSearchElm): autoComplete {\n this.handleAutoCompleteOptions(quickSearchElm.el);\n const configs = {\n data: {\n src: async () => {\n const url = this.buildFetchURL(quickSearchElm);\n if (url) {\n const data = await fetch(url),\n parsed = await data.json();\n return parsed.map((item) => {\n if (item.param === \"SeriesKey\") {\n item.paramFormatted = \"Journal\";\n } else if (item.param === \"ContentGroupKey\") {\n if (item.seriesKey === \"mrwseries\") {\n item.paramFormatted = \"Reference Work\";\n } else {\n item.paramFormatted = \"Book\";\n }\n }\n return item;\n });\n } else {\n return [];\n }\n },\n cache: false\n },\n selector: () => quickSearchElm.el,\n resultsList: this.resultListConfig(quickSearchElm),\n ...this.defaultConfigs\n };\n const autoCompleteObj = new autoComplete(configs);\n this.domUtils.addEventListener(quickSearchElm.el, 'selection', this.onSelection.bind(this));\n this.domUtils.addEventListener(this.elements.qucikSearchField, 'response', () => {\n autoCompleteObj.data.store.unshift(this.allField())\n });\n return autoCompleteObj;\n\n }\n // this is used to create the search in all fields option\n protected allField() {\n const enteredText = this.elements.qucikSearchField.value;\n const allFieldItem = {\n highlight: \"\" + enteredText + \"\",\n label: enteredText,\n param: \"AllField\",\n paramFormatted: 'Everything',\n seriesKey: \"books\",\n url: '/action/doSearch?AllField=' + enteredText,\n value: '/action/doSearch?AllField=' + enteredText\n }\n return allFieldItem;\n }\n}\n\nexport default QuickSearch;"],"sourceRoot":""}