{"version":3,"file":"js/module_events.contributions.77e4a9ec.bundle.js","mappings":"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","sources":["webpack:///indico/modules/events/contributions/client/js/PublicationModal.jsx","webpack:///indico/modules/events/contributions/client/js/PublicationButton.jsx","webpack:///indico/modules/events/contributions/client/js/PublicationSwitch.jsx","webpack:///indico/modules/events/contributions/client/js/index.jsx"],"sourcesContent":["// This file is part of Indico.\n// Copyright (C) 2002 - 2024 CERN\n//\n// Indico is free software; you can redistribute it and/or\n// modify it under the terms of the MIT License; see the\n// LICENSE file for more details.\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport {Header, Modal, Button, List} from 'semantic-ui-react';\n\nimport {Translate} from 'indico/react/i18n';\n\nexport default function PublicationModal({open, setModalOpen, trigger, published, onClick}) {\n return (\n setModalOpen(false)} size=\"tiny\" trigger={trigger} closeIcon>\n \n \n {published ? (\n <>\n

\n \n Are you sure you want to change the contribution list back to draft mode?\n \n

\n

\n By doing so the following menu items won't be accessible:\n

\n \n ) : (\n <>\n

\n Are you sure you want to publish the contribution list?\n

\n

\n By doing so the following menu items will be accessible:\n

\n \n )}\n \n \n Contribution List\n \n \n My Contributions\n \n \n Author List\n \n \n Speaker List\n \n \n Timetable\n \n \n Book of Abstracts\n \n \n
\n \n \n \n \n
\n );\n}\n\nPublicationModal.propTypes = {\n open: PropTypes.bool.isRequired,\n setModalOpen: PropTypes.func.isRequired,\n trigger: PropTypes.node.isRequired,\n published: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n","// This file is part of Indico.\n// Copyright (C) 2002 - 2024 CERN\n//\n// Indico is free software; you can redistribute it and/or\n// modify it under the terms of the MIT License; see the\n// LICENSE file for more details.\n\nimport publicationURL from 'indico-url:contributions.manage_publication';\n\nimport PropTypes from 'prop-types';\nimport React, {useState} from 'react';\n\nimport {IButton} from 'indico/react/components';\nimport {Translate} from 'indico/react/i18n';\nimport {handleAxiosError, indicoAxios} from 'indico/utils/axios';\n\nimport PublicationModal from './PublicationModal';\n\nexport default function PublicationButton({eventId, onSuccess}) {\n const url = publicationURL({event_id: eventId});\n const [modalOpen, setModalOpen] = useState(false);\n\n const onClick = async () => {\n try {\n await indicoAxios.put(url);\n } catch (error) {\n return handleAxiosError(error);\n }\n onSuccess();\n setModalOpen(false);\n };\n\n const trigger = (\n setModalOpen(true)}>\n Publish contributions\n \n );\n\n return (\n \n );\n}\n\nPublicationButton.propTypes = {\n eventId: PropTypes.string.isRequired,\n onSuccess: PropTypes.func.isRequired,\n};\n","// This file is part of Indico.\n// Copyright (C) 2002 - 2024 CERN\n//\n// Indico is free software; you can redistribute it and/or\n// modify it under the terms of the MIT License; see the\n// LICENSE file for more details.\n\nimport publicationURL from 'indico-url:contributions.manage_publication';\n\nimport PropTypes from 'prop-types';\nimport React, {useState} from 'react';\nimport {Checkbox} from 'semantic-ui-react';\n\nimport {useTogglableValue} from 'indico/react/hooks';\nimport {Translate} from 'indico/react/i18n';\n\nimport PublicationModal from './PublicationModal';\n\nexport default function PublicationSwitch({eventId}) {\n const [modalOpen, setModalOpen] = useState(false);\n\n const [published, togglePublished, loading, saving] = useTogglableValue(\n publicationURL({event_id: eventId})\n );\n\n if (loading) {\n return null;\n }\n\n const trigger = (\n setModalOpen(true)}\n checked={published}\n disabled={saving}\n />\n );\n\n return (\n {\n togglePublished();\n setModalOpen(false);\n }}\n />\n );\n}\n\nPublicationSwitch.propTypes = {\n eventId: PropTypes.string.isRequired,\n};\n","// This file is part of Indico.\n// Copyright (C) 2002 - 2024 CERN\n//\n// Indico is free software; you can redistribute it and/or\n// modify it under the terms of the MIT License; see the\n// LICENSE file for more details.\n\n/* global showUndoWarning:false, setupListGenerator:false, setupSearchBox:false */\n/* global reloadManagementAttachmentInfoColumn:false, ajaxDialog:true, handleAjaxError:true */\n/* global enableIfChecked:true */\n\nimport fileTypesURL from 'indico-url:event_editing.api_file_types';\nimport paperInfoURL from 'indico-url:papers.api_paper_details';\n\nimport _ from 'lodash';\nimport moment from 'moment';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport 'indico/modules/events/util/types_dialog';\nimport 'indico/react/components/AffiliationPopup';\nimport EditableSubmissionButton from 'indico/modules/events/editing/editing/EditableSubmissionButton';\nimport {IButton, ICSCalendarLink} from 'indico/react/components';\nimport {Translate} from 'indico/react/i18n';\nimport {indicoAxios, handleAxiosError} from 'indico/utils/axios';\nimport {camelizeKeys} from 'indico/utils/case';\nimport {$T} from 'indico/utils/i18n';\n\nimport PublicationButton from './PublicationButton';\nimport PublicationSwitch from './PublicationSwitch';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const calendarContainer = document.querySelector('#contribution-calendar-link');\n\n if (!calendarContainer) {\n return;\n }\n\n const {contributionId, eventId} = calendarContainer.dataset;\n\n ReactDOM.render(\n (\n \n )}\n options={[{key: 'contribution', text: Translate.string('Contribution'), extraParams: {}}]}\n />,\n calendarContainer\n );\n});\n\n(function(global) {\n global.setupEditableSubmissionButton = async function setupEditableSubmissionButton() {\n const editableSubmissionButton = document.querySelector('#editable-submission-button');\n if (!editableSubmissionButton) {\n return;\n }\n const availableTypes = JSON.parse(editableSubmissionButton.dataset.availableTypes);\n const {eventId, contributionId, contributionCode} = editableSubmissionButton.dataset;\n\n let fileTypeResponses, paperInfoResponse;\n let lastRevFiles = [];\n try {\n [fileTypeResponses, paperInfoResponse] = await Promise.all([\n Promise.all(\n availableTypes.map(type => indicoAxios.get(fileTypesURL({event_id: eventId, type})))\n ),\n indicoAxios.get(paperInfoURL({event_id: eventId, contrib_id: contributionId}), {\n validateStatus: status => (status >= 200 && status < 300) || status === 404,\n headers: {'X-Indico-No-Report-Error': '404'},\n }),\n ]);\n } catch (e) {\n handleAxiosError(e);\n return;\n }\n const fileTypes = _.fromPairs(\n fileTypeResponses.map((response, index) => [\n availableTypes[index],\n camelizeKeys(response.data),\n ])\n );\n\n if (paperInfoResponse) {\n const {isInFinalState, lastRevision} = camelizeKeys(paperInfoResponse.data);\n if (isInFinalState && lastRevision) {\n lastRevFiles = lastRevision.files;\n }\n }\n\n ReactDOM.render(\n ({...rest, paperId: id}))}\n />,\n editableSubmissionButton\n );\n };\n\n function setupPublicationButton() {\n const element = document.querySelector('#pub-switch');\n ReactDOM.render(, element);\n }\n\n global.setupContributionConfig = function setupContributionConfig() {\n setupPublicationButton();\n };\n\n function setupTableSorter(selector) {\n $(selector).tablesorter({\n cssAsc: 'header-sort-asc',\n cssDesc: 'header-sort-desc',\n cssInfoBlock: 'avoid-sort',\n headerTemplate: '',\n sortList: [[1, 0]],\n });\n }\n\n function patchObject(url, method, data) {\n return $.ajax({\n url,\n method,\n data: JSON.stringify(data),\n dataType: 'json',\n contentType: 'application/json',\n error: handleAjaxError,\n complete: IndicoUI.Dialogs.Util.progress(),\n });\n }\n\n function setupSessionPicker(createURL, timetableRESTURL) {\n const $contributionList = $('#contribution-list');\n $contributionList.on('click', '.session-item-picker', function() {\n $(this).itempicker({\n filterPlaceholder: $T.gettext('Filter sessions'),\n containerClasses: 'session-item-container',\n items: $contributionList.find('table').data('session-items'),\n footerElements: [\n {\n title: $T.gettext('Assign new session'),\n onClick(itemPicker) {\n ajaxDialog({\n title: $T.gettext('Add new session'),\n url: createURL,\n onClose(data) {\n if (data) {\n $('.session-item-picker').each(function() {\n const $this = $(this);\n if ($this.data('indicoItempicker')) {\n $this.itempicker('updateItemList', data.sessions);\n } else {\n $contributionList.find('table').data('session-items', data.sessions);\n }\n });\n itemPicker.itempicker('selectItem', data.new_session_id);\n }\n },\n });\n },\n },\n ],\n onSelect(newSession, oldSession) {\n const $this = $(this);\n const styleObject = $this[0].style;\n const postData = {session_id: newSession ? newSession.id : null};\n\n return patchObject($this.data('href'), $this.data('method'), postData).then(function(\n data\n ) {\n const label = newSession ? newSession.title : $T.gettext('No session');\n $this.find('.label').text(label);\n\n if (!newSession) {\n styleObject.removeProperty('color');\n styleObject.removeProperty('background');\n } else {\n styleObject.setProperty('color', `#${newSession.colors.text}`, 'important');\n styleObject.setProperty(\n 'background',\n `#${newSession.colors.background}`,\n 'important'\n );\n }\n\n if (data.unscheduled) {\n const row = $this.closest('tr');\n const startDateCol = row.find('td.start-date > .vertical-aligner');\n const oldLabelHtml = startDateCol.children().detach();\n\n startDateCol.html($('', {text: $T.gettext('Not scheduled')}));\n /* eslint-disable max-len */\n showUndoWarning(\n $T\n .gettext(\"'{0}' has been unscheduled due to the session change.\")\n .format(row.data('title')),\n $T.gettext('Undo successful! Timetable entry and session have been restored.'),\n function() {\n return patchObject(timetableRESTURL, 'POST', data.undo_unschedule).then(function(\n data\n ) {\n oldLabelHtml\n .filter('.label')\n // eslint-disable-next-line prefer-template\n .text(' ' + moment.utc(data.start_dt).format('DD/MM/YYYY HH:mm'));\n startDateCol.html(oldLabelHtml);\n $this.itempicker('selectItem', oldSession ? oldSession.id : null);\n });\n }\n );\n }\n });\n },\n });\n });\n }\n\n function setupTrackPicker(createURL) {\n const $contributionList = $('#contribution-list');\n $contributionList.on('click', '.track-item-picker', function() {\n $(this).itempicker({\n filterPlaceholder: $T.gettext('Filter tracks'),\n containerClasses: 'track-item-container',\n uncheckedItemIcon: '',\n items: $contributionList.find('table').data('track-items'),\n footerElements: [\n {\n title: $T.gettext('Add new track'),\n onClick(trackItemPicker) {\n ajaxDialog({\n title: $T.gettext('Add new track'),\n url: createURL,\n onClose(data) {\n if (data) {\n $('.track-item-picker').each(function() {\n const $this = $(this);\n if ($this.data('indicoItempicker')) {\n $this.itempicker('updateItemList', data.tracks);\n } else {\n $contributionList.find('table').data('track-items', data.tracks);\n }\n });\n trackItemPicker.itempicker('selectItem', data.new_track_id);\n }\n },\n });\n },\n },\n ],\n onSelect(newTrack) {\n const $this = $(this);\n const postData = {track_id: newTrack ? newTrack.id : null};\n\n return patchObject($this.data('href'), $this.data('method'), postData).then(function() {\n const label = newTrack ? newTrack.title : $T.gettext('No track');\n $this.find('.label').text(label);\n });\n },\n });\n });\n }\n\n function setupStartDateQBubbles() {\n $('.js-contrib-start-date').each(function() {\n const $this = $(this);\n\n $this.ajaxqbubble({\n url: $this.data('href'),\n qBubbleOptions: {\n style: {\n classes: 'qbubble-contrib-start-date qtip-allow-overflow',\n },\n },\n });\n });\n }\n\n function setupDurationQBubbles() {\n $('.js-contrib-duration').each(function() {\n const $this = $(this);\n\n $this.ajaxqbubble({\n url: $this.data('href'),\n qBubbleOptions: {\n style: {\n classes: 'qbubble-contrib-duration',\n },\n },\n });\n });\n }\n\n global.setupContributionList = function setupContributionList(options) {\n options = $.extend(\n {\n createSessionURL: null,\n createTrackURL: null,\n timetableRESTURL: null,\n },\n options\n );\n\n const filterConfig = {\n itemHandle: 'tr',\n listItems: '#contribution-list tbody tr',\n term: '#search-input',\n state: '#filtering-state',\n placeholder: '#filter-placeholder',\n };\n\n $('.list [data-toggle=dropdown]')\n .closest('.toolbar')\n .dropdown();\n setupTableSorter('#contribution-list .tablesorter');\n setupSessionPicker(options.createSessionURL, options.timetableRESTURL);\n setupTrackPicker(options.createTrackURL);\n setupStartDateQBubbles();\n setupDurationQBubbles();\n enableIfChecked('#contribution-list', 'input[name=contribution_id]', '.js-enable-if-checked');\n\n const applySearchFilters = setupListGenerator(filterConfig);\n\n $('#contribution-list')\n .on('indico:htmlUpdated', function() {\n setupTableSorter('#contribution-list .tablesorter');\n setupStartDateQBubbles();\n setupDurationQBubbles();\n _.defer(applySearchFilters);\n })\n .on('attachments:updated', function(evt) {\n const target = $(evt.target);\n reloadManagementAttachmentInfoColumn(target.data('locator'), target.closest('td'));\n });\n $('.js-submit-form').on('click', function(e) {\n e.preventDefault();\n const $this = $(this);\n if (!$this.hasClass('disabled')) {\n $('#contribution-list form')\n .attr('action', $this.data('href'))\n .submit();\n }\n });\n };\n\n global.setupSubContributionList = function setupSubContributionList() {\n $('#subcontribution-list [data-toggle=dropdown]')\n .closest('.toolbar')\n .dropdown();\n setupTableSorter('#subcontribution-list .tablesorter');\n enableIfChecked(\n '#subcontribution-list',\n 'input[name=subcontribution_id]',\n '#subcontribution-list .js-enable-if-checked'\n );\n\n $('#subcontribution-list td.subcontribution-title').on('mouseenter', function() {\n const $this = $(this);\n if (this.offsetWidth < this.scrollWidth && !$this.attr('title')) {\n $this.attr('title', $this.text());\n }\n });\n $('#subcontribution-list').on('attachments:updated', function(evt) {\n const target = $(evt.target);\n reloadManagementAttachmentInfoColumn(target.data('locator'), target.closest('td'));\n $(this).trigger('ajaxDialog:setData', [true]);\n });\n $('#subcontribution-list').on('indico:htmlUpdated', function() {\n $(this).trigger('ajaxDialog:setData', [true]);\n });\n\n $('#subcontribution-list table').sortable({\n items: '.js-sortable-subcontribution-row',\n handle: '.js-sort-handle',\n placeholder: 'sortable-placeholder',\n tolerance: 'pointer',\n distance: 10,\n axis: 'y',\n containment: '#subcontribution-list table',\n start(e, ui) {\n ui.placeholder.height(ui.helper.outerHeight());\n },\n update(e, ui) {\n const self = $(this);\n\n $.ajax({\n url: ui.item.data('sort-url'),\n method: 'POST',\n data: {subcontrib_ids: self.sortable('toArray')},\n error: handleAjaxError,\n });\n\n self.trigger('ajaxDialog:setData', [true]);\n },\n });\n };\n\n global.setupEventDisplayContributionList = function setupEventDisplayContributionList() {\n const filterConfig = {\n itemHandle: 'div.contribution-row',\n listItems: '#display-contribution-list div.contribution-row',\n term: '#search-input',\n state: '#filtering-state',\n placeholder: '#filter-placeholder',\n };\n\n const applySearchFilters = setupListGenerator(filterConfig);\n applySearchFilters();\n };\n\n global.setupEventDisplayAuthorList = function setupEventDisplayAuthorList() {\n const filterConfig = {\n itemHandle: '.author-list > li',\n listItems: '.author-list > li',\n term: '#search-input',\n state: '#filtering-state',\n placeholder: '#filter-placeholder',\n };\n\n const applySearchFilters = setupSearchBox(filterConfig);\n applySearchFilters();\n };\n\n global.setupDraftModeWarning = function setupDraftModeWarning() {\n const warning = document.querySelector('#draft-mode-warning');\n const buttonContainer = document.querySelector('#draft-mode-warning-button-container');\n if (warning && buttonContainer) {\n ReactDOM.render(\n warning.classList.add('hidden')}\n />,\n buttonContainer\n );\n }\n };\n})(window);\n"],"names":["PublicationModal","_ref","open","setModalOpen","trigger","published","onClick","React","Modal","onClose","size","closeIcon","Header","content","Translate","string","Content","List","bulleted","Item","Actions","Button","primary","propTypes","PropTypes","isRequired","publicationURL","_buildFlaskURL","bind","endpoint","rules","args","converters","event_id","defaults","trace","data","isDynamic","PublicationButton","eventId","onSuccess","url","modalOpen","useState","IButton","async","indicoAxios","put","error","handleAxiosError","PublicationSwitch","togglePublished","loading","saving","useTogglableValue","Checkbox","label","toggle","checked","disabled","fileTypesURL","type","paperInfoURL","contrib_id","document","addEventListener","calendarContainer","querySelector","contributionId","dataset","ReactDOM","ICSCalendarLink","params","renderButton","classes","icon","title","options","key","text","extraParams","global","setupTableSorter","selector","$","tablesorter","cssAsc","cssDesc","cssInfoBlock","headerTemplate","sortList","patchObject","method","ajax","JSON","stringify","dataType","contentType","handleAjaxError","complete","IndicoUI","Dialogs","Util","progress","setupStartDateQBubbles","each","$this","this","ajaxqbubble","qBubbleOptions","style","setupDurationQBubbles","setupEditableSubmissionButton","editableSubmissionButton","availableTypes","parse","contributionCode","fileTypeResponses","paperInfoResponse","lastRevFiles","Promise","all","map","get","validateStatus","status","headers","e","fileTypes","_fromPairs","response","index","camelizeKeys","isInFinalState","lastRevision","files","EditableSubmissionButton","uploadableFiles","id","_objectSpread","_objectWithoutProperties","_excluded","paperId","setupContributionConfig","element","setupPublicationButton","setupContributionList","extend","createSessionURL","createTrackURL","timetableRESTURL","closest","dropdown","createURL","$contributionList","on","itempicker","filterPlaceholder","$T","gettext","containerClasses","items","find","footerElements","itemPicker","ajaxDialog","sessions","new_session_id","onSelect","newSession","oldSession","styleObject","postData","session_id","then","setProperty","colors","background","removeProperty","unscheduled","row","startDateCol","oldLabelHtml","children","detach","html","showUndoWarning","format","undo_unschedule","filter","moment","start_dt","setupSessionPicker","uncheckedItemIcon","trackItemPicker","tracks","new_track_id","newTrack","track_id","setupTrackPicker","enableIfChecked","applySearchFilters","setupListGenerator","itemHandle","listItems","term","state","placeholder","_defer","evt","target","reloadManagementAttachmentInfoColumn","preventDefault","hasClass","attr","submit","setupSubContributionList","offsetWidth","scrollWidth","sortable","handle","tolerance","distance","axis","containment","start","ui","height","helper","outerHeight","update","self","item","subcontrib_ids","setupEventDisplayContributionList","setupEventDisplayAuthorList","setupSearchBox","setupDraftModeWarning","warning","buttonContainer","classList","add","window"],"sourceRoot":""}