{"version":3,"file":"js/module_categories.40301d83.bundle.js","mappings":"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","sources":["webpack:///indico/modules/categories/client/js/display.js","webpack:///indico/modules/categories/client/js/base.jsx","webpack:///indico/modules/categories/client/js/favorite.jsx","webpack:///indico/modules/categories/client/js/components/CategoryModeration.module.scss?de87","webpack:///indico/modules/categories/client/js/components/CategoryModeration.jsx","webpack:///indico/modules/categories/client/js/context.js","webpack:///indico/modules/categories/client/js/components/CategoryStatistics.jsx","webpack:///indico/modules/categories/client/js/index.js"],"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\n/* global handleAjaxError:false */\n\nimport {$T} from 'indico/utils/i18n';\n\n(function(global) {\n global.setupCategoryDisplaySubcatList = function setupCategoryDisplaySubcatList() {\n const url = $('.category-list').data('subcat-info-url');\n if (url === undefined) {\n // there's no .category-list if there are no subcategories\n return;\n }\n $.ajax({\n url,\n dataType: 'json',\n success(data) {\n Object.entries(data.event_counts).forEach(([id, count]) => {\n const text = !count.value\n ? $T.gettext('empty')\n : $T.ngettext('{0} event', '{0} events', count.value).format(count.pretty);\n $(`#category-event-count-${id}`).text(text);\n });\n },\n });\n };\n\n global.setupCategoryDisplayEventList = function setupCategoryDisplayEventList(\n showFutureEvents,\n showPastEvents,\n isFlat,\n requestParams\n ) {\n const $eventList = $('.event-list');\n const $futureEvents = $eventList.find('.future-events');\n const $pastEvents = $eventList.find('.past-events');\n\n if (isFlat) {\n requestParams.flat = 1;\n }\n\n setupToggleEventListButton($futureEvents, onToggleFutureEvents);\n setupToggleEventListButton($pastEvents, onTogglePastEvents);\n\n if (showFutureEvents && !isFlat) {\n $futureEvents\n .find('.js-toggle-list')\n .first()\n .trigger('click', true);\n }\n\n if (showPastEvents && !isFlat) {\n $pastEvents\n .find('.js-toggle-list')\n .first()\n .trigger('click', true);\n }\n\n function onToggleFutureEvents(shown) {\n if (isFlat) {\n return;\n }\n $.ajax({\n url: $eventList.data('show-future-events-url'),\n method: shown ? 'PUT' : 'DELETE',\n error: handleAjaxError,\n });\n }\n\n function onTogglePastEvents(shown) {\n if (isFlat) {\n return;\n }\n $.ajax({\n url: $eventList.data('show-past-events-url'),\n method: shown ? 'PUT' : 'DELETE',\n error: handleAjaxError,\n });\n }\n\n function setupToggleEventListButton(wrapper, callback) {\n const $wrapper = $(wrapper);\n const $content = $wrapper.find('.events');\n\n function updateMessage(visible) {\n $wrapper.find('.js-hide-message').toggle(visible);\n $wrapper.find('.js-show-message').toggle(!visible);\n }\n updateMessage(!$content.is(':empty'));\n\n function displaySpinner(visible) {\n $wrapper.find('.js-toggle-list').toggle(!visible);\n $wrapper.find('.js-spinner').toggle(visible);\n }\n displaySpinner(false);\n\n $wrapper.find('.js-toggle-list').on('click', function(evt, triggeredAutomatically) {\n evt.preventDefault();\n let visible;\n if ($content.is(':empty')) {\n visible = true;\n displaySpinner(true);\n $.ajax({\n url: $content.data('event-list-url'),\n data: {\n before: $content.data('event-list-before'),\n after: $content.data('event-list-after'),\n ...requestParams,\n },\n error: handleAjaxError,\n success(data) {\n $content.html(data.html);\n $content.show();\n updateMessage(true);\n displaySpinner(false);\n },\n });\n } else if ($content.is(':visible')) {\n visible = false;\n $content.hide();\n updateMessage(false);\n } else {\n visible = true;\n $content.show();\n updateMessage(true);\n }\n if (!triggeredAutomatically && callback) {\n callback(visible);\n }\n });\n }\n };\n})(window);\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 React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport {IButton, ICSCalendarLink} from 'indico/react/components';\nimport {Translate} from 'indico/react/i18n';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const calendarContainer = document.querySelector('#category-calendar-link');\n\n if (!calendarContainer) {\n return;\n }\n\n const categoryId = calendarContainer.dataset.categoryId;\n\n ReactDOM.render(\n (\n \n )}\n options={[{key: 'category', text: Translate.string('Category'), extraParams: {}}]}\n />,\n calendarContainer\n );\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 React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport {Favorite} from 'indico/react/components';\nimport {Translate} from 'indico/react/i18n';\n\ndocument.addEventListener('DOMContentLoaded', () => {\n const favoriteContainer = document.querySelector('#fav-button');\n\n if (!favoriteContainer) {\n return;\n }\n\n const categoryId = favoriteContainer.dataset.categoryId;\n const favorited = favoriteContainer.dataset.favorited !== undefined;\n\n ReactDOM.render(\n ,\n favoriteContainer\n );\n});\n","// extracted by mini-css-extract-plugin\nexport default {\"table\":\"categories-client-js-components-___CategoryModeration-module__table___Muk5s\",\"no-border\":\"categories-client-js-components-___CategoryModeration-module__no-border___3wNOu\",\"user\":\"categories-client-js-components-___CategoryModeration-module__user___D7Q+H\",\"avatar\":\"categories-client-js-components-___CategoryModeration-module__avatar___gg2Un\",\"table-footer\":\"categories-client-js-components-___CategoryModeration-module__table-footer___LCAAT\",\"disabled\":\"categories-client-js-components-___CategoryModeration-module__disabled___kBJ15\",\"text-separator\":\"categories-client-js-components-___CategoryModeration-module__text-separator___n+kI6\"};","// 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 eventRequestsURL from 'indico-url:categories.api_event_move_requests';\nimport eventURL from 'indico-url:events.display';\n\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, {useEffect, useState} from 'react';\nimport {Button, Checkbox, Image, Input, Placeholder, Table} from 'semantic-ui-react';\n\nimport {handleSubmitError} from 'indico/react/forms';\nimport {useIndicoAxios} from 'indico/react/hooks';\nimport {Translate} from 'indico/react/i18n';\nimport {indicoAxios} from 'indico/utils/axios';\nimport './CategoryModeration.module.scss';\n\nfunction getEventTime({startDt, endDt}) {\n startDt = moment(startDt);\n endDt = moment(endDt);\n\n if (startDt.isSame(endDt, 'day')) {\n return `${startDt.format('L LT')} → ${endDt.format('LT')}`;\n } else {\n return `${startDt.format('L LT')} → ${endDt.format('L LT')}`;\n }\n}\n\nfunction PlaceholderTableRow() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nfunction MoveRequest({\n requestor,\n event,\n category,\n requestorComment,\n requestedDt,\n selected,\n onSelect,\n}) {\n const {fullName, avatarURL, affiliation} = requestor;\n return (\n <>\n \n \n \n \n \n \n \n {fullName} {affiliation && `(${affiliation})`}\n \n \n \n {event.title}\n \n {category ? (\n {category.chainTitles.join(' » ')}\n ) : (\n Unlisted event\n )}\n {getEventTime(event)}\n \n {moment(requestedDt).fromNow()}\n \n \n {requestorComment ? (\n \n \n \n {requestorComment}\n \n \n ) : null}\n \n );\n}\n\nMoveRequest.propTypes = {\n requestor: PropTypes.shape({\n fullName: PropTypes.string,\n avatarURL: PropTypes.string,\n affiliation: PropTypes.string,\n }).isRequired,\n event: PropTypes.shape({\n id: PropTypes.number.isRequired,\n title: PropTypes.string.isRequired,\n startDt: PropTypes.string.isRequired,\n endDt: PropTypes.string.isRequired,\n }).isRequired,\n category: PropTypes.shape({\n id: PropTypes.number.isRequired,\n chainTitles: PropTypes.arrayOf(PropTypes.string).isRequired,\n }),\n requestedDt: PropTypes.string.isRequired,\n requestorComment: PropTypes.string.isRequired,\n selected: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n};\n\nMoveRequest.defaultProps = {\n selected: false,\n category: null,\n};\n\nfunction RequestList({requests, onSubmit, loading}) {\n const [selected, _setSelected] = useState(new Set());\n const [reason, setReason] = useState('');\n const isAnySelected = selected.size > 0;\n\n const submit = accept => {\n _setSelected(new Set());\n onSubmit(Array.from(selected), accept, reason);\n };\n\n const select = id =>\n _setSelected(state => {\n const set = new Set([...state, id]);\n if (state.has(id)) {\n set.delete(id);\n }\n return set;\n });\n\n if (requests.length === 0 && !loading) {\n return There are no event move requests.;\n }\n\n return (\n \n \n \n \n User\n Event\n Category\n Event Date\n Requested Date\n \n \n \n {loading ? (\n \n ) : (\n requests.map(({id, requestor, requestorComment, event, category, requestedDt}) => (\n select(id)}\n />\n ))\n )}\n \n \n \n \n \n
\n submit(true)} color=\"teal\">\n Approve\n \n \n or\n \n setReason(value)}\n />\n \n and\n \n submit(false, reason)} color=\"red\">\n Reject\n \n
\n
\n
\n
\n
\n );\n}\n\nRequestList.propTypes = {\n requests: PropTypes.array.isRequired,\n onSubmit: PropTypes.func.isRequired,\n loading: PropTypes.bool,\n};\n\nRequestList.defaultProps = {\n loading: false,\n};\n\nexport default function CategoryModeration({categoryId}) {\n const {data, lastData, loading, reFetch} = useIndicoAxios(\n {url: eventRequestsURL({category_id: categoryId})},\n {camelize: true}\n );\n\n const setRequestsState = async (requests, accept, reason) => {\n const url = eventRequestsURL({category_id: categoryId});\n try {\n await indicoAxios.post(url, {requests, accept, reason});\n reFetch();\n } catch (e) {\n return handleSubmitError(e);\n }\n };\n\n const numRequests = data?.length;\n useEffect(() => {\n const badge = document.querySelector(\n '#side-menu-category-management-sidemenu .item.active .badge'\n );\n\n if (!badge || numRequests === undefined) {\n return;\n }\n\n if (numRequests) {\n badge.textContent = numRequests;\n } else {\n badge.style.display = 'none';\n }\n }, [numRequests]);\n\n if (!lastData) {\n return null;\n }\n\n return (\n \n );\n}\n\nCategoryModeration.propTypes = {\n categoryId: PropTypes.number.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 React from 'react';\n\nexport const LocaleContext = React.createContext(null);\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 categoryStatisticsURL from 'indico-url:categories.statistics_json';\n\nimport moment from 'moment';\nimport PropTypes from 'prop-types';\nimport React, {useContext, useMemo} from 'react';\nimport {Chart} from 'react-charts';\nimport {Container, Header, Segment, Statistic, Message, Loader} from 'semantic-ui-react';\n\nimport {useIndicoAxios} from 'indico/react/hooks';\nimport {Param, Translate} from 'indico/react/i18n';\n\nimport {LocaleContext} from '../context.js';\nimport './CategoryStatistics.module.scss';\n\nexport default function CategoryStatistics({categoryId}) {\n const {data, loading: isLoading} = useIndicoAxios(\n {url: categoryStatisticsURL({category_id: categoryId})},\n {camelize: true}\n );\n\n if (isLoading) {\n return ;\n } else if (!data) {\n return null;\n }\n\n return ;\n}\n\nCategoryStatistics.propTypes = {\n categoryId: PropTypes.number.isRequired,\n};\n\nfunction getGraphData(data) {\n const serialize = statsData => {\n const maxDate = parseInt(\n Object.keys(statsData)\n .reverse()\n .find(date => date <= data.maxYear + 3),\n 10\n );\n return [\n [moment(data.minYear - 1, 'YYYY'), null],\n ...Object.entries(statsData)\n .filter(([year]) => year <= maxDate && year >= data.minYear)\n .map(([year, number]) => [moment(year, 'YYYY'), number]),\n [moment(maxDate + 1, 'YYYY'), null],\n ];\n };\n\n const series = {type: 'bar'};\n const tooltip = {align: 'left', anchor: 'left'};\n const axes = [\n {primary: true, type: 'time', position: 'bottom'},\n {type: 'linear', position: 'left'},\n ];\n const eventGraph = [\n {\n label: Translate.string('Events'),\n data: serialize(data.events),\n },\n ];\n const contributionsGraph = [\n {\n label: Translate.string('Contributions'),\n data: serialize(data.contributions),\n },\n ];\n\n return {eventGraph, contributionsGraph, series, axes, tooltip};\n}\n\nfunction CategoryStatisticsDisplay({data}) {\n const lang = useContext(LocaleContext);\n const userLanguage = lang.replace('_', '-');\n const updatedTime = moment\n .utc(data.updated)\n .local()\n .format('LLL');\n const fmt = new Intl.NumberFormat(userLanguage);\n const totalEvents = fmt.format(data.totalEvents);\n const totalContributions = fmt.format(data.totalContributions);\n const files = fmt.format(data.files);\n const users = fmt.format(data.users);\n const {eventGraph, contributionsGraph, series, axes, tooltip} = useMemo(\n () => getGraphData(data),\n [data]\n );\n\n return (\n \n \n \n
\n \n Number of events\n \n The year is the one of the start date of the event.\n \n \n
\n \n {eventGraph[0].data.length === 0 ? (\n \n No data available\n \n ) : (\n
\n \n
\n )}\n
\n
\n \n
\n \n Number of contributions\n \n The year is the one of the start date of the contribution.\n \n \n
\n \n {contributionsGraph[0].data.length === 0 ? (\n \n No data available\n \n ) : (\n
\n \n
\n )}\n
\n
\n
\n \n \n \n {totalEvents}\n \n Total number of events\n \n \n \n \n \n {totalContributions}\n \n Total number of contributions\n \n \n \n \n \n {files}\n \n Number of attachments\n \n \n \n {data.users !== undefined && (\n \n \n {users}\n \n Number of users\n \n \n \n )}\n \n \n Last updated on: \n \n
\n );\n}\n\nCategoryStatisticsDisplay.propTypes = {\n data: PropTypes.shape({\n contributions: PropTypes.object.isRequired,\n events: PropTypes.object.isRequired,\n files: PropTypes.number.isRequired,\n updated: PropTypes.string.isRequired,\n users: PropTypes.number,\n totalEvents: PropTypes.number.isRequired,\n totalContributions: PropTypes.number.isRequired,\n minYear: PropTypes.number.isRequired,\n maxYear: PropTypes.number.isRequired,\n }).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 categorySearchURL from 'indico-url:search.category_search';\nimport searchURL from 'indico-url:search.search';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport './display';\nimport './base';\nimport './favorite';\n\nimport SearchBox from 'indico/modules/search/components/SearchBox';\n\nimport CategoryModeration from './components/CategoryModeration';\nimport CategoryStatistics from './components/CategoryStatistics';\nimport {LocaleContext} from './context.js';\n\n(function(global) {\n document.addEventListener('DOMContentLoaded', () => {\n const domContainer = document.querySelector('#search-box');\n\n if (domContainer) {\n const category = JSON.parse(domContainer.dataset.category);\n const isAdmin = domContainer.dataset.isAdmin !== undefined;\n\n ReactDOM.render(\n React.createElement(SearchBox, {\n onSearch: (keyword, isGlobal, adminOverrideEnabled) => {\n const params = {q: keyword};\n if (isAdmin && adminOverrideEnabled) {\n params.admin_override_enabled = true;\n }\n if (isGlobal) {\n window.location = searchURL(params);\n } else {\n params.category_id = category.id;\n window.location = categorySearchURL(params);\n }\n },\n category,\n isAdmin,\n }),\n domContainer\n );\n }\n });\n document.addEventListener('DOMContentLoaded', () => {\n const rootElement = document.querySelector('#category-moderation');\n if (rootElement) {\n const categoryId = parseInt(rootElement.dataset.categoryId, 10);\n ReactDOM.render(, rootElement);\n }\n });\n global.setupCategoryStats = function setupCategoryStats() {\n document.addEventListener('DOMContentLoaded', () => {\n const rootElement = document.querySelector('#category-stats-root');\n if (!rootElement) {\n return;\n }\n const categoryId = parseInt(rootElement.dataset.categoryId, 10);\n const lang = rootElement.dataset.lang;\n ReactDOM.render(\n \n \n ,\n rootElement\n );\n });\n };\n})(window);\n"],"names":["global","window","setupCategoryDisplaySubcatList","url","$","data","undefined","ajax","dataType","success","Object","entries","event_counts","forEach","_ref","id","count","text","value","$T","ngettext","format","pretty","gettext","setupCategoryDisplayEventList","showFutureEvents","showPastEvents","isFlat","requestParams","$eventList","$futureEvents","find","$pastEvents","setupToggleEventListButton","wrapper","callback","$wrapper","$content","updateMessage","visible","toggle","displaySpinner","is","on","evt","triggeredAutomatically","preventDefault","_objectSpread","before","after","error","handleAjaxError","html","show","hide","flat","shown","method","first","trigger","document","addEventListener","calendarContainer","querySelector","categoryId","dataset","ReactDOM","React","ICSCalendarLink","endpoint","params","category_id","renderButton","classes","IButton","icon","title","Translate","string","options","key","extraParams","favoriteContainer","favorited","Favorite","type","setFavText","deleteFavText","eventRequestsURL","_buildFlaskURL","bind","rules","args","converters","defaults","trace","isDynamic","eventURL","PlaceholderTableRow","Table","Row","Cell","collapsing","Checkbox","colSpan","Placeholder","fluid","Header","image","Line","MoveRequest","_ref2","requestor","event","category","requestorComment","requestedDt","selected","onSelect","fullName","avatarURL","affiliation","checked","onChange","className","Image","src","size","avatar","href","event_id","chainTitles","join","as","startDt","endDt","moment","isSame","getEventTime","fromNow","RequestList","_ref3","requests","onSubmit","loading","_setSelected","useState","Set","reason","setReason","isAnySelected","submit","accept","Array","from","length","HeaderCell","Body","map","_ref4","has","state","set","delete","select","Footer","fullWidth","_getClassName","_styleModuleImportMap","Button","onClick","color","Input","placeholder","_","_ref5","CategoryModeration","_ref6","lastData","reFetch","useIndicoAxios","camelize","numRequests","useEffect","badge","textContent","style","display","async","indicoAxios","post","e","handleSubmitError","propTypes","PropTypes","isRequired","defaultProps","LocaleContext","categoryStatisticsURL","CategoryStatistics","isLoading","Loader","active","CategoryStatisticsDisplay","userLanguage","useContext","replace","updatedTime","updated","local","fmt","Intl","NumberFormat","totalEvents","totalContributions","files","users","eventGraph","contributionsGraph","series","axes","tooltip","useMemo","serialize","statsData","maxDate","parseInt","keys","reverse","date","maxYear","minYear","filter","year","number","label","events","contributions","primary","position","align","anchor","getGraphData","Container","Segment","Group","horizontal","Content","Subheader","basic","Message","info","Chart","inverted","textAlign","Statistic","Value","Label","Param","name","categorySearchURL","searchURL","domContainer","JSON","parse","isAdmin","SearchBox","onSearch","keyword","isGlobal","adminOverrideEnabled","q","admin_override_enabled","location","rootElement","setupCategoryStats","lang","Provider"],"sourceRoot":""}