{"version":3,"sources":["webpack:///./pericles/node_modules/unfetch/polyfill/index.js","webpack:///./pericles/node_modules/ui-core/widgets/cited-by/js/cited-by.js","webpack:///./pericles/widgets/cited-by/js/cited-by.js"],"names":["self","fetch","e","n","Promise","t","s","r","XMLHttpRequest","o","u","i","a","ok","status","statusText","url","responseURL","text","resolve","responseText","json","then","JSON","parse","blob","Blob","response","clone","headers","keys","entries","get","toLowerCase","has","c","open","method","onload","getAllResponseHeaders","replace","push","onerror","withCredentials","credentials","setRequestHeader","send","body","citedBy","selectors","list","contentListController","contentList","sciteMetricsDropzone","seeMoreWrapper","loadingContentSpinner","classes","seeMore","content","loadingSpinner","citedByListContent","citationsLoadedAlert","isTriggered","init","document","querySelector","convertToArray","querySelectorAll","control","_citedBy$list","addEventListener","seeMoreCitation","citationFirstCall","dataset","source","length","forEach","ev","item","buildInitContent","keyCode","which","type","insertAdjacentHTML","ajaxUrlForContent","concat","innerHTML","parentLi","setTimeout","focus","data","buildCitationHeading","buildLoadedContent","additionalFetchControls","numberOfTimesCitedHtml","citedByTotalTimesLabel","citedCount","spinner","parentUl","citations","citation","entryAuthor","link","registry","crossrefUrl","doi","label","crossrefLinkLabel","internalLinkLabel","contributors","contributor","firstName","surname","citationItem","itemTitle","parentTitle","volume","issue","firstPage","lastPage","year","seeMoreLink","seeMoreText","additionalContentBuild","firstNewElement","nextElementSibling","children","citedByAlert","tabIndex","removeTabIndexAttribute","removeChild","target","classList","contains","closest","ajaxUrl","additionalSeeMoreControls","nodeList","Array","prototype","slice","call","removeAttribute","additionalControls","UX","accordionControl","accordionControlNotOpened","citedByEl","isGetFTREnabled","getFTRUrl","getFTRCount","isCrossrefEnabled","isFirstRequest","isGetFTRCitedByEnabled","getAttribute","_citedBy$accordionCon","mathJaxHandler","GetFTR","articleCitedBy","window","scrollBy","includes","MathJax","typesetPromise"],"mappings":"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","file":"js/citedBy-4b31f62f41d43d558e73.js","sourcesContent":["self.fetch||(self.fetch=function(e,n){return n=n||{},new Promise(function(t,s){var r=new XMLHttpRequest,o=[],u=[],i={},a=function(){return{ok:2==(r.status/100|0),statusText:r.statusText,status:r.status,url:r.responseURL,text:function(){return Promise.resolve(r.responseText)},json:function(){return Promise.resolve(r.responseText).then(JSON.parse)},blob:function(){return Promise.resolve(new Blob([r.response]))},clone:a,headers:{keys:function(){return o},entries:function(){return u},get:function(e){return i[e.toLowerCase()]},has:function(e){return e.toLowerCase()in i}}}};for(var c in r.open(n.method||\"get\",e,!0),r.onload=function(){r.getAllResponseHeaders().replace(/^(.*?):[^\\S\\n]*([\\s\\S]*?)$/gm,function(e,n,t){o.push(n=n.toLowerCase()),u.push([n,t]),i[n]=i[n]?i[n]+\",\"+t:t}),t(a())},r.onerror=s,r.withCredentials=\"include\"==n.credentials,n.headers)r.setRequestHeader(c,n.headers[c]);r.send(n.body||null)})});\n","import 'unfetch/polyfill/index';\nimport 'element-closest-polyfill';\n\n(function () {\n let citedBy = {\n selectors: {\n list: '.cited-by__list',\n contentListController: '.article-section__citedBy .accordion__control',\n contentList: '.cited-by__content',\n sciteMetricsDropzone: '.sciteMetricsDropzone',\n seeMoreWrapper: '.seeMoreWrapper',\n loadingContentSpinner: '.loading-content',\n },\n classes: {\n seeMore: 'cited-by__see-more',\n },\n content: {\n loadingSpinner:\n '
  • loading citations
  • ',\n citedByListContent: '
    ',\n citationsLoadedAlert:\n '
    ',\n },\n list: null,\n sciteMetricsDropzone: null,\n isTriggered: false,\n\n init() {\n citedBy.list = document.querySelector(citedBy.selectors.list);\n citedBy.contentListController = citedBy.convertToArray(\n document.querySelectorAll(citedBy.selectors.contentListController)\n );\n citedBy.contentList = document.querySelector(citedBy.selectors.contentList);\n citedBy.sciteMetricsDropzone = citedBy.contentList.querySelector(citedBy.selectors.sciteMetricsDropzone);\n citedBy.control();\n },\n control() {\n citedBy.list?.addEventListener('click', citedBy.seeMoreCitation);\n citedBy.citationFirstCall();\n },\n citationFirstCall() {\n if (\n citedBy.contentList &&\n !citedBy.list &&\n citedBy.sciteMetricsDropzone &&\n citedBy.contentList.dataset.source !== ''\n ) {\n if (citedBy.contentListController.length) {\n ['click', 'keydown'].forEach(ev => {\n citedBy.contentListController.forEach(item =>\n item.addEventListener(ev, citedBy.buildInitContent)\n );\n });\n }\n }\n },\n buildInitContent(e) {\n let keycode = e.keyCode ? e.keyCode : e.which;\n if ((keycode === 13 || e.type === 'click') && !citedBy.isTriggered) {\n citedBy.contentList.insertAdjacentHTML('beforeend', citedBy.content.citedByListContent);\n citedBy.list = citedBy.list === null && citedBy.contentList.querySelector('.cited-by__list');\n\n const ajaxUrlForContent = `${citedBy.contentList.dataset.source}&ajaxRequest=true`;\n citedBy.list.innerHTML = citedBy.content.loadingSpinner;\n const parentLi = citedBy.list.querySelector(citedBy.selectors.loadingContentSpinner);\n\n setTimeout(() => parentLi.focus(), 350); // waiting for accordion opening\n\n fetch(ajaxUrlForContent)\n .then(response => response.json())\n .then(data => {\n citedBy.buildCitationHeading(data);\n citedBy.buildLoadedContent(data, parentLi, citedBy.list);\n citedBy.init();\n citedBy.additionalFetchControls();\n });\n citedBy.isTriggered = true;\n }\n },\n buildCitationHeading(data) {\n const numberOfTimesCitedHtml = `\n

    \n ${data.citedByTotalTimesLabel}\n ${data.item.citedCount}\n

    \n `;\n if (citedBy.sciteMetricsDropzone) {\n citedBy.sciteMetricsDropzone.insertAdjacentHTML('afterend', numberOfTimesCitedHtml);\n } else {\n citedBy.contentList.insertAdjacentHTML('afterbegin', numberOfTimesCitedHtml);\n }\n },\n buildLoadedContent(data, spinner, parentUl) {\n if (data.item.citations.length) {\n data.item.citations.forEach(citation => {\n let entryAuthor = '',\n link =\n citation.source === 'crossref'\n ? data.registry.crossrefUrl + citation.doi\n : `/doi/${citation.doi}`,\n label = citation.source === 'crossref' ? data.crossrefLinkLabel : data.internalLinkLabel;\n\n if (citation.contributors) {\n citation.contributors.forEach(contributor => {\n entryAuthor += `${contributor.firstName} ${contributor.surname}, `;\n });\n }\n\n let citationItem = `\n
  • \n ${entryAuthor}${citation.itemTitle}${\n citation.parentTitle ? `, ${citation.parentTitle}` : ''\n }, ${citation.doi}${\n citation.volume && citation.volume !== '0'\n ? `, ${citation.volume}`\n : ''\n }${\n citation.issue && citation.issue !== '0' ? `, ${citation.issue}` : ''\n }${\n citation.firstPage\n ? `, (${citation.firstPage}${\n citation.lastPage ? `-${citation.lastPage}` : ''\n })`\n : ''\n }${citation.year ? `, (${citation.year})` : ''}.\n
    \n ${label}\n
    \n
  • `;\n\n parentUl.insertAdjacentHTML('beforeend', citationItem);\n });\n }\n if (data.seeMoreLink) {\n let seeMoreText = `
  • See more
  • `;\n parentUl.insertAdjacentHTML('beforeend', seeMoreText);\n }\n setTimeout(() => {\n citedBy.additionalContentBuild(spinner, parentUl);\n }, 500);\n },\n additionalContentBuild(spinner, parentUl) {\n const firstNewElement = spinner.nextElementSibling.children[0],\n citedByAlert = parentUl.nextElementSibling,\n seeMoreWrapper = citedBy.list.querySelector(citedBy.selectors.seeMoreWrapper),\n loadingContentSpinner = citedBy.list.querySelector(citedBy.selectors.loadingContentSpinner);\n\n firstNewElement.tabIndex = 0;\n firstNewElement.focus();\n firstNewElement.addEventListener('blur', citedBy.removeTabIndexAttribute);\n citedBy.list.removeChild(loadingContentSpinner);\n citedBy.list.removeChild(seeMoreWrapper);\n citedByAlert.innerHTML = citedBy.content.citationsLoadedAlert;\n },\n seeMoreCitation(e) {\n if (e.target.classList.contains(citedBy.classes.seeMore)) {\n let parentLi = e.target.closest('li'),\n ajaxUrl = `${e.target.dataset.source}&ajaxRequest=true`;\n\n parentLi.insertAdjacentHTML('afterend', citedBy.content.loadingSpinner);\n\n const loadingContentSpinner = citedBy.list.querySelector(citedBy.selectors.loadingContentSpinner);\n fetch(ajaxUrl)\n .then(response => response.json())\n .then(data => {\n citedBy.buildLoadedContent(data, loadingContentSpinner, citedBy.list);\n citedBy.additionalSeeMoreControls();\n });\n }\n },\n convertToArray(nodeList) {\n return Array.prototype.slice.call(nodeList);\n },\n removeTabIndexAttribute(e) {\n e.target.removeAttribute('tabindex');\n },\n additionalControls() {},\n additionalFetchControls() {},\n additionalSeeMoreControls() {},\n };\n\n UX.citedBy = citedBy;\n})();\n","// New changes in this file should be moved to ui-core because we have \"cited-by.js\" file in ui-core\nimport 'ui-core/widgets/cited-by/js/cited-by';\nimport 'unfetch/polyfill/index';\nimport 'element-closest-polyfill';\nimport GetFTR from '../../../components/getFTR/js/getFTR';\n\n(function () {\n let citedBy = {\n selectors: {\n citedBy: '.cited-by',\n accordionControl: '.accordion__control ',\n accordionControlNotOpened: '.accordion__control:not(.js--open)',\n list: '.cited-by__list',\n contentListController: '.article-section__citedBy .accordion__control',\n contentList: '.cited-by__content',\n sciteMetricsDropzone: '.sciteMetricsDropzone',\n seeMoreWrapper: '.seeMoreWrapper',\n loadingContentSpinner: '.loading-content',\n },\n classes: {\n seeMore: 'cited-by__see-more',\n },\n content: {\n loadingSpinner:\n '
  • loading citations
  • ',\n citedByListContent: '
    ',\n citationsLoadedAlert:\n '
    ',\n },\n citedByEl: null,\n accordionControl: null,\n isGetFTREnabled: false,\n getFTRUrl: null,\n getFTRCount: null,\n isCrossrefEnabled: false,\n list: null,\n sciteMetricsDropzone: null,\n isTriggered: false,\n isFirstRequest: false,\n\n init() {\n citedBy.citedByEl = document.querySelector(citedBy.selectors.citedBy);\n citedBy.accordionControl = citedBy.citedByEl.querySelector(citedBy.selectors.accordionControl);\n citedBy.accordionControlNotOpened = citedBy.citedByEl.querySelector(\n citedBy.selectors.accordionControlNotOpened\n );\n citedBy.isGetFTRCitedByEnabled = citedBy.accordionControl.getAttribute('data-getftr-citedby-enabled');\n citedBy.list = document.querySelector(citedBy.selectors.list);\n citedBy.contentListController = citedBy.convertToArray(\n document.querySelectorAll(citedBy.selectors.contentListController)\n );\n citedBy.contentList = document.querySelector(citedBy.selectors.contentList);\n citedBy.sciteMetricsDropzone = citedBy.contentList.querySelector(citedBy.selectors.sciteMetricsDropzone);\n citedBy.control();\n },\n control() {\n citedBy.list?.addEventListener('click', citedBy.seeMoreCitation);\n citedBy.citationFirstCall();\n citedBy.accordionControlNotOpened?.addEventListener('click', citedBy.additionalFetchControls);\n },\n citationFirstCall() {\n if (\n citedBy.contentList &&\n !citedBy.list &&\n citedBy.sciteMetricsDropzone &&\n citedBy.contentList.dataset.source !== ''\n ) {\n if (citedBy.contentListController.length) {\n ['click', 'keydown'].forEach(ev => {\n citedBy.contentListController.forEach(item =>\n item.addEventListener(ev, citedBy.buildInitContent)\n );\n });\n }\n }\n },\n buildInitContent(e) {\n let keycode = e.keyCode ? e.keyCode : e.which;\n if ((keycode === 13 || e.type === 'click') && !citedBy.isTriggered) {\n citedBy.contentList.insertAdjacentHTML('beforeend', citedBy.content.citedByListContent);\n citedBy.list = citedBy.list === null && citedBy.contentList.querySelector('.cited-by__list');\n\n const ajaxUrlForContent = `${citedBy.contentList.dataset.source}&ajaxRequest=true`;\n citedBy.list.innerHTML = citedBy.content.loadingSpinner;\n const parentLi = citedBy.list.querySelector(citedBy.selectors.loadingContentSpinner);\n\n setTimeout(() => parentLi.focus(), 350); // waiting for accordion opening\n\n fetch(ajaxUrlForContent)\n .then(response => response.json())\n .then(data => {\n citedBy.buildCitationHeading(data);\n citedBy.buildLoadedContent(data, parentLi, citedBy.list);\n citedBy.init();\n citedBy.additionalFetchControls(data);\n citedBy.mathJaxHandler();\n });\n citedBy.isTriggered = true;\n }\n },\n buildCitationHeading(data) {\n const numberOfTimesCitedHtml = `\n

    \n ${data.citedByTotalTimesLabel}\n ${data.item.citedCount}\n

    \n `;\n if (citedBy.sciteMetricsDropzone) {\n citedBy.sciteMetricsDropzone.insertAdjacentHTML('afterend', numberOfTimesCitedHtml);\n } else {\n citedBy.contentList.insertAdjacentHTML('afterbegin', numberOfTimesCitedHtml);\n }\n },\n buildLoadedContent(data, spinner, parentUl) {\n if (data.item.citations.length) {\n data.item.citations.forEach(citation => {\n let entryAuthor = '',\n link =\n citation.source === 'crossref'\n ? data.registry.crossrefUrl + citation.doi\n : `/doi/${citation.doi}`,\n label = citation.source === 'crossref' ? data.crossrefLinkLabel : data.internalLinkLabel;\n\n if (citation.contributors) {\n citation.contributors.forEach(contributor => {\n entryAuthor += `${contributor.firstName} ${contributor.surname}, `;\n });\n }\n\n let citationItem = `\n
  • \n ${entryAuthor}${citation.itemTitle}${\n citation.parentTitle ? `, ${citation.parentTitle}` : ''\n }, ${citation.doi}${\n citation.volume && citation.volume !== '0'\n ? `, ${citation.volume}`\n : ''\n }${\n citation.issue && citation.issue !== '0' ? `, ${citation.issue}` : ''\n }${\n citation.firstPage\n ? `, (${citation.firstPage}${\n citation.lastPage ? `-${citation.lastPage}` : ''\n })`\n : ''\n }${citation.year ? `, (${citation.year})` : ''}.\n \n
  • `;\n\n parentUl.insertAdjacentHTML('beforeend', citationItem);\n });\n }\n if (data.seeMoreLink) {\n let seeMoreText = `
  • See more
  • `;\n parentUl.insertAdjacentHTML('beforeend', seeMoreText);\n }\n setTimeout(() => {\n citedBy.additionalContentBuild(spinner, parentUl);\n }, 500);\n },\n additionalContentBuild(spinner, parentUl) {\n const firstNewElement = spinner.nextElementSibling.children[0],\n citedByAlert = parentUl.nextElementSibling;\n\n firstNewElement.tabIndex = 0;\n firstNewElement.focus();\n citedByAlert.innerHTML = citedBy.content.citationsLoadedAlert;\n\n firstNewElement.addEventListener('blur', citedBy.removeTabIndexAttribute);\n parentUl.removeChild(spinner);\n },\n seeMoreCitation(e) {\n if (e.target.classList.contains(citedBy.classes.seeMore)) {\n let parentLi = e.target.closest('li'),\n ajaxUrl = `${e.target.dataset.source}&ajaxRequest=true`;\n\n parentLi.insertAdjacentHTML('afterend', citedBy.content.loadingSpinner);\n\n const loadingContentSpinner = citedBy.list.querySelector(citedBy.selectors.loadingContentSpinner),\n seeMoreWrapper = citedBy.list.querySelector(citedBy.selectors.seeMoreWrapper);\n\n loadingContentSpinner.focus();\n citedBy.list.removeChild(seeMoreWrapper);\n\n fetch(ajaxUrl)\n .then(response => response.json())\n .then(data => {\n citedBy.buildLoadedContent(data, loadingContentSpinner, citedBy.list);\n citedBy.additionalSeeMoreControls();\n });\n }\n },\n convertToArray(nodeList) {\n return Array.prototype.slice.call(nodeList);\n },\n removeTabIndexAttribute(e) {\n e.target.removeAttribute('tabindex');\n },\n additionalControls() {},\n additionalFetchControls() {\n citedBy.isFirstRequest = true;\n if (citedBy.isGetFTRCitedByEnabled && citedBy.isFirstRequest) {\n citedBy.isFirstRequest = false;\n const getFTR = new GetFTR();\n getFTR.articleCitedBy();\n }\n },\n additionalSeeMoreControls() {\n if (citedBy.isGetFTRCitedByEnabled) {\n window.scrollBy(0, 10);\n }\n },\n mathJaxHandler() {\n if (citedBy.citedByEl.innerHTML.includes('mathrm') || citedBy.citedByEl.innerHTML.includes('textrm')) {\n MathJax.typesetPromise([citedBy.citedByEl]);\n }\n },\n };\n\n UX.citedBy = citedBy;\n})();\n"],"sourceRoot":""}