{"version":3,"file":"js/module_attachments.95693d76.bundle.js","mappings":"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","sources":["webpack:///indico/modules/attachments/client/js/package.js","webpack:///indico/modules/attachments/client/js/legacy.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 handleFlashes:false, handleAjaxError:false */\n\nimport packageStatusURL from 'indico-url:attachments.package_status';\n\nimport {indicoAxios, handleAxiosError} from 'indico/utils/axios';\nimport {$T} from 'indico/utils/i18n';\n\nwindow.setupGeneratePackage = function setupGeneratePackage(eventId) {\n $('#filter_type input:radio').on('change', function() {\n $('#form-group-sessions').toggle(this.value === 'sessions');\n $('#form-group-contributions').toggle(this.value === 'contributions');\n $('#form-group-dates').toggle(this.value === 'dates');\n });\n $('#filter_type input:radio:checked').trigger('change');\n\n const $form = $('#download-package-form');\n let closeLoader;\n\n async function poll(taskId) {\n let res;\n try {\n res = await indicoAxios.get(packageStatusURL({event_id: eventId, task_id: taskId}));\n } catch (error) {\n handleAxiosError(error);\n closeLoader();\n return;\n }\n if (res.data.download_url) {\n window.location.href = res.data.download_url;\n closeLoader();\n } else {\n poll(taskId);\n }\n }\n\n $form.ajaxForm({\n error(...args) {\n closeLoader();\n handleAjaxError(...args);\n },\n beforeSubmit() {\n closeLoader = IndicoUI.Dialogs.Util.progress($T.gettext('Building package'));\n },\n success(data) {\n if (data.success) {\n poll(data.task_id);\n } else {\n handleFlashes(data, true, $form.find('.flashed-messages'));\n closeLoader();\n }\n },\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\n(function(global) {\n const HISTORY_API_SUPPORTED = !!history.pushState;\n\n function toggleFolder(evt) {\n if ($(evt.target).closest('.actions').length) {\n // ignore if it comes from inside the action panel\n return;\n }\n $(this)\n .toggleClass('collapsed')\n .next('.sub-tree')\n .find('td > div')\n .slideToggle(150);\n }\n\n $(document).ready(function() {\n $('.attachments > .i-dropdown')\n .parent()\n .dropdown();\n if (!$('html').data('static-site')) {\n setupAttachmentPreview();\n }\n\n $(document).on('click', '[data-attachment-editor]', function(evt) {\n evt.preventDefault();\n const $this = $(this);\n if (this.disabled || $this.hasClass('disabled')) {\n return;\n }\n const locator = $(this).data('locator');\n const title = $(this).data('title');\n const reloadOnChange = $this.data('reload-on-change') !== undefined;\n openAttachmentManager(locator, title, reloadOnChange, $this);\n });\n });\n\n global.setupAttachmentPreview = function setupAttachmentPreview() {\n const attachment = $('.js-preview-dialog');\n const pageURL = location.href.replace(/#.*$/, '');\n\n // Previewer not supported on mobile browsers\n if ($.mobileBrowser) {\n return;\n }\n\n $(window)\n .on('hashchange', function(e, initial) {\n if (location.hash.indexOf('#preview:') !== 0) {\n $('.attachment-preview-dialog').trigger('ajaxDialog:close', [true]);\n } else {\n if (initial && HISTORY_API_SUPPORTED) {\n const hash = location.hash;\n // start with a clean state, i.e. [..., page, page+preview]\n history.replaceState({}, document.title, pageURL);\n history.pushState({}, document.title, location.href + hash);\n }\n const id = location.hash.split('#preview:')[1];\n previewAttachment(id);\n }\n })\n .triggerHandler('hashchange', [true]);\n\n attachment.on('click', function(e) {\n if (e.which != 1 || e.shiftKey || e.metaKey || e.ctrlKey || e.altKey) {\n // ignore middle clicks and modifier-clicks - people should be able to open\n // an attachment in a new tab/window skipping the previewer, even if they use\n // a weird mouse with less than three buttons.\n return;\n }\n e.preventDefault();\n location.hash = '#preview:{0}'.format($(this).data('attachmentId'));\n });\n\n function clearHash() {\n if (HISTORY_API_SUPPORTED) {\n // if we have the history api, we can assume that the previous state is the same page without\n // a preview hash (since we ensure this in the initial/fake hashchange event on page load)\n history.back();\n } else {\n // old browsers with no pushState support: the # wil stay which is a bit ugly,\n // but let's not break history (we WILL \"spam\" history though, but that's what you\n // get when using ancient browsers)\n location.hash = '';\n }\n }\n\n function previewAttachment(id) {\n const attachment = $('.attachment[data-previewable][data-attachment-id=\"{0}\"]'.format(id));\n if (!attachment.length) {\n clearHash();\n return;\n }\n ajaxDialog({\n url: build_url(attachment.attr('href'), {preview: '1'}),\n title: attachment.data('title'),\n dialogClasses: 'attachment-preview-dialog',\n onClose(data) {\n $('body').off('keydown.attachmentPreview');\n $('html, body').removeClass('prevent-scrolling');\n if (!data) {\n // get rid of the hash if we closed the dialog manually (i.e. not using the back button,\n // in which case the hash should already be gone)\n clearHash();\n }\n },\n onOpen(popup) {\n const dialog = popup.canvas.closest('.ui-dialog');\n dialog.prev('.ui-widget-overlay').addClass('attachment-preview-overlay');\n popup.canvas\n .find('.attachment-preview-content-wrapper, .js-close-preview')\n .on('click', function() {\n popup.canvas.trigger('ajaxDialog:close');\n });\n popup.canvas.find('.attachment-download').on('click', function() {\n const $this = $(this);\n const href = $this.attr('href');\n $this.attr('href', build_url(href, {from_preview: '1', download: '1'}));\n _.defer(function() {\n $this.attr('href', href);\n });\n });\n popup.canvas\n .find('.attachment-preview-content, .attachment-preview-top-bar')\n .on('click', function(e) {\n e.stopPropagation();\n });\n $('body')\n .add(dialog)\n .on('keydown.attachmentPreview', function(e) {\n if (e.which === $.ui.keyCode.ESCAPE) {\n popup.canvas.trigger('ajaxDialog:close');\n }\n });\n $('html, body').addClass('prevent-scrolling');\n // for some reason the dialog is hidden when its position\n // gets updated so we explicitly show it.\n _.defer(function() {\n dialog.show();\n });\n },\n onLoadError(xhr) {\n const hash = location.hash;\n clearHash();\n if (xhr.status == 404) {\n alertPopup($T.gettext('This file no longer exists. Please reload the page.'));\n return false;\n } else if (xhr.status != 403) {\n return;\n }\n if (Indico.User && Indico.User.id !== undefined) {\n alertPopup($T('You are not authorized to access this file.'), $T('Access Denied'));\n } else {\n const msg = $T('This file is protected. You will be redirected to the login page.');\n confirmPrompt(msg, $T('Access Denied')).then(function() {\n location.href = build_url(Indico.Urls.Login, {next: location.href + hash});\n });\n }\n return false;\n },\n });\n }\n };\n\n global.setupAttachmentTreeView = function setupAttachmentTreeView() {\n $('.attachments-box').on('click', '.tree .expandable', toggleFolder);\n };\n\n global.setupAttachmentEditor = function setupAttachmentEditor() {\n const editor = $('.attachment-editor');\n\n function flagChanged() {\n editor.trigger('ajaxDialog:setData', [true]);\n }\n\n editor\n .on('click', '.tree .expandable', toggleFolder)\n .on('click', '.js-dialog-action', function(e) {\n e.preventDefault();\n const $this = $(this);\n let title = $this.data('title');\n if (!title && title !== undefined) {\n // if `data-title` is present without a value, fall back to the title attr\n title = $this.attr('title') || $this.data('qtip-oldtitle');\n }\n ajaxDialog({\n trigger: this,\n url: $this.data('href'),\n title,\n hidePageHeader: true,\n onClose(data) {\n if (data) {\n $('#attachments-container').html(data.attachment_list);\n flagChanged();\n }\n },\n });\n })\n .on('indico:confirmed', '.js-delete', function(e) {\n e.preventDefault();\n\n const $this = $(this);\n $.ajax({\n url: $this.data('href'),\n method: $this.data('method'),\n complete: IndicoUI.Dialogs.Util.progress(),\n error: handleAjaxError,\n success(data) {\n $('#attachments-container').html(data.attachment_list);\n handleFlashes(data, true, editor);\n flagChanged();\n },\n });\n });\n };\n\n global.openAttachmentManager = function openAttachmentManager(\n itemLocator,\n title,\n reloadOnChange,\n trigger\n ) {\n reloadOnChange = reloadOnChange === undefined ? true : reloadOnChange;\n ajaxDialog({\n trigger,\n url: build_url(Indico.Urls.AttachmentManager, itemLocator),\n title: title || $T.gettext('Manage material'),\n confirmCloseUnsaved: false,\n hidePageHeader: true,\n onClose(callbackData, customData) {\n if (customData && reloadOnChange) {\n location.reload();\n } else if (customData && trigger) {\n trigger.trigger('attachments:updated');\n }\n },\n });\n };\n\n global.reloadManagementAttachmentInfoColumn = function reloadManagementAttachmentInfoColumn(\n itemLocator,\n column\n ) {\n $.ajax({\n url: build_url(Indico.Urls.ManagementAttachmentInfoColumn, itemLocator),\n method: 'GET',\n error: handleAjaxError,\n success(data) {\n column.replaceWith(data.html);\n },\n });\n };\n\n global.messageIfFolderProtected = function messageIfFolderProtected(\n protectionField,\n folderField,\n protectionInfo,\n selfProtection,\n inheritedProtection,\n folderProtection\n ) {\n folderField.on('change', function() {\n const selectedFolder = $(this);\n if (protectionInfo[selectedFolder.val()] && !protectionField.prop('checked')) {\n selfProtection.hide();\n inheritedProtection.hide();\n folderProtection\n .find('.folder-name')\n .html(selectedFolder.children('option:selected').text());\n folderProtection.show();\n } else {\n folderProtection.hide();\n selfProtection.toggle(protectionField.prop('checked'));\n inheritedProtection.toggle(!protectionField.prop('checked'));\n }\n });\n _.defer(function() {\n folderField.triggerHandler('change');\n });\n };\n\n global.setupAttachmentTooltipButtons = function setupAttachmentTooltipButtons() {\n $('.attachments-tooltip-button').each(function() {\n const button = $(this);\n button.qtip({\n content: {\n text: button.next('.material_list'),\n },\n show: {\n event: 'click',\n },\n hide: {\n event: 'unfocus',\n },\n position: {\n my: 'top right',\n at: 'bottom left',\n },\n events: {\n show() {\n button.addClass('open');\n },\n hide() {\n button.removeClass('open');\n },\n },\n style: {\n classes: 'material_tip',\n },\n });\n });\n };\n})(window);\n"],"names":["packageStatusURL","_buildFlaskURL","bind","endpoint","rules","args","converters","event_id","defaults","trace","data","isDynamic","window","setupGeneratePackage","eventId","$","on","toggle","this","value","trigger","$form","closeLoader","async","poll","taskId","res","indicoAxios","get","task_id","error","handleAxiosError","download_url","location","href","ajaxForm","handleAjaxError","arguments","beforeSubmit","IndicoUI","Dialogs","Util","progress","$T","gettext","success","handleFlashes","find","global","HISTORY_API_SUPPORTED","history","pushState","toggleFolder","evt","target","closest","length","toggleClass","next","slideToggle","document","ready","parent","dropdown","setupAttachmentPreview","preventDefault","$this","disabled","hasClass","locator","title","reloadOnChange","undefined","openAttachmentManager","attachment","pageURL","replace","clearHash","back","hash","mobileBrowser","e","initial","indexOf","replaceState","id","format","ajaxDialog","url","build_url","attr","preview","dialogClasses","onClose","off","removeClass","onOpen","popup","dialog","canvas","prev","addClass","from_preview","download","_","defer","stopPropagation","add","which","ui","keyCode","ESCAPE","show","onLoadError","xhr","status","alertPopup","Indico","User","msg","confirmPrompt","then","Urls","Login","previewAttachment","split","triggerHandler","shiftKey","metaKey","ctrlKey","altKey","setupAttachmentTreeView","setupAttachmentEditor","editor","flagChanged","hidePageHeader","html","attachment_list","ajax","method","complete","itemLocator","AttachmentManager","confirmCloseUnsaved","callbackData","customData","reload","reloadManagementAttachmentInfoColumn","column","ManagementAttachmentInfoColumn","replaceWith","messageIfFolderProtected","protectionField","folderField","protectionInfo","selfProtection","inheritedProtection","folderProtection","selectedFolder","val","prop","hide","children","text","setupAttachmentTooltipButtons","each","button","qtip","content","event","position","my","at","events","style","classes"],"sourceRoot":""}