{"version":3,"sources":["webpack:///./components/applied-facets/js/applied-facets.js","webpack:///./components/combine-box/ts/combine-box.ts","webpack:///./components/teaser/ts/teaser.ts","webpack:///./components/drop-block/js/drop-block.js","webpack:///./components/sections-navbar/js/sections-navbar.js","webpack:///./components/login-drop-block/js/LoginDropBlock.js","webpack:///./widgets/quick-search/js/quick-search.ts","webpack:///./widgets/country-resources/js/CountryResources.js","webpack:///./widgets/article-metrics/js/article-metrics.js","webpack:///./widgets/article-metrics/js/scite.js"],"names":["AppliedFacets","_createClass","_classCallCheck","this","addAppliedFacetsInputs","key","value","searchFields","document","querySelectorAll","appliedFacetContainer","querySelector","forEach","searchField","filterKey","filterClone","cloneNode","appendChild","init","extractQueryId","event","target","hasSavedSearchTarget","dataset","checkbox","CombineBox","savedSearchHandler","searchHistoryHandler","query","createQuery","isLargeQuery","checkIfLargeQuery","combineIds","queries","widget","$target","tabPane","closest","combineBoxItems","checkedElements","operator","relatedQueryElements","relatedFacetElements","expandedElement","hiddenQueryElement","facet","push","getAttribute","facetKey","textContent","encodeURIComponent","join","e","combineButton","getQueryIds","disabled","length","parentElement","button","checkedBoxes","Array","from","queryId","classList","contains","checked","map","checkBox","queryText","queriesText","id","Number","queryTextLength","indexToRemove","findIndex","indexToRemoveText","splice","ids","operatorValue","dynamicParam","staticLink","reduce","accumulator","currentValue","largeQueryModalBtn","click","redirect","link","match","href","titles","truncate","titleElement","titleText","trim","words","split","truncatedText","slice","substring","title","initialize","dropBlock","UX","additionalOnShow","input","$","setSelectionRange","focus","sidebarSections","_sidebarSections$get","get","fixedpageElementsHeight","header","secondaryMenu","elementsHeight","css","outerHeight","height","each","_this","LoginDropBLock","element","login","dropBlockItems","item","_item$dataset","dbTargetFor","removeAttribute","qsAutocomplete","btnWithKeyWord","keyWordInputFiled","qSearch","textarea","searchButton","quickSearchForm","addEventListeners","isAutocompleteOn","browserUtils","isIE","elements","addEventListener","onKeyDown","bind","qsDropdowns","handleDropdownCollapse","registerCitationSearchEvents","registerAutoCompleteInputEvents","registerTogglerOverlayEvents","addEventOnBtnWithKeyword","makeTextAreaExpandable","switchFormMethod","keyCode","submitWithoutChoosingValue","domUtils","getElement","selectors","autocompleteSelectedResultItem","wrapper","dispatchEvent","Event","bubbles","cancelable","setTimeout","rows","calculateRowsNeeded","clone","style","width","getComputedStyle","body","lineHeight","parseFloat","rowsNeeded","Math","round","scrollHeight","removeChild","preventDefault","window","open","qsForm","replace","submit","resultListConfig","quickSearchElm","maxResults","QuickSearch","Selectors","Elements","ClassList","Texts","CountryResources","countryParam","selector","select","pesticideList","redListButton","regexPattern","RegExp","list","handleUrlChange","handlePestClick","url","currentTarget","countryOption","toLowerCase","location","_UX$utils","utils","getUrlParameter","removeUrlParam","test","concat","indexOf","ArticleMetrics","tab","handleTabChange","navItem","ArticleScite","sciteDataCheck","sciteContainer","titleToggle","sciteTitle","display"],"mappings":"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","file":"js/lazy-imports-b40e1bc4821b3a75bef8.js","sourcesContent":["export default class AppliedFacets {\n constructor() {\n this.addAppliedFacetsInputs();\n }\n addAppliedFacetsInputs() {\n const searchFields = document.querySelectorAll('.quick-search__input');\n const appliedFacetContainer = document.querySelector('.facet__list--applied');\n\n searchFields.forEach(searchField => {\n const appliedFilterKeys = appliedFacetContainer.querySelectorAll('.applied-filter-key');\n appliedFilterKeys.forEach(filterKey => {\n // Cloning the hidden input elements to move them in all quick search fields\n const filterClone = filterKey.cloneNode(true);\n searchField.appendChild(filterClone);\n });\n });\n }\n}\n","import { addEventListeners } from '../../../utility/EventListeners/eventListeners';\nimport LargeQuery from \"../../../utility/large-query/js/large-query\";\n\nexport default class CombineBox {\n private static queries: any[] = [];\n private static queriesText : any[] = [];\n\n constructor() {\n this.init();\n this.extractQueryId();\n }\n\n private init(): void {\n addEventListeners('.combine-box .js-search-select-all, .expanded:not(.hidden) .js--search-checkbox, .table__mark .js--search-checkbox', 'change', (event) => {\n const target = event.target as HTMLElement;\n const hasSavedSearchTarget = target.dataset.target === \"savedSearch\"; // select all checkbox\n const hasSavedSearchCheckbox = target.dataset.checkbox === \"savedSearch\"; // table checkboxes\n if (hasSavedSearchCheckbox || hasSavedSearchTarget) {\n CombineBox.savedSearchHandler(event);\n } else {\n CombineBox.searchHistoryHandler(event);\n }\n });\n\n addEventListeners('.combine-box .combine-box__submit', 'click', (event) => {\n const target = event.target as HTMLElement;\n // In this case the query is sent encoded\n let query: string = CombineBox.createQuery(target);\n let isLargeQuery: boolean = LargeQuery.checkIfLargeQuery(query, '/action/combineSearch?AllField=', true);\n CombineBox.combineIds(CombineBox.queries, `${target.dataset.widget ?? ''}`, isLargeQuery);\n });\n }\n\n private static createQuery($target): string {\n const tabPane = $target.closest('.tab__pane,.profileMain');\n const combineBoxItems = $target.closest('.combine-box__items');\n const checkedElements = tabPane.querySelectorAll('input[type=\"checkbox\"]:checked');\n const operator = combineBoxItems.querySelector('input[type=\"radio\"]:checked').value;\n\n const relatedQueryElements = [];\n const relatedFacetElements = [];\n\n checkedElements.forEach(checkbox => {\n const expandedElement = checkbox.closest('tr');\n if (expandedElement) {\n const hiddenQueryElement = expandedElement.querySelector('.hidden.query');\n const hiddenFacetElements = expandedElement.querySelectorAll('.refinements');\n hiddenFacetElements.forEach(facet => {\n relatedFacetElements.push(`${facet.getAttribute('name')}=${facet.dataset.facetKey}`);\n });\n if (hiddenQueryElement) {\n relatedQueryElements.push(hiddenQueryElement.textContent);\n }\n }\n });\n\n //We only encode the query without the facets based on comment #3 LIT-563795\n let query = encodeURIComponent(relatedQueryElements.join(` ${operator} `));\n relatedFacetElements.forEach(facet => {\n query += `&${facet}`;\n });\n\n return query;\n }\n\n\n private static searchHistoryHandler(e): void {\n const combineButton = document.querySelector('.search-history').querySelector('.combine-box__submit');\n CombineBox.getQueryIds(e.target);\n combineButton.disabled = document.querySelectorAll('.search-history table input[type=\"checkbox\"]:checked').length <= 1;\n }\n\n private static savedSearchHandler(e): void {\n const combineButton = document.querySelector('.saved-searches').parentElement.querySelector('.combine-box__submit')\n CombineBox.getQueryIds(e.target);\n combineButton.disabled = document.querySelectorAll('.saved-searches .expanded:not(.hidden) input[type=\"checkbox\"]:checked').length <= 1;\n }\n\n private static getQueryIds(button): void {\n const checkedBoxes = Array.from(document.querySelectorAll('.expanded:not(.hidden) .js--search-checkbox:checked, .search-history .js--search-checkbox:checked'));\n const queryId = (button as HTMLButtonElement).dataset.queryId;\n\n if (button.classList.contains('js-search-select-all')) {\n if (button.checked) {\n this.queries = checkedBoxes.map((checkBox) => (checkBox as HTMLInputElement).dataset.queryId);\n checkedBoxes.forEach((button: any)=> {\n const queryText = button.closest('tr').querySelector('[data-query-text-length]') as any;\n if(queryText) {\n this.queriesText.push({\n id: button.dataset.queryId,\n length: Number(queryText.dataset.queryTextLength) || 0,\n })\n }\n })\n } else {\n this.queries = [];\n this.queriesText = [];\n }\n } else if (button.checked) {\n const queryText = button.closest('tr').querySelector('[data-query-text-length]');\n if(queryText) {\n this.queriesText.push({\n id: queryId,\n length: Number(queryText.dataset.queryTextLength) || 0,\n })\n }\n this.queries.push(queryId);\n } else {\n const indexToRemove = this.queries.findIndex(query => query === queryId);\n const indexToRemoveText = this.queriesText.findIndex(query => query.id === queryId);\n\n if (indexToRemove !== -1) {\n this.queries.splice(indexToRemove, 1);\n }\n\n if (indexToRemoveText !== -1) {\n this.queriesText.splice(indexToRemoveText, 1);\n }\n }\n }\n\n private static combineIds(ids: string[], widget: string, isLargeQuery: boolean): void {\n const checkbox = document.querySelector('[data-widget=\"' + widget + '\"]').closest('.combine-box').querySelectorAll('.combine-box__operators input:checked')[0] as HTMLInputElement;\n const operatorValue: string = checkbox.value;\n const dynamicParam = widget === \"searchHistory\" ? \"&history=true\" : \"\";\n const staticLink = `/action/combineSearch?queryId=${ids.join('&queryId=')}&operator=${operatorValue}${dynamicParam}`;\n if(this.queriesText.length > 0) {\n var lengthOfQueries = this.queriesText.reduce(function (accumulator, currentValue) {\n return accumulator + currentValue.length;\n }, 0);\n\n if(lengthOfQueries > 64000) {\n const largeQueryModalBtn = document.querySelector('.large-query-message-btn') as any;\n if(largeQueryModalBtn) {\n largeQueryModalBtn.click();\n }\n return;\n }\n }\n LargeQuery.redirect(staticLink, isLargeQuery);\n }\n\n //TODO: to be cleaned up, the query ids should be added through jade\n private extractQueryId() {\n const links = document.querySelectorAll('.expanded:not(.hidden) [data-action-type=\"saved-search--run\"]');\n\n links.forEach((link) => {\n const match = link.href.match(/runSaved=(\\d+)/);\n if (match) {\n const checkbox = link.closest('tr')?.querySelector('input[type=\"checkbox\"]');\n if (checkbox) {\n checkbox.dataset.queryId = match[1];\n }\n }\n });\n }\n}","export default class Teaser {\n private titles = document.querySelectorAll('.custom-truncation') as any;\n\n constructor() {\n this.initialize();\n }\n\n private initialize(): void {\n this.truncate();\n }\n\n private truncate = (): void => {\n this.titles.forEach((titleElement) => {\n const titleText = titleElement.textContent.trim();\n const words = titleText.split(' ');\n const maxWords = 5;\n const maxCharacters = 40;\n\n let truncatedText = '';\n\n if (words.length > maxWords) {\n truncatedText = words.slice(0, maxWords).join(' ') + '...';\n } else if (titleText.length > maxCharacters) {\n truncatedText = titleText.substring(0, maxCharacters) + '...';\n }\n\n titleElement.textContent = truncatedText;\n titleElement.title = truncatedText;\n });\n }\n}\n","import 'ui-core/components/drop-block/js/drop-block';\n\nconst dropBlock = UX.dropBlock || {};\n\nif (dropBlock) {\n dropBlock.additionalOnShow = function () {\n var input = $('#header-quick-search-form .ui-autocomplete-input');\n if (input.length) {\n input[0].setSelectionRange(-1, -1);\n input.focus();\n }\n };\n}\n","import 'ui-theme/components/sections-navbar/js/sections-navbar';\n\nconst {sidebarSections} = UX || {};\n\nif (sidebarSections?.get?.fixedpageElementsHeight) {\n sidebarSections.get.fixedpageElementsHeight = () => {\n const header = $('header');\n const secondaryMenu = $('#js-secondary-menu');\n let elementsHeight =\n header.css('position') === 'fixed' || header.css('position') === 'sticky' ? header.outerHeight() : 0;\n elementsHeight += secondaryMenu.length ? secondaryMenu.height() : 0;\n $('.actionsbar').each(function () {\n const _this = $(this);\n if (_this.outerHeight() > 0) {\n elementsHeight += _this.outerHeight();\n }\n });\n return elementsHeight;\n };\n}\n","export default class LoginDropBLock {\n constructor(element) {\n const login = element[0];\n const dropBlockItems = login && login.querySelectorAll('[data-db-target-for] , [data-db-target-of]');\n if (dropBlockItems && dropBlockItems.length) {\n dropBlockItems.forEach(item => {\n if (item.dataset?.dbTargetFor) {\n item.removeAttribute('data-db-target-for');\n } else {\n item.removeAttribute('data-db-target-of');\n }\n });\n }\n }\n}\n","import { ComponentSelector, ComponentInjector } from '@atypon/ui-utils';\n\nimport PhotoQuickSearch, {\n PhotoQuickSearchElements,\n PhotoQuickSearchSelectors,\n PhotoQuickSearchTexts,\n PhotoQuickSearchClassList\n} from 'ui-theme/widgets/quick-search/js/quick-search';\nimport LargeQuery from \"../../../utility/large-query/js/large-query\";\n\nclass Texts extends PhotoQuickSearchTexts { }\n\nclass ClassList extends PhotoQuickSearchClassList {}\n\nclass Selectors extends PhotoQuickSearchSelectors {\n qsAutocomplete = new ComponentSelector('input.auto-complete , textarea.auto-complete');\n btnWithKeyWord = new ComponentSelector('#btnWithKeyWord');\n keyWordInputFiled = new ComponentSelector('#keyWordInputFiled');\n qSearch = new ComponentSelector('#qsearch');\n textarea = new ComponentSelector('.search__page textarea');\n searchButton = new ComponentSelector('.search__page .searchButton');\n quickSearchForm = new ComponentSelector('.quick-search__form');\n largeQueryModalBtn = '.large-query-message-btn';\n}\n\nclass Elements extends PhotoQuickSearchElements {\n qsAutocomplete: Array = [];\n keyWordInputFiled: HTMLElement;\n qSearch: HTMLElement;\n btnWithKeyWord: HTMLElement;\n textarea: HTMLTextAreaElement;\n searchButton: HTMLElement;\n quickSearchForm: HTMLElement;\n}\n\ninterface QuickSearch {\n get elements(): Elements;\n get texts(): Texts;\n get classList(): ClassList;\n get selectors(): Selectors;\n}\n\nclass QuickSearchElm {\n constructor(public el: HTMLInputElement, public searchType: string, public seriesKey: string) { }\n}\n\n@ComponentInjector(Selectors, Elements, ClassList, Texts)\nclass QuickSearch extends PhotoQuickSearch {\n\n addEventListeners(): void {\n // Core\n if (this.isAutocompleteOn && !this.browserUtils.isIE) {\n this.elements.qsAutocomplete.forEach(input => {\n input.addEventListener('keydown', this.onKeyDown.bind(this, input));\n });\n }\n\n if (this.elements.qsDropdowns && this.elements.qsDropdowns.length > 0) {\n this.elements.qsDropdowns.forEach(item => {\n item.addEventListener('click', this.handleDropdownCollapse.bind(this, item));\n })\n }\n\n this.registerCitationSearchEvents();\n\n //Photo\n this.registerAutoCompleteInputEvents();\n this.registerCitationSearchEvents();\n this.registerTogglerOverlayEvents();\n\n // Cabi\n if (this.elements.btnWithKeyWord) {\n this.addEventOnBtnWithKeyword();\n }\n if (this.elements.textarea) {\n this.makeTextAreaExpandable();\n }\n\n this.elements.quickSearchForm.addEventListener('submit', this.switchFormMethod.bind(this, this.elements.quickSearchForm));\n\n }\n\n\n protected onKeyDown(input: HTMLInputElement, e: KeyboardEvent,) {\n if (e.keyCode === 13) {\n // this is necessary since the autocomplete plugin prevents default on Enter\n const submitForm = () => this.domUtils.closest('form', input).dispatchEvent(new Event('submit', { bubbles: true, cancelable: true }));\n if (this.submitWithoutChoosingValue) {\n if (this.domUtils.getElement(this.selectors.autocompleteSelectedResultItem, this.wrapper)) {\n return\n }\n return submitForm();\n } else if (input.value !== '') {\n return\n }\n }\n }\n\n protected makeTextAreaExpandable(): void {\n function calculateRowsNeeded(textarea: HTMLTextAreaElement): number {\n const clone = textarea.cloneNode(true) as HTMLTextAreaElement;\n clone.style.height = '20px';\n clone.style.width = getComputedStyle(textarea).width;\n clone.value = textarea.value;\n document.body.appendChild(clone);\n const lineHeight = parseFloat(getComputedStyle(textarea).lineHeight);\n const rowsNeeded = Math.round(clone.scrollHeight / lineHeight);\n document.body.removeChild(clone);\n return rowsNeeded;\n }\n \n const textarea = this.elements.textarea;\n const searchButton = this.elements.searchButton;\n\n textarea.addEventListener('keyup', () => {\n setTimeout(() => {\n textarea.rows = calculateRowsNeeded(textarea) - 1;\n searchButton.style.height = getComputedStyle(textarea).height;\n }, 250);\n });\n }\n\n protected addEventOnBtnWithKeyword(){\n let btnWithKeyWord = this.elements.btnWithKeyWord;\n let keyWordInputFiled = this.elements.keyWordInputFiled;\n let qSearch = this.elements.qSearch;\n\n btnWithKeyWord.addEventListener('click' , function(e){\n e.preventDefault();\n window.open(\n '/action/doSearch?KeywordRaw=' +\n keyWordInputFiled.getAttribute('value') +\n '&text1=' +\n qSearch.getAttribute('value') +\n '&field1=AllField',\n '_self'\n );\n })\n }\n\n protected switchFormMethod(qsForm: HTMLFormElement, e: Event) {\n e.preventDefault();\n const qsAutocompleteInputs = this.elements.qsAutocomplete;\n\n qsAutocompleteInputs.forEach(input => {\n const query = encodeURIComponent(input.value).replace(/%20/g, '+');\n let isLargeQuery: boolean = LargeQuery.checkIfLargeQuery(query, '/action/doSearch?AllField=', true);\n LargeQuery.submit(qsForm, isLargeQuery);\n });\n }\n\n // It should be removed after the core level changes in ticket LIT-505435 is merged\n protected resultListConfig(quickSearchElm: QuickSearchElm) {\n return { ...super.resultListConfig(quickSearchElm), maxResults: 10 };\n }\n}\n\nexport default QuickSearch;","export default class CountryResources {\n constructor(CountryResources) {\n this.CountryResources = CountryResources;\n this.countryParam = 'country';\n this.selector = {\n select: '.js-country-select',\n pesticideList: '.pesticide__list',\n redListButton: '#redList-popup .modal__footer .btn',\n };\n this.regexPattern = new RegExp('\\\\?[A-Za-z]');\n this.list = this.CountryResources.querySelector(this.selector.select);\n this.init();\n }\n\n init() {\n this.list.addEventListener('input', this.handleUrlChange.bind(this));\n\n const pesticideListElements = document.querySelectorAll(this.selector.pesticideList);\n\n pesticideListElements.forEach(element => {\n element.addEventListener('click', this.handlePestClick.bind(this));\n });\n\n this.redListButton = document.querySelector(this.selector.redListButton);\n }\n\n handlePestClick(event) {\n const url = event.currentTarget.href;\n\n if (this.redListButton) {\n this.redListButton.href = url;\n }\n }\n\n handleUrlChange(event) {\n const countryOption = event.currentTarget.value.toLowerCase();\n const {href} = location;\n const {getUrlParameter, removeUrlParam} = UX.utils;\n const isItCountry = getUrlParameter(this.countryParam);\n let link = href;\n if (isItCountry) {\n link = removeUrlParam(this.countryParam, href);\n }\n if (this.regexPattern.test(link)) {\n link = `${link}&${this.countryParam}=${countryOption}`;\n } else {\n link = `${link}${~link.indexOf('?') ? '' : '?'}${this.countryParam}=${countryOption}`;\n }\n location.href = link;\n }\n}\n","export default class ArticleMetrics {\n constructor() {\n this.tab = document.querySelectorAll('.metrics-tabs__item-link');\n this.init();\n }\n init() {\n this.tab.forEach(element => {\n element?.addEventListener('click', this.handleTabChange);\n });\n }\n handleTabChange() {\n const navItem = document.querySelector('.metrics-nav__item-link:not(.metrics-selected--js) span');\n navItem?.click();\n }\n}\n","export default class ArticleScite {\n constructor() {\n this.sciteDataCheck();\n }\n sciteDataCheck() {\n const sciteContainer = document.querySelector('.scite-badge');\n this.titleToggle();\n\n // Wait the scite library script to add the elements to the dom\n sciteContainer.addEventListener('DOMNodeInserted', () => {\n this.titleToggle();\n });\n }\n titleToggle() {\n const sciteTitle = document.querySelector('.scite__title');\n const hasData = document.querySelector('.Tally__show___EesAt');\n if (hasData) {\n sciteTitle.style.display = 'block';\n }\n }\n}\n"],"sourceRoot":""}