{"version":3,"sources":["webpack:///./widgets/axel-publication-content/js/CabiArticleStore.js","webpack:///./widgets/axel-publication-content/js/CabiArticleView.js","webpack:///./widgets/axel-publication-content/js/config.js","webpack:///./widgets/axel-publication-content/js/templates.js","webpack:///./widgets/axel-publication-content/js/axel-publication-content.js"],"names":["CabiArticleStore","_ArticleStore","config","processors","arguments","length","undefined","options","_classCallCheck","_callSuper","_inherits","_createClass","key","value","defaultProcessorTitleCustom","obj","title","type","_parentWidget$parentN","parentWidget","closest","parentNode","querySelector","ArticleStore","CabiArticleView","_ArticleView","source","_this","classNames","selectors","msg","templates","cabiWidgetIndex","addEventListeners","_this2","_superPropGet","document","body","addEventListener","e","enhanceCabiWidget","initEnhancers","this","copySearchQuery","error","console","_this3","tableHTML","target","table","detail","name","id","s","processorTitleSelector","data","tables","article","newObj","filter","SmartTables","smartTables","forEach","index","enhanceMarkupButton","collateral","pill","tablesTab","main","collateralTabIds","mediaTables","_toConsumableArray","childNodes","child","tagName","remove","populatePaneData","fv","viewer","sourceData","populateLightbox","refreshDirectory","getArticle","dataset","_articleSections$filt","searchSection","sectionNavbar","sections","h2","outerText","sectionParent","heading","statusElement","createElement","classList","add","innerHTML","btn","setAttribute","onclick","navigator","clipboard","writeText","item","textContent","then","status","setTimeout","append","ArticleView","_objectSpread","photoConfig","articlePageHeader","selector","cloneFromBody","renderingSettings","renderTitle","AFFILIATIONS","figureViewer","sidePanelRendersOpen","sidePanelRendersAlwaysOpen","enabled","photoTemplates","initialise"],"mappings":"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","file":"js/axel-publication-content-705cff8766f7a9900aca.js","sourcesContent":["import ArticleStore from 'ui-article/axel-publication-content/js/ArticleStore';\n\nexport default class CabiArticleStore extends ArticleStore {\n constructor(config, processors = {}, options = {}) {\n super(config, processors, options);\n }\n\n defaultProcessorTitleCustom(obj, title, type) {\n if (!title && type === 'tables') {\n const parentWidget = obj.closest('.cabi-widget');\n title = parentWidget?.parentNode?.querySelector('h2');\n }\n return title;\n }\n}\n","import ArticleView from 'ui-article/axel-publication-content/js/ArticleView';\nimport SmartTables from 'ui-article/axel-publication-content/js/SmartTables';\n\nexport default class CabiArticleView extends ArticleView {\n constructor(source, config = {classNames: {}, selectors: {}, msg: {}}, templates) {\n super(source, config, templates);\n this.cabiWidgetIndex = 0;\n }\n\n addEventListeners() {\n super.addEventListeners();\n document.body.addEventListener('cabi-widget-loaded', e => this.enhanceCabiWidget(e));\n }\n\n initEnhancers() {\n super.initEnhancers();\n\n try {\n this.copySearchQuery();\n } catch (error) {\n console.error('Article view - searchRxiv markup:', error);\n }\n }\n\n enhanceCabiWidget(e) {\n const tableHTML = e.target;\n const table = tableHTML.querySelector('.table');\n if (e.detail.name !== 'distribution-table' || !table) return;\n\n table.addEventListener('DOMSubtreeModified', () => {\n try {\n // add missing table id\n if (!table.id) {\n table.id = tableHTML.parentNode.id + '-cabi-widget-' + this.cabiWidgetIndex;\n this.cabiWidgetIndex++;\n }\n\n // reprocess tables data\n this.source.s.processorTitleSelector = this.source.s.processorTitleSelector + ', h2';\n this.source.data.tables = this.source.processors.tables(document.querySelector(this.source.s.article));\n } catch (error) {\n console.error('cabi-widget reprocess data', error);\n }\n\n // visually enhance table\n try {\n const newObj = this.source.data.tables.filter(obj => obj.id === table.id);\n new SmartTables(this.config.smartTables, newObj);\n newObj.forEach((obj, index) => this.enhanceMarkupButton(obj, index));\n } catch (error) {\n console.error('cabi-widget enhance table', error);\n }\n\n // update collateral tables pane\n try {\n const collateral = this.pill;\n if (collateral) {\n const tablesTab = collateral.main.querySelector('#' + collateral.collateralTabIds.mediaTables);\n [...tablesTab.childNodes].forEach(child => {\n if (child.tagName !== 'HEADER') child.remove();\n });\n collateral.populatePaneData(this.source.data.tables, 'tables', tablesTab);\n }\n } catch (error) {\n console.error('cabi-widget update collateral', error);\n }\n\n // update figure viewer\n try {\n const fv = this.viewer;\n if (fv) {\n fv.sourceData = this.source.data;\n fv.populateLightbox();\n fv.refreshDirectory();\n }\n } catch (error) {\n console.error('cabi-widget update figure viewer', error);\n }\n });\n }\n\n copySearchQuery() {\n const articleType = this.getArticle().dataset.type;\n if (articleType === 'search-string') {\n const articleSections = this.sectionNavbar.data.sections;\n const searchSection = articleSections.filter(h2 => h2.outerText === 'Search')[0]?.sectionParent;\n if (!searchSection) return;\n\n const heading = searchSection.querySelector('h2');\n\n const statusSelector = 'copy-query__status';\n const statusElement = document.createElement('span');\n statusElement.classList.add(statusSelector);\n statusElement.innerHTML =\n 'Copied to clipboardCopying failed';\n\n const btn = document.createElement('button');\n btn.setAttribute('class', 'btn btn--primary copy-to-clipboard');\n btn.innerHTML = 'Copy to clipboard';\n btn.onclick = () =>\n navigator.clipboard.writeText(searchSection.childNodes.item(1).textContent).then(\n () => {\n const status = heading.querySelector('.' + statusSelector);\n status.classList.add('success');\n setTimeout(() => status.classList.remove('success'), 3000);\n },\n () => {\n const status = heading.querySelector('.' + statusSelector);\n status.classList.add('failed');\n setTimeout(() => status.classList.remove('failed'), 3000);\n }\n );\n heading?.append(btn, statusElement);\n }\n }\n}\n","import photoConfig from 'ui-theme/widgets/axel-publication-content/js/config';\n\nconst config = {\n ...photoConfig,\n articlePageHeader: {\n ...photoConfig.articlePageHeader,\n selector: 'header.header, #js-secondary-menu',\n },\n cloneFromBody: {\n ...photoConfig.cloneFromBody,\n tables: {\n ...photoConfig.cloneFromBody.tables,\n renderingSettings: {\n ...photoConfig.cloneFromBody.tables.renderingSettings,\n renderTitle: true,\n },\n },\n },\n collateral: {\n ...photoConfig.collateral,\n AFFILIATIONS: '',\n },\n figureViewer: {\n ...photoConfig.figureViewer,\n sidePanelRendersOpen: true,\n sidePanelRendersAlwaysOpen: true,\n },\n smartTables: {\n ...photoConfig.smartTables,\n enabled: true,\n },\n};\n\nexport default config;\n","import photoTemplates from 'ui-theme/widgets/axel-publication-content/js/templates';\n\nconst templates = {\n ...photoTemplates,\n};\n\nexport default templates;\n","import {initialise} from 'ui-article/axel-publication-content/js';\nimport ArticleStore from './CabiArticleStore';\nimport ArticleView from './CabiArticleView';\nimport config from './config';\nimport templates from './templates';\n\ninitialise({ArticleStore, ArticleView, config, templates});\n"],"sourceRoot":""}