{"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                '<li class=\"loading-content\" tabindex=\"0\"><span role=\"alert\" aria-label=\"loading citations\"><span aria-hidden=\"true\">loading citations</span></span><div class=\"loading\"></div></li>',\n            citedByListContent: '<ul class=\"rlist cited-by__list\"></ul><div class=\"cited-by__alert\"></div>',\n            citationsLoadedAlert:\n                '<div class=\"sr-only\" tabindex=\"-1\" role=\"alert\" aria-label=\"Citations loaded\"></div>',\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                <h3>\n                    <span class=\"bald-text\">${data.citedByTotalTimesLabel}</span>\n                    <span>${data.item.citedCount}</span>\n                </h3>\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 += `<span class=\"hlFld-ContribAuthor\">${contributor.firstName} ${contributor.surname}, </span>`;\n                        });\n                    }\n\n                    let citationItem = `\n                        <li class=\"citedByEntry\">\n                            <span class=\"entryAuthor\">${entryAuthor}</span><span>${citation.itemTitle}</span>${\n                        citation.parentTitle ? `<span class=\"seriesTitle\">, ${citation.parentTitle}</span>` : ''\n                    }<span class=\"doi\">, ${citation.doi}</span>${\n                        citation.volume && citation.volume !== '0'\n                            ? `<span class=\"volume\">, <b>${citation.volume}</b></span>`\n                            : ''\n                    }${\n                        citation.issue && citation.issue !== '0' ? `<span class=\"issue\">, ${citation.issue}</span>` : ''\n                    }${\n                        citation.firstPage\n                            ? `<span class=\"page-range\">, (${citation.firstPage}${\n                                  citation.lastPage ? `-${citation.lastPage}` : ''\n                              })</span>`\n                            : ''\n                    }${citation.year ? `<span class=\"pub-date\">, (${citation.year})</span>` : ''}<span>.</span>\n                            <div class=\"extra-links\">\n                                <a href=\"${link}\" class=\"visitable\">${label}</a>\n                            </div>\n                        </li>`;\n\n                    parentUl.insertAdjacentHTML('beforeend', citationItem);\n                });\n            }\n            if (data.seeMoreLink) {\n                let seeMoreText = `<li class=\"citedByEntry seeMoreWrapper\"><a href=\"javascript:void(0)\" data-source=\"${data.seeMoreLink}\" class=\"cited-by__see-more\" role=\"button\">See more</a></li>`;\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                '<li class=\"loading-content\" tabindex=\"0\"><span role=\"alert\" aria-label=\"loading citations\"><span aria-hidden=\"true\">loading citations</span></span><div class=\"loading\"></div></li>',\n            citedByListContent: '<ul class=\"rlist cited-by__list\"></ul><div class=\"cited-by__alert\"></div>',\n            citationsLoadedAlert:\n                '<div class=\"sr-only\" tabindex=\"-1\" role=\"alert\" aria-label=\"Citations loaded\"></div>',\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                <h3>\n                    <span class=\"bald-text\">${data.citedByTotalTimesLabel}</span>\n                    <span>${data.item.citedCount}</span>\n                </h3>\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 += `<span class=\"hlFld-ContribAuthor\">${contributor.firstName} ${contributor.surname}, </span>`;\n                        });\n                    }\n\n                    let citationItem = `\n                        <li class=\"citedByEntry\">\n                            <span class=\"entryAuthor\">${entryAuthor}</span><span>${citation.itemTitle}</span>${\n                        citation.parentTitle ? `<span class=\"seriesTitle\">, ${citation.parentTitle}</span>` : ''\n                    }<span class=\"doi\">, ${citation.doi}</span>${\n                        citation.volume && citation.volume !== '0'\n                            ? `<span class=\"volume\">, <b>${citation.volume}</b></span>`\n                            : ''\n                    }${\n                        citation.issue && citation.issue !== '0' ? `<span class=\"issue\">, ${citation.issue}</span>` : ''\n                    }${\n                        citation.firstPage\n                            ? `<span class=\"page-range\">, (${citation.firstPage}${\n                                  citation.lastPage ? `-${citation.lastPage}` : ''\n                              })</span>`\n                            : ''\n                    }${citation.year ? `<span class=\"pub-date\">, (${citation.year})</span>` : ''}<span>.</span>\n                        <div class=\"extra-links ${citedBy.isGetFTRCitedByEnabled ? 'getFTR' : ''}\">\n                            ${\n                                citedBy.isGetFTRCitedByEnabled\n                                    ? `<span class=\"hidden data-doi\">${citation.doi}</span><div class=\"getFTR__content getFTR__placeholder\"></div>`\n                                    : `<a href=\"${link}\" class=\"visitable\">${label}</a>`\n                            }\n                          \n                        </div>\n                    </li>`;\n\n                    parentUl.insertAdjacentHTML('beforeend', citationItem);\n                });\n            }\n            if (data.seeMoreLink) {\n                let seeMoreText = `<li class=\"citedByEntry seeMoreWrapper\"><a href=\"javascript:void(0)\" data-source=\"${data.seeMoreLink}\" class=\"cited-by__see-more\" role=\"button\">See more</a></li>`;\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":""}