diff --git a/src/Bridge/Sylius/assets/js/components/directoryRename.js b/src/Bridge/Sylius/assets/js/components/directoryRename.js index b43dd93..e7900eb 100644 --- a/src/Bridge/Sylius/assets/js/components/directoryRename.js +++ b/src/Bridge/Sylius/assets/js/components/directoryRename.js @@ -4,10 +4,6 @@ const configureDirectoryRename = () => { const headerRenameInput = headerRenameForm?.querySelector('.directory-rename-input'); const headerRenameCancelBtn = headerRenameForm?.querySelector('.directory-rename-cancel-btn'); - if (!container) { - return; - } - document.addEventListener('click', (e) => { const headerRenameBtn = e.target.closest('.directory-rename-header-btn'); @@ -54,6 +50,10 @@ const configureDirectoryRename = () => { } }); + if (!container) { + return; + } + container.addEventListener('click', (e) => { const editBtn = e.target.closest('.directory-rename-btn'); if (!editBtn) return; diff --git a/src/Bridge/Sylius/public/entrypoints.json b/src/Bridge/Sylius/public/entrypoints.json index 900d0f6..69473f9 100644 --- a/src/Bridge/Sylius/public/entrypoints.json +++ b/src/Bridge/Sylius/public/entrypoints.json @@ -5,7 +5,7 @@ "./joli-media-sylius-admin.2f351929.css" ], "js": [ - "./joli-media-sylius-admin.6b38f72e.js" + "./joli-media-sylius-admin.0ec877e4.js" ] } } diff --git a/src/Bridge/Sylius/public/joli-media-sylius-admin.6b38f72e.js b/src/Bridge/Sylius/public/joli-media-sylius-admin.0ec877e4.js similarity index 98% rename from src/Bridge/Sylius/public/joli-media-sylius-admin.6b38f72e.js rename to src/Bridge/Sylius/public/joli-media-sylius-admin.0ec877e4.js index d952ed4..3247fe6 100644 --- a/src/Bridge/Sylius/public/joli-media-sylius-admin.6b38f72e.js +++ b/src/Bridge/Sylius/public/joli-media-sylius-admin.0ec877e4.js @@ -1 +1 @@ -(()=>{var e={264(){document.addEventListener("show.bs.modal",function(e){e.target.parentElement!==document.body&&document.body.appendChild(e.target)})}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}(()=>{"use strict";i(264);var e=function(e){for(var t=e;t&&t!==document.body;){if(t.dataset.controller&&t.dataset.controller.includes("live-collection"))return!0;t=t.parentElement}return!1},t=function(t){var i=t.dataset.mediaId,n=t.querySelector('[id^="joli-media-container_"]'),a=t.querySelector(".joli-media-choice-delete"),r=t.querySelector(".joli-media-choice-edit"),s=t.querySelector('[id="'.concat(i,'"]')),o=document.getElementById("modal-media-choice_".concat(i));if(o&&a&&r&&s&&n&&("true"!==o.dataset.moved||"true"!==t.dataset.configured)){if("true"!==o.dataset.moved&&(document.body.appendChild(o),o.dataset.moved="true"),!t.dataset.configured)if(t.dataset.configured="true",n&&!e(t))new MutationObserver(function(){var e=n.querySelectorAll(".media-preview");e.length>1&&e.forEach(function(t,i){i').concat("Media Library",""),s.length>0){var l="";s.forEach(function(e,t){t>0&&(l+="/"),l+=e;var i=decodeURIComponent(e);if(o+='/',t===s.length-1)o+=''.concat(i,"");else{var n="".concat(r,"/").concat(l);o+='').concat(i,"")}})}a.innerHTML=o}},c=function(){return r.dataset.basePath||r.href.split("?")[0]},u=function(){var e=new URL(r.href,window.location.origin).searchParams.get("key")||"";if(!e){var t=r.href.match(/\/media\/choose(?:\/(.+))?$/);t&&t[1]&&(e=t[1])}return e}(),h=function(e){var t=document.getElementById("modal-media-choice_".concat(i));if(t){var n=t.querySelector(".modal-body");n&&(n.innerHTML=e,d(u),m())}},p=function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;"true"!==t.dataset.settingValue&&(t.dataset.settingValue="true",s.value=i,t.dataset.mediaValue=i,a&&(t.dataset.mediaTemplate=a,t.classList.remove("empty"),n&&!e(t)&&(n.innerHTML=a)),s.dispatchEvent(new Event("change",{bubbles:!0})),setTimeout(function(){t.dataset.settingValue="false"},100))},m=function(){var e=document.getElementById("modal-media-choice_".concat(i));if(e){var t=e.querySelector('[data-component="directory-create"]'),n=e.querySelector('[data-component="directory-create-form"]');if(n){var a=n.querySelector(".directory-create-input"),r=n.querySelector(".directory-create-cancel-btn"),s=n.querySelector(".directory-create-parent-path");null==t||t.addEventListener("click",function(e){e.preventDefault(),n.classList.toggle("d-none"),n.classList.contains("d-none")||a.focus()}),null==r||r.addEventListener("click",function(){n.classList.add("d-none"),a.value=""}),n.addEventListener("submit",function(e){e.preventDefault(),e.stopImmediatePropagation(),a.value.trim()&&(s.value=u,fetch(n.action,{method:"POST",body:new FormData(n),headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()}).then(function(e){h(e)}).catch(function(e){console.error("Error creating directory:",e)}))}),null==a||a.addEventListener("keydown",function(e){"Escape"===e.key&&(n.classList.add("d-none"),a.value="")})}}};o.dataset.handlersAttached||(a.addEventListener("click",function(e){e.preventDefault(),t.classList.add("empty"),t.dataset.mediaTemplate="",t.dataset.mediaValue="";var a=document.getElementById("template-null-label-".concat(i));return n.innerHTML="",a&&n.appendChild(a.content.cloneNode(!0)),p(""),!1}),r.addEventListener("click",function(e){e.preventDefault();var t=document.getElementById("modal-media-choice_".concat(i));if(t){var n=t.querySelector(".modal-body");return n&&(n.innerHTML=""),l(r.href).then(function(e){n&&(n.innerHTML=e),m(),bootstrap.Modal.getOrCreateInstance(t).show()}),!1}}),o.dataset.handlersAttached="true"),t._handleModalClick=function(e){var t=e.target.closest("a");if(null!==t&&"A"===t.tagName&&void 0!==t.attributes.href&&0!==t.attributes.href.length){var n=t.attributes.href.value;if(void 0===t.dataset.mediaTemplate||void 0===t.dataset.mediaUrl){if("#"!==n){if(t.closest(".folder-modal-breadcrumb")||t.closest(".gallery-grid--folders")||t.closest(".gallery-grid-item")||t.closest(".pagination")||n.match(/\/media\/choose/)){var a=new URL(n,window.location.origin).searchParams.get("key")||"";if(!a){var r=n.match(/\/media\/choose(?:\/(.+))?$/);r&&r[1]&&(a=r[1])}t.closest(".pagination")?u=a:d(u=a)}e.preventDefault(),e.stopPropagation(),l(n).then(h)}}else{e.preventDefault(),e.stopPropagation(),p(t.dataset.mediaUrl,t.dataset.mediaTemplate);var s=document.getElementById("modal-media-choice_".concat(i));null!=s&&s.classList.contains("show")&&function(){var e=document.getElementById("modal-media-choice_".concat(i));if(e){var t=bootstrap.Modal.getInstance(e)||bootstrap.Modal.getOrCreateInstance(e);t&&t.hide()}}()}}},t._handleModalSubmit=function(e){e.preventDefault(),e.stopPropagation();var t=e.target.closest("form"),i=t.action,n=new FormData(t);fetch(i,{method:"POST",body:n,headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()}).then(h)},t.dataset.configured=!0}};document.addEventListener("click",function(e){var i=e.target.closest(".joli-media-choice-edit");if(i){var n=i.closest(".js-joli-media-choice-container");n&&"true"!==n.dataset.configured&&t(n)}var a=e.target.closest('[id^="modal-media-choice_"]');if(a){var r=a.id.match(/modal-media-choice_(.+)/);if(r){var s=r[1],o=document.querySelector('.js-joli-media-choice-container[data-media-id="'.concat(s,'"]'));o&&"true"===o.dataset.configured&&o._handleModalClick&&o._handleModalClick(e)}}}),document.addEventListener("submit",function(e){var t=e.target.closest('[id^="modal-media-choice_"]');if(t){var i=t.id.match(/modal-media-choice_(.+)/);if(i){var n=i[1],a=document.querySelector('.js-joli-media-choice-container[data-media-id="'.concat(n,'"]'));a&&"true"===a.dataset.configured&&a._handleModalSubmit&&a._handleModalSubmit(e)}}});var n=function(){var e=new Set;document.querySelectorAll('[id^="modal-media-choice_"]').forEach(function(t){e.has(t.id)?t.remove():e.add(t.id)}),document.querySelectorAll(".js-joli-media-choice-container").forEach(function(e){void 0===e.dataset.configured&&t(e)})};document.addEventListener("DOMContentLoaded",n),document.addEventListener("turbo:frame-load",n),document.addEventListener("turbo:stream-render",n),document.addEventListener("turbo:streams:append",n),document.addEventListener("turbo:streams:prepend",n),document.addEventListener("turbo:before-stream-render",n),document.addEventListener("ux:autocomplete:initialize",n);var a=null;new MutationObserver(function(){clearTimeout(a),a=setTimeout(n,50)}).observe(document.body,{childList:!0,subtree:!0});const r=n;class s{on(e,t){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this}emit(e,...t){this._callbacks=this._callbacks||{};let i=this._callbacks[e];if(i)for(let e of i)e.apply(this,t);return this.element&&this.element.dispatchEvent(this.makeEvent("dropzone:"+e,{args:t})),this}makeEvent(e,t){let i={bubbles:!0,cancelable:!0,detail:t};if("function"==typeof window.CustomEvent)return new CustomEvent(e,i);var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,i.bubbles,i.cancelable,i.detail),n}off(e,t){if(!this._callbacks||0===arguments.length)return this._callbacks={},this;let i=this._callbacks[e];if(!i)return this;if(1===arguments.length)return delete this._callbacks[e],this;for(let e=0;et(),chunksUploaded:function(e,t){t()},binaryBody:!1,fallback(){let e;this.element.className=`${this.element.className} dz-browser-not-supported`;for(let t of this.element.getElementsByTagName("div"))if(/(^| )dz-message($| )/.test(t.className)){e=t,t.className="dz-message";break}e||(e=l.createElement('
'),this.element.appendChild(e));let t=e.getElementsByTagName("span")[0];return t&&(null!=t.textContent?t.textContent=this.options.dictFallbackMessage:null!=t.innerText&&(t.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize(e,t,i,n){let a={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},r=e.width/e.height;null==t&&null==i?(t=a.srcWidth,i=a.srcHeight):null==t?t=i*r:null==i&&(i=t/r);let s=(t=Math.min(t,a.srcWidth))/(i=Math.min(i,a.srcHeight));if(a.srcWidth>t||a.srcHeight>i)if("crop"===n)r>s?(a.srcHeight=e.height,a.srcWidth=a.srcHeight*s):(a.srcWidth=e.width,a.srcHeight=a.srcWidth/s);else{if("contain"!==n)throw new Error(`Unknown resizeMethod '${n}'`);r>s?i=t/r:t=i*r}return a.srcX=(e.width-a.srcWidth)/2,a.srcY=(e.height-a.srcHeight)/2,a.trgWidth=t,a.trgHeight=i,a},transformFile(e,t){return(this.options.resizeWidth||this.options.resizeHeight)&&e.type.match(/image.*/)?this.resizeImage(e,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,t):t(e)},previewTemplate:'\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
',drop(e){return this.element.classList.remove("dz-drag-hover")},dragstart(e){},dragend(e){return this.element.classList.remove("dz-drag-hover")},dragenter(e){return this.element.classList.add("dz-drag-hover")},dragover(e){return this.element.classList.add("dz-drag-hover")},dragleave(e){return this.element.classList.remove("dz-drag-hover")},paste(e){},reset(){return this.element.classList.remove("dz-started")},addedfile(e){if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer&&!this.options.disablePreviews){for(var t of(e.previewElement=l.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement),e.previewElement.querySelectorAll("[data-dz-name]")))t.textContent=e.name;for(t of e.previewElement.querySelectorAll("[data-dz-size]"))t.innerHTML=this.filesize(e.size);this.options.addRemoveLinks&&(e._removeLink=l.createElement(`${this.options.dictRemoveFile}`),e.previewElement.appendChild(e._removeLink));let i=t=>(t.preventDefault(),t.stopPropagation(),e.status===l.UPLOADING?this.options.dictCancelUploadConfirmation?l.confirm(this.options.dictCancelUploadConfirmation,()=>this.removeFile(e)):this.removeFile(e):this.options.dictRemoveFileConfirmation?l.confirm(this.options.dictRemoveFileConfirmation,()=>this.removeFile(e)):this.removeFile(e));for(let t of e.previewElement.querySelectorAll("[data-dz-remove]"))t.addEventListener("click",i)}},removedfile(e){return null!=e.previewElement&&null!=e.previewElement.parentNode&&e.previewElement.parentNode.removeChild(e.previewElement),this._updateMaxFilesReachedClass()},thumbnail(e,t){if(e.previewElement){e.previewElement.classList.remove("dz-file-preview");for(let i of e.previewElement.querySelectorAll("[data-dz-thumbnail]"))i.alt=e.name,i.src=t;return setTimeout(()=>e.previewElement.classList.add("dz-image-preview"),1)}},error(e,t){if(e.previewElement){e.previewElement.classList.add("dz-error"),"string"!=typeof t&&t.error&&(t=t.error);for(let i of e.previewElement.querySelectorAll("[data-dz-errormessage]"))i.textContent=t}},errormultiple(){},processing(e){if(e.previewElement&&(e.previewElement.classList.add("dz-processing"),e._removeLink))return e._removeLink.innerHTML=this.options.dictCancelUpload},processingmultiple(){},uploadprogress(e,t,i){if(e.previewElement)for(let i of e.previewElement.querySelectorAll("[data-dz-uploadprogress]"))"PROGRESS"===i.nodeName?i.value=t:i.style.width=`${t}%`},totaluploadprogress(){},sending(){},sendingmultiple(){},success(e){if(e.previewElement)return e.previewElement.classList.add("dz-success")},successmultiple(){},canceled(e){return this.emit("error",e,this.options.dictUploadCanceled)},canceledmultiple(){},complete(e){if(e._removeLink&&(e._removeLink.innerHTML=this.options.dictRemoveFile),e.previewElement)return e.previewElement.classList.add("dz-complete")},completemultiple(){},maxfilesexceeded(){},maxfilesreached(){},queuecomplete(){},addedfiles(){},emptyfolder(){}};class l extends s{static initClass(){this.prototype.Emitter=s,this.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","addedfiles","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete","emptyfolder"],this.prototype._thumbnailQueue=[],this.prototype._processingThumbnail=!1}constructor(e,t){let i,n;if(super(),this.element=e,this.clickableElements=[],this.listeners=[],this.files=[],"string"==typeof this.element&&(this.element=document.querySelector(this.element)),null===this.element||!this.element instanceof HTMLElement)throw new Error("Invalid dropzone element: not an instance of HTMLElement.");if(this.element.dropzone)throw new Error("Dropzone already attached.");l.instances.push(this),this.element.dropzone=this;let a=null!=(n=l.optionsForElement(this.element))?n:{};if(this.options=Object.assign({},o,a,null!=t?t:{}),this.options.previewTemplate=this.options.previewTemplate.replace(/\n*/g,""),this.options.forceFallback||!l.isBrowserSupported())return this.options.fallback.call(this);if(null==this.options.url&&(this.options.url=this.element.getAttribute("action")),!this.options.url)throw new Error("No URL provided.");if(this.options.uploadMultiple&&this.options.chunking)throw new Error("You cannot set both: uploadMultiple and chunking.");if(this.options.binaryBody&&this.options.uploadMultiple)throw new Error("You cannot set both: binaryBody and uploadMultiple.");"string"==typeof this.options.method&&(this.options.method=this.options.method.toUpperCase()),(i=this.getExistingFallback())&&i.parentNode&&i.parentNode.removeChild(i),!1!==this.options.previewsContainer&&(this.options.previewsContainer?this.previewsContainer=l.getElement(this.options.previewsContainer,"previewsContainer"):this.previewsContainer=this.element),this.options.clickable&&(!0===this.options.clickable?this.clickableElements=[this.element]:this.clickableElements=l.getElements(this.options.clickable,"clickable")),this.init()}getAcceptedFiles(){return this.files.filter(e=>e.accepted).map(e=>e)}getRejectedFiles(){return this.files.filter(e=>!e.accepted).map(e=>e)}getFilesWithStatus(e){return this.files.filter(t=>t.status===e).map(e=>e)}getQueuedFiles(){return this.getFilesWithStatus(l.QUEUED)}getUploadingFiles(){return this.getFilesWithStatus(l.UPLOADING)}getAddedFiles(){return this.getFilesWithStatus(l.ADDED)}getActiveFiles(){return this.files.filter(e=>e.status===l.UPLOADING||e.status===l.QUEUED).map(e=>e)}init(){if("form"===this.element.tagName&&this.element.setAttribute("enctype","multipart/form-data"),this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")&&this.element.appendChild(l.createElement(`
`)),this.clickableElements.length){let e=()=>{this.hiddenFileInput&&this.hiddenFileInput.parentNode?.removeChild(this.hiddenFileInput),this.hiddenFileInput=document.createElement("input"),this.hiddenFileInput.setAttribute("type","file"),this.hiddenFileInput.setAttribute("form",this.element.id),(null===this.options.maxFiles||this.options.maxFiles>1)&&this.hiddenFileInput.setAttribute("multiple","multiple"),this.hiddenFileInput.className="dz-hidden-input",null!==this.options.acceptedFiles&&this.hiddenFileInput.setAttribute("accept",this.options.acceptedFiles),null!==this.options.capture&&this.hiddenFileInput.setAttribute("capture",this.options.capture),this.hiddenFileInput.setAttribute("tabindex","-1"),this.hiddenFileInput.setAttribute("aria-label","dropzone hidden input"),this.hiddenFileInput.style.visibility="hidden",this.hiddenFileInput.style.position="absolute",this.hiddenFileInput.style.top="0",this.hiddenFileInput.style.left="0",this.hiddenFileInput.style.height="0",this.hiddenFileInput.style.width="0",l.getElement(this.options.hiddenInputContainer,"hiddenInputContainer").appendChild(this.hiddenFileInput),this.hiddenFileInput.addEventListener("change",()=>{let{files:t}=this.hiddenFileInput;if(t.length)for(let e of t)this.addFile(e);this.emit("addedfiles",t),e()})};e()}this.URL=null!==window.URL?window.URL:window.webkitURL;for(let e of this.events)this.on(e,this.options[e]);this.on("uploadprogress",()=>this.updateTotalUploadProgress()),this.on("removedfile",()=>this.updateTotalUploadProgress()),this.on("canceled",e=>this.emit("complete",e)),this.on("complete",e=>{if(0===this.getAddedFiles().length&&0===this.getUploadingFiles().length&&0===this.getQueuedFiles().length)return setTimeout(()=>this.emit("queuecomplete"),0)});let e=function(e){if(function(e){return e.dataTransfer.types&&e.dataTransfer.types.includes("Files")}(e))return e.stopPropagation(),e.preventDefault()};return this.listeners=[{element:this.element,events:{dragstart:e=>this.emit("dragstart",e),dragenter:t=>(e(t),this.emit("dragenter",t)),dragover:t=>{const i=t.dataTransfer.effectAllowed;return t.dataTransfer.dropEffect="move"===i||"linkMove"===i?"move":"copy",e(t),this.emit("dragover",t)},dragleave:e=>this.emit("dragleave",e),drop:t=>(e(t),this.drop(t)),dragend:e=>this.emit("dragend",e)}}],this.clickableElements.forEach(e=>this.listeners.push({element:e,events:{click:t=>((e!==this.element||t.target===this.element||l.elementInside(t.target,this.element.querySelector(".dz-message")))&&this.hiddenFileInput.click(),!0)}})),this.enable(),this.options.init.call(this)}destroy(){return this.disable(),this.removeAllFiles(!0),(null!=this.hiddenFileInput?this.hiddenFileInput.parentNode:void 0)&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete this.element.dropzone,l.instances.splice(l.instances.indexOf(this),1)}updateTotalUploadProgress(){let e,t=0,i=0;if(this.getActiveFiles().length){for(let e of this.getActiveFiles())t+=e.upload.bytesSent,i+=e.upload.total;e=100*t/i}else e=100;return this.emit("totaluploadprogress",e,i,t)}_getParamName(e){return"function"==typeof this.options.paramName?this.options.paramName(e):`${this.options.paramName}${this.options.uploadMultiple?`[${e}]`:""}`}_renameFile(e){const t={...e,name:e.name.replace(/\u202F/g," ")};return"function"!=typeof this.options.renameFile?t.name:this.options.renameFile(t)}getFallbackForm(){let e,t;if(e=this.getExistingFallback())return e;let i='
';this.options.dictFallbackText&&(i+=`

${this.options.dictFallbackText}

`),i+=`
`;let n=l.createElement(i);return"FORM"!==this.element.tagName?(t=l.createElement(`
`),t.appendChild(n)):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=t?t:n}getExistingFallback(){let e=function(e){for(let t of e)if(/(^| )fallback($| )/.test(t.className))return t};for(let i of["div","form"]){var t;if(t=e(this.element.getElementsByTagName(i)))return t}}setupEventListeners(){return this.listeners.map(e=>(()=>{let t=[];for(let i in e.events){let n=e.events[i];t.push(e.element.addEventListener(i,n,!1))}return t})())}removeEventListeners(){return this.listeners.map(e=>(()=>{let t=[];for(let i in e.events){let n=e.events[i];t.push(e.element.removeEventListener(i,n,!1))}return t})())}disable(){return this.clickableElements.forEach(e=>e.classList.remove("dz-clickable")),this.removeEventListeners(),this.disabled=!0,this.files.map(e=>this.cancelUpload(e))}enable(){return delete this.disabled,this.clickableElements.forEach(e=>e.classList.add("dz-clickable")),this.setupEventListeners()}filesize(e){let t=0,i="b";if(e>0){let n=["tb","gb","mb","kb","b"];for(let a=0;a=Math.pow(this.options.filesizeBase,4-a)/10){t=e/Math.pow(this.options.filesizeBase,4-a),i=r;break}}t=Math.round(10*t)/10}return`${t} ${this.options.dictFileSizeUnits[i]}`}_updateMaxFilesReachedClass(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")}drop(e){if(!e.dataTransfer)return;this.emit("drop",e);let t=[];for(let i=0;ie.items,null!=t?i(t):void 0))return;var t,i;this.emit("paste",e);let{items:n}=e.clipboardData;return n.length?this._addFilesFromItems(n):void 0}handleFiles(e){for(let t of e)this.addFile(t)}_addFilesFromItems(e){return(()=>{let t=[];for(let n of e){var i;null!=n.webkitGetAsEntry&&(i=n.webkitGetAsEntry())?i.isFile?t.push(this.addFile(n.getAsFile())):i.isDirectory?t.push(this._addFilesFromDirectory(i,i.name)):t.push(void 0):null!=n.getAsFile&&(null==n.kind||"file"===n.kind)?t.push(this.addFile(n.getAsFile())):t.push(void 0)}return t})()}_addFilesFromDirectory(e,t){let i=e.createReader(),n=e=>{return t=console,i="log",n=t=>t.log(e),null!=t&&"function"==typeof t[i]?n(t,i):void 0;var t,i,n},a=0;var r=()=>i.readEntries(e=>{if(e.length>0){for(let i of e)i.isFile?(++a,i.file(e=>{if(!this.options.ignoreHiddenFiles||"."!==e.name.substring(0,1))return e.fullPath=`${t}/${e.name}`,this.addFile(e)})):i.isDirectory&&this._addFilesFromDirectory(i,`${t}/${i.name}`);r()}else 0===a&&this.emit("emptyfolder",t);return null},n);return r()}accept(e,t){this.options.maxFilesize&&e.size>1048576*this.options.maxFilesize?t(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):l.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(t(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,t):t(this.options.dictInvalidFileType)}addFile(e){e.upload={uuid:window.isSecureContext?self.crypto.randomUUID():l.uuidv4(),progress:0,total:e.size,bytesSent:0,filename:this._renameFile(e)},this.files.push(e),e.status=l.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,t=>{t?(e.accepted=!1,this._errorProcessing([e],t)):(e.accepted=!0,this.options.autoQueue&&this.enqueueFile(e)),this._updateMaxFilesReachedClass()})}enqueueFiles(e){for(let t of e)this.enqueueFile(t);return null}enqueueFile(e){if(e.status!==l.ADDED||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");if(e.status=l.QUEUED,this.options.autoProcessQueue)return setTimeout(()=>this.processQueue(),0)}_enqueueThumbnail(e){if(this.options.createImageThumbnails&&e.type.match(/image.*/)&&e.size<=1048576*this.options.maxThumbnailFilesize)return this._thumbnailQueue.push(e),setTimeout(()=>this._processThumbnailQueue(),0)}_processThumbnailQueue(){if(this._processingThumbnail||0===this._thumbnailQueue.length)return;this._processingThumbnail=!0;let e=this._thumbnailQueue.shift();return this.createThumbnail(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,!0,t=>(this.emit("thumbnail",e,t),this._processingThumbnail=!1,this._processThumbnailQueue()))}removeFile(e){if(e.status===l.UPLOADING&&this.cancelUpload(e),this.files=d(this.files,e),this.emit("removedfile",e),0===this.files.length)return this.emit("reset")}removeAllFiles(e){null==e&&(e=!1);for(let t of this.files.slice())(t.status!==l.UPLOADING||e)&&this.removeFile(t);return null}resizeImage(e,t,i,n,a){return this.createThumbnail(e,t,i,n,!0,(t,i)=>{if(null==i)return a(e);{let{resizeMimeType:t}=this.options;null==t&&(t=e.type);let n=i.toDataURL(t,this.options.resizeQuality);return"image/jpeg"!==t&&"image/jpg"!==t||(n=function(e,t){var i="data:image/jpeg;base64,";if(!e.startsWith(i)||!t.startsWith(i))return t;var n=window.atob(e.slice(i.length));if(!n.startsWith("ÿØÿ"))return t;var a=0,r="";for(;a{e.dataURL=o.result,"image/svg+xml"!==e.type&&"image/gif"!==e.type?this.createThumbnailFromUrl(e,t,i,n,a,r,void 0,s):null!=r&&r(o.result)},o.readAsDataURL(e)}displayExistingFile(e,t,i,n,a=!0){if(this.emit("addedfile",e),this.emit("complete",e),a){let a=t=>{this.emit("thumbnail",e,t),i&&i()};e.dataURL=t,this.createThumbnailFromUrl(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,this.options.fixOrientation,a,n)}else this.emit("thumbnail",e,t),i&&i()}createThumbnailFromUrl(e,t,i,n,a,r,s,o=!1){let l=document.createElement("img");s&&(l.crossOrigin=s),a="from-image"!=getComputedStyle(document.body).imageOrientation&&a,l.onload=()=>{let s=e=>e(1);return"undefined"!=typeof EXIF&&null!==EXIF&&a&&(s=e=>EXIF.getData(l,function(){return e(EXIF.getTag(this,"Orientation"))})),s(a=>{e.width=l.width,e.height=l.height;let s=this.options.resize.call(this,e,t,i,n),o=document.createElement("canvas"),d=o.getContext("2d");switch(o.width=s.trgWidth,o.height=s.trgHeight,a>4&&(o.width=s.trgHeight,o.height=s.trgWidth),a){case 2:d.translate(o.width,0),d.scale(-1,1);break;case 3:d.translate(o.width,o.height),d.rotate(Math.PI);break;case 4:d.translate(0,o.height),d.scale(1,-1);break;case 5:d.rotate(.5*Math.PI),d.scale(1,-1);break;case 6:d.rotate(.5*Math.PI),d.translate(0,-o.width);break;case 7:d.rotate(.5*Math.PI),d.translate(o.height,-o.width),d.scale(-1,1);break;case 8:d.rotate(-.5*Math.PI),d.translate(-o.height,0)}u(d,l,null!=s.srcX?s.srcX:0,null!=s.srcY?s.srcY:0,s.srcWidth,s.srcHeight,null!=s.trgX?s.trgX:0,null!=s.trgY?s.trgY:0,s.trgWidth,s.trgHeight);let c=o.toDataURL("image/png");if(null!=r)return r(c,o)})},null!=r&&(l.onerror=r);var d=e.dataURL;return o&&(d=function(e){var t="data:image/jpeg;base64,";if(!e.startsWith(t))return e;var i=window.atob(e.slice(t.length));if(!i.startsWith("ÿØÿ"))return e;var n=0,a="";for(;n=e)return;let n=this.getQueuedFiles();if(n.length>0){if(this.options.uploadMultiple)return this.processFiles(n.slice(0,e-t));for(;it.xhr===e).map(e=>e)}cancelUpload(e){if(e.status===l.UPLOADING){let t=this._getFilesWithXhr(e.xhr);for(let e of t)e.status=l.CANCELED;void 0!==e.xhr&&e.xhr.abort();for(let e of t)this.emit("canceled",e);this.options.uploadMultiple&&this.emit("canceledmultiple",t)}else e.status!==l.ADDED&&e.status!==l.QUEUED||(e.status=l.CANCELED,this.emit("canceled",e),this.options.uploadMultiple&&this.emit("canceledmultiple",[e]));if(this.options.autoProcessQueue)return this.processQueue()}resolveOption(e,...t){return"function"==typeof e?e.apply(this,t):e}uploadFile(e){return this.uploadFiles([e])}uploadFiles(e){this._transformFiles(e,t=>{if(this.options.chunking){let i=t[0];e[0].upload.chunked=this.options.chunking&&(this.options.forceChunking||i.size>this.options.chunkSize),e[0].upload.totalChunkCount=Math.ceil(i.size/this.options.chunkSize),0===i.size&&(e[0].upload.totalChunkCount=1)}if(e[0].upload.chunked){let i=e[0],n=t[0];i.upload.chunks=[];let a=()=>{let t=0;for(;void 0!==i.upload.chunks[t];)t++;if(t>=i.upload.totalChunkCount)return;let a=t*this.options.chunkSize,r=Math.min(a+this.options.chunkSize,n.size),s={name:this._getParamName(0),data:n.webkitSlice?n.webkitSlice(a,r):n.slice(a,r),filename:i.upload.filename,chunkIndex:t};i.upload.chunks[t]={file:i,index:t,dataBlock:s,status:l.UPLOADING,progress:0,retries:0},this._uploadData(e,[s])};if(i.upload.finishedChunkUpload=(t,n)=>{let r=!0;t.status=l.SUCCESS,t.dataBlock=null,t.response=t.xhr.responseText,t.responseHeaders=t.xhr.getAllResponseHeaders(),t.xhr=null;for(let e=0;e{this._finished(e,n,null)})},this.options.parallelChunkUploads){const e=Math.min(!0===this.options.parallelChunkUploads?this.options.parallelUploads:this.options.parallelChunkUploads,i.upload.totalChunkCount);for(let t=0;t{this._finishedUploading(e,i,t)},i.ontimeout=()=>{this._handleUploadError(e,i,`Request timedout after ${this.options.timeout/1e3} seconds`)},i.onerror=()=>{this._handleUploadError(e,i)},(null!=i.upload?i.upload:i).onprogress=t=>this._updateFilesUploadProgress(e,i,t);let r=this.options.defaultHeaders?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:{};this.options.binaryBody&&(r["Content-Type"]=e[0].type),this.options.headers&&Object.assign(r,this.options.headers);for(let e in r){let t=r[e];t&&i.setRequestHeader(e,t)}if(this.options.binaryBody){for(let t of e)this.emit("sending",t,i);this.options.uploadMultiple&&this.emit("sendingmultiple",e,i),this.submitRequest(i,null,e)}else{let n=new FormData;if(this.options.params){let t=this.options.params;"function"==typeof t&&(t=t.call(this,e,i,e[0].upload.chunked?this._getChunk(e[0],i):null));for(let e in t){let i=t[e];if(Array.isArray(i))for(let t=0;t{i[a]=r,++n===e.length&&t(i)})}_addFormElementData(e){if("FORM"===this.element.tagName)for(let t of this.element.querySelectorAll("input, textarea, select, button")){let i=t.getAttribute("name"),n=t.getAttribute("type");if(n&&(n=n.toLowerCase()),null!=i)if("SELECT"===t.tagName&&t.hasAttribute("multiple"))for(let n of t.options)n.selected&&e.append(i,n.value);else(!n||"checkbox"!==n&&"radio"!==n||t.checked)&&e.append(i,t.value)}}_updateFilesUploadProgress(e,t,i){if(e[0].upload.chunked){let n=e[0],a=this._getChunk(n,t);i?(a.progress=100*i.loaded/i.total,a.total=i.total,a.bytesSent=i.loaded):(a.progress=100,a.bytesSent=a.total),n.upload.progress=0,n.upload.total=0,n.upload.bytesSent=0;for(let e=0;e(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16))}}l.initClass(),l.options={},l.optionsForElement=function(e){return e.getAttribute("id")&&void 0!==l.options?l.options[c(e.getAttribute("id"))]:void 0},l.instances=[],l.forElement=function(e){if("string"==typeof e&&(e=document.querySelector(e)),null==(null!=e?e.dropzone:void 0))throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");return e.dropzone},l.discover=function(){let e;if(document.querySelectorAll)e=document.querySelectorAll(".dropzone");else{e=[];let t=t=>(()=>{let i=[];for(let n of t)/(^| )dropzone($| )/.test(n.className)?i.push(e.push(n)):i.push(void 0);return i})();t(document.getElementsByTagName("div")),t(document.getElementsByTagName("form"))}return(()=>{let t=[];for(let i of e)!1!==l.optionsForElement(i)?t.push(new l(i)):t.push(void 0);return t})()},l.isBrowserSupported=function(){return"undefined"!=typeof Promise},l.dataURItoBlob=function(e){let t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(t.length),a=new Uint8Array(n);for(let e=0,i=t.length,n=0<=i;n?e<=i:e>=i;n?e++:e--)a[e]=t.charCodeAt(e);return new Blob([n],{type:i})};const d=(e,t)=>e.filter(e=>e!==t).map(e=>e),c=e=>e.replace(/[\-_](\w)/g,e=>e.charAt(1).toUpperCase());l.createElement=function(e){let t=document.createElement("div");return t.innerHTML=e,t.childNodes[0]},l.elementInside=function(e,t){if(e===t)return!0;for(;e=e.parentNode;)if(e===t)return!0;return!1},l.getElement=function(e,t){let i;if("string"==typeof e?i=document.querySelector(e):null!=e.nodeType&&(i=e),null==i)throw new Error(`Invalid \`${t}\` option provided. Please provide a CSS selector or a plain HTML element.`);return i},l.getElements=function(e,t){let i,n;if(e instanceof Array){n=[];try{for(i of e)n.push(this.getElement(i,t))}catch(e){n=null}}else if("string"==typeof e)for(i of(n=[],document.querySelectorAll(e)))n.push(i);else null!=e.nodeType&&(n=[e]);if(null==n||!n.length)throw new Error(`Invalid \`${t}\` option provided. Please provide a CSS selector, a plain HTML element or a list of those.`);return n},l.confirm=function(e,t,i){return window.confirm(e)?t():null!=i?i():void 0},l.isValidFile=function(e,t){if(!t)return!0;t=t.split(",");let i=e.type,n=i.replace(/\/.*$/,"");for(let a of t)if(a=a.trim(),"."===a.charAt(0)){if(-1!==e.name.toLowerCase().indexOf(a.toLowerCase(),e.name.length-a.length))return!0}else if(/\/\*$/.test(a)){if(n===a.replace(/\/.*$/,""))return!0}else if(i===a)return!0;return!1},"undefined"!=typeof jQuery&&null!==jQuery&&(jQuery.fn.dropzone=function(e){return this.each(function(){return new l(this,e)})}),l.ADDED="added",l.QUEUED="queued",l.ACCEPTED=l.QUEUED,l.UPLOADING="uploading",l.PROCESSING=l.UPLOADING,l.CANCELED="canceled",l.ERROR="error",l.SUCCESS="success";var u=function(e,t,i,n,a,r,s,o,l,d){let c=function(e){let t=e.naturalHeight,i=document.createElement("canvas");i.width=1,i.height=t;let n=i.getContext("2d");n.drawImage(e,0,0);let{data:a}=n.getImageData(1,0,1,t),r=0,s=t,o=t;for(;o>r;)0===a[4*(o-1)+3]?s=o:r=o,o=s+r>>1;let l=o/t;return 0===l?1:l}(t);return e.drawImage(t,i,n,a,r,s,o,l,d/c)};function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function p(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,n)}return i}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:null;if(null===e&&(e=document.querySelector("[data-component=dropzone]")),e){var t=e.dataset.dropzoneConfig?JSON.parse(e.dataset.dropzoneConfig):{},i=e.querySelector(".dz-preview-template"),n={addRemoveLinks:!1,maxFilesize:20,paramName:"upload[file]",previewTemplate:i?i.innerHTML:"",thumbnailWidth:180,thumbnailHeight:109,sending:function(e,t){e.previewElement&&(t.onreadystatechange=function(){if(4===t.readyState&&200===t.status){var i,n=JSON.parse(t.responseText);if(null!=n&&null!==(i=n.files[0])&&void 0!==i&&i.link){var a=n.files[0],r=e.previewElement.querySelector("[data-dz-link]");r.href=a.link,r.setAttribute("data-media-folder",a.mediaFolder),r.setAttribute("data-media-url",a.mediaUrl),r.setAttribute("data-media-template",a.mediaTemplate),a.mediaPreview&&(e.previewElement.querySelector("[data-dz-thumbnail]").remove(),r.innerHTML=a.mediaPreview),document.dispatchEvent(new CustomEvent("media-uploaded",{detail:{folder:a.mediaFolder}}))}}})}};return new l(e,m(m({},n),t))}return null};const g=function(){document.querySelectorAll("[data-clipboard-target]").forEach(function(e){e.addEventListener("click",function(e){e.preventDefault();var t=e.currentTarget,i=t.querySelector(".btn-label"),n=i.textContent;navigator.clipboard.writeText(document.querySelector(t.dataset.clipboardTarget).innerText).then(function(){t.classList.add("is-copied"),t.dataset.clipboardCopied&&(i.textContent=t.dataset.clipboardCopied),setTimeout(function(){t.classList.remove("is-copied"),i.textContent=n},1e3)})})})};const y=function(){var e=document.querySelector('[data-component="directory-create-form"]'),t=null==e?void 0:e.querySelector(".directory-create-input"),i=null==e?void 0:e.querySelector(".directory-create-cancel-btn");e&&(e.classList.add("d-none"),document.addEventListener("click",function(i){i.target.closest('[data-component="directory-create"]')&&(i.preventDefault(),e.classList.toggle("d-none"),e.classList.contains("d-none")||t.focus())}),e.addEventListener("submit",function(e){t.value.trim()||e.preventDefault()}),null==i||i.addEventListener("click",function(){e.classList.add("d-none"),t.value=""}),null==t||t.addEventListener("keydown",function(i){"Escape"===i.key&&(e.classList.add("d-none"),t.value="")}))};const b=function(){var e=document.querySelector('[data-component*="directory-list"]'),t=document.querySelector('[data-component="directory-rename-form"]'),i=null==t?void 0:t.querySelector(".directory-rename-input"),n=null==t?void 0:t.querySelector(".directory-rename-cancel-btn");e&&(document.addEventListener("click",function(e){e.target.closest(".directory-rename-header-btn")&&(e.preventDefault(),null==t||t.classList.toggle("d-none"),null!=t&&t.classList.contains("d-none")||(i.focus(),i.select()))}),null==t||t.addEventListener("submit",function(e){var n,a=i.value.trim();if(a){var r=(null===(n=t.querySelector('input[name="oldPath"]'))||void 0===n?void 0:n.value)||"",s=(r.includes("/")?r.substring(0,r.lastIndexOf("/")+1):"")+a,o=t.querySelector('input[name="newPath"]');o||((o=document.createElement("input")).type="hidden",o.name="newPath",t.appendChild(o)),o.value=s}else e.preventDefault()}),null==n||n.addEventListener("click",function(){t.classList.add("d-none"),i.value=""}),null==i||i.addEventListener("keydown",function(e){"Escape"===e.key&&(t.classList.add("d-none"),i.value="")}),e.addEventListener("click",function(e){var t=e.target.closest(".directory-rename-btn");if(t){var i=t.closest("tr").querySelector(".directory-name").closest("td"),n=i.querySelector(".directory-name"),a=i.querySelector(".directory-rename-form");n.classList.add("d-none"),a.classList.remove("d-none");var r=a.querySelector(".directory-rename-input");r.dataset.original=r.value,r.focus(),r.select()}}),e.addEventListener("click",function(e){var t=e.target.closest(".directory-rename-cancel-btn");if(t){var i=t.closest(".directory-rename-form"),n=i.parentElement.querySelector(".directory-name"),a=i.querySelector(".directory-rename-input");a.value=a.dataset.original,i.classList.add("d-none"),n.classList.remove("d-none")}}),e.addEventListener("submit",function(e){if(e.target.classList.contains("directory-rename-form")){e.preventDefault();var t=e.target,i=t.closest("td"),n=i.closest("tr"),a=i.querySelector(".directory-name"),r=t.querySelector(".directory-rename-input"),s=r.value.trim(),o=r.dataset.original;if(!s||s===o)return t.classList.add("d-none"),void a.classList.remove("d-none");var l=n.dataset.directory,d=(l.includes("/")?l.substring(0,l.lastIndexOf("/")+1):"")+s,c=t.querySelector('input[name="oldPath"]');c&&(c.value=l);var u=t.querySelector('input[name="newPath"]');u&&(u.value=d),t.submit()}}),e.addEventListener("keydown",function(e){if(e.target.classList.contains("directory-rename-input")&&"Escape"===e.key){var t=e.target.closest(".directory-rename-form"),i=t.parentElement.querySelector(".directory-name");e.target.value=e.target.dataset.original,t.classList.add("d-none"),i.classList.remove("d-none")}}))};const E=function(){var e=document.querySelector('[data-component*="media-list"]'),t=document.querySelector('[data-component*="media-rename"]');if(e||t){var i=function(e,t){var i,n;if(t)i=e.querySelector(".media-rename-form"),n=e.querySelector(".media-name");else{var a=e.querySelector(".media-rename-cancel-btn");if(!a)return;n=(i=a.closest(".media-rename-form")).parentElement.querySelector(".media-name")}var r=i.querySelector(".media-rename-input");r.value=r.dataset.original,i.classList.add("d-none"),n.classList.remove("d-none")},n=function(e,t,i){if(e.target.classList.contains("media-rename-form")){e.preventDefault();var n=e.target,a=n.querySelector(".media-rename-input"),r=a.value.trim(),s=a.dataset.original;if(!r||r===s)return n.classList.add("d-none"),void(i?t.querySelector(".media-name").classList.remove("d-none"):n.parentElement.querySelector(".media-name").classList.remove("d-none"));var o=n.querySelector('input[name="oldPath"]').value,l=(o.includes("/")?o.substring(0,o.lastIndexOf("/")+1):"")+r,d=n.querySelector('input[name="newPath"]');d&&(d.value=l),n.submit()}},a=function(e,t,i){if(e.target.classList.contains("media-rename-input")&&"Escape"===e.key){var n=e.target.closest(".media-rename-form"),a=i?t.querySelector(".media-name"):n.parentElement.querySelector(".media-name");e.target.value=e.target.dataset.original,n.classList.add("d-none"),a.classList.remove("d-none")}};e&&(e.querySelectorAll("tr.item").forEach(function(e){var t=e.querySelector(".media-name");if(t){var i,n=t.textContent.trim(),a=(null===(i=document.querySelector('meta[name="current-key"]'))||void 0===i?void 0:i.content)||"",r=a?"".concat(a,"/").concat(n):n;e.dataset.media=r}}),e.addEventListener("click",function(t){var n=t.target.closest(".media-rename-btn");if(n){var a=n.closest("tr").querySelector(".media-name").closest("td"),r=a.querySelector(".media-name"),s=a.querySelector(".media-rename-form");r.classList.add("d-none"),s.classList.remove("d-none");var o=s.querySelector(".media-rename-input");o.dataset.original=o.value,o.focus(),o.select()}t.target.closest(".media-rename-cancel-btn")&&i(e,!1)}),e.addEventListener("submit",function(t){return n(t,e,!1)}),e.addEventListener("keydown",function(t){return a(t,e,!1)})),t&&(t.addEventListener("click",function(e){e.target.closest(".media-rename-btn")&&function(e,t){var i=e.querySelector(".media-rename-btn");if(i){var n,a;if(t)n=e.querySelector(".media-name"),a=e.querySelector(".media-rename-form");else{var r=i.closest("tr").querySelector(".media-name").closest("td");n=r.querySelector(".media-name"),a=r.querySelector(".media-rename-form")}n.classList.add("d-none"),a.classList.remove("d-none");var s=a.querySelector(".media-rename-input");s.dataset.original=s.value,s.focus(),s.select()}}(t,!0),e.target.closest(".media-rename-cancel-btn")&&i(t,!0)}),t.addEventListener("submit",function(e){return n(e,t,!0)}),t.addEventListener("keydown",function(e){return a(e,t,!0)})),document.addEventListener("click",function(e){var t=e.target.closest(".media-rename-btn");if(t&&!t.closest('[data-component*="media-list"]')){var i=t.closest(".row");if(i){var n=i.querySelector('[data-component*="media-rename"]'),a=null==n?void 0:n.querySelector(".media-name"),r=null==n?void 0:n.querySelector(".media-rename-form");if(a&&r){a.classList.add("d-none"),r.classList.remove("d-none");var s=r.querySelector(".media-rename-input");s.dataset.original=s.value,s.focus(),s.select()}}}})}};var L="joli-media-tabs-active";const w=function(){var e=document.querySelector('[data-bs-toggle="tabs"]');if(e){e.addEventListener("shown.bs.tab",function(e){var t=e.target.getAttribute("href");t&&localStorage.setItem(L,t.replace("#",""))}),function(){var t=localStorage.getItem(L);if(t){var i=e.querySelector('[href="#'.concat(t,'"]'));if(i)new bootstrap.Tab(i).show()}}()}};var k=function(e){var t,i=document.getElementById("modal-folder-choice");if(i){0;var n,a,r,s,o=i.querySelector(".modal-body"),l=null==o?void 0:o.querySelector(".folder-list-container"),d=(null===(t=e.closest("[data-media-key]"))||void 0===t?void 0:t.dataset.mediaKey)||"",c=function(e){return fetch(e,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()})},u=e.dataset.folder||"",h=function(t){var n=i.querySelector(".folder-modal-breadcrumb");if(n){var a=e.getAttribute("href")||"",r=t?t.split("/").filter(function(e){return e}):[],s="";if(s+='').concat("Media Library",""),r.length>0){var o="";r.forEach(function(e,t){t>0&&(o+="/"),o+=e;var i=decodeURIComponent(e);if(s+='/',t===r.length-1)s+=''.concat(i,"");else{var n=a.replace(/\/$/,"")+"/"+encodeURIComponent(o);s+='').concat(i,"")}})}n.innerHTML=s}},p=function(e){l&&(l.innerHTML=e,h(u),m())},m=function(){var e=i.querySelector(".folder-modal-breadcrumb");null==e||e.addEventListener("click",function(e){var t=e.target.closest("a[data-folder-path]");if(t){e.preventDefault(),e.stopPropagation();var i=t.getAttribute("href");if(i&&!i.endsWith("#")){var n=new URL(i,window.location.origin).searchParams.get("key")||"";h(u=n),c(i).then(p)}}});var t=null==l?void 0:l.querySelector(".folder-parent a");null==t||t.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var i=t.dataset.folderPath||"",n=t.getAttribute("href");n&&!n.endsWith("#")&&(h(u=i),c(n).then(p))});var n=null==l?void 0:l.querySelectorAll("a[data-folder-path]");null==n||n.forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),t.stopPropagation();var i=e.dataset.folderPath||"",n=e.getAttribute("href");n&&!n.endsWith("#")&&(h(u=i),c(n).then(p))})});var a=i.querySelector(".folder-move-btn");a&&(a.dataset.folderPath=u,a.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),function(e){var t=document.querySelector("#move-form");if(t){var i=t.querySelector('input[name="from"]'),n=t.querySelector('input[name="to"]');i&&(i.value=d),n&&(n.value=e||""),t.submit()}}(u)}))};n=i.querySelector('[data-component="folder-create"]'),a=i.querySelector(".folder-create-form"),r=i.querySelector(".folder-create-input"),s=i.querySelector(".folder-create-cancel"),null==n||n.addEventListener("click",function(e){e.preventDefault(),a.classList.toggle("d-none"),a.classList.contains("d-none")||r.focus()}),null==s||s.addEventListener("click",function(){a.classList.add("d-none"),r.value=""}),null==a||a.addEventListener("submit",function(e){if(e.preventDefault(),r.value.trim()){var t=a.querySelector('input[name="parentPath"]');t&&(t.value=u);var i=new FormData(a);i.append("_mode","folder_choice"),fetch(a.action,{method:"POST",body:i,headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()}).then(function(e){l&&(l.innerHTML=e,h(u),m()),a.classList.add("d-none"),r.value=""}).catch(function(e){console.error("Error:",e)})}}),null==r||r.addEventListener("keydown",function(e){"Escape"===e.key&&(a.classList.add("d-none"),r.value="")});var f=e.getAttribute("href")||"",v=f;u&&(v=f.replace(/\/$/,"")+"/"+encodeURIComponent(u)),h(u),c(v).then(p),new bootstrap.Modal(i).show()}};const S=function(){document.querySelectorAll("[data-component=media-move]").forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),k(e)})})};document.addEventListener("DOMContentLoaded",function(){r(),w(),g(),y(),b(),E(),S();var e=null;document.addEventListener("click",function(t){var i=t.target.closest('[data-component="media-add"]');if(i){var n;t.preventDefault(),t.stopPropagation();var a=null===(n=i.closest(".joli-media-choose-container, .joli-media-header-tools"))||void 0===n?void 0:n.querySelector(".dropzone-container");if(!a)return;a.classList.toggle("dropzone-active");var r,s=a.querySelector('[data-component="dropzone"]');if(!s)return;if(a.classList.contains("dropzone-initialized")||(e=v(s),a.classList.add("dropzone-initialized")),!a.classList.contains("dropzone-active"))null===(r=e)||void 0===r||r.removeAllFiles(!0)}})})})()})(); \ No newline at end of file +(()=>{var e={264(){document.addEventListener("show.bs.modal",function(e){e.target.parentElement!==document.body&&document.body.appendChild(e.target)})}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}(()=>{"use strict";i(264);var e=function(e){for(var t=e;t&&t!==document.body;){if(t.dataset.controller&&t.dataset.controller.includes("live-collection"))return!0;t=t.parentElement}return!1},t=function(t){var i=t.dataset.mediaId,n=t.querySelector('[id^="joli-media-container_"]'),a=t.querySelector(".joli-media-choice-delete"),r=t.querySelector(".joli-media-choice-edit"),s=t.querySelector('[id="'.concat(i,'"]')),o=document.getElementById("modal-media-choice_".concat(i));if(o&&a&&r&&s&&n&&("true"!==o.dataset.moved||"true"!==t.dataset.configured)){if("true"!==o.dataset.moved&&(document.body.appendChild(o),o.dataset.moved="true"),!t.dataset.configured)if(t.dataset.configured="true",n&&!e(t))new MutationObserver(function(){var e=n.querySelectorAll(".media-preview");e.length>1&&e.forEach(function(t,i){i').concat("Media Library",""),s.length>0){var l="";s.forEach(function(e,t){t>0&&(l+="/"),l+=e;var i=decodeURIComponent(e);if(o+='/',t===s.length-1)o+=''.concat(i,"");else{var n="".concat(r,"/").concat(l);o+='').concat(i,"")}})}a.innerHTML=o}},c=function(){return r.dataset.basePath||r.href.split("?")[0]},u=function(){var e=new URL(r.href,window.location.origin).searchParams.get("key")||"";if(!e){var t=r.href.match(/\/media\/choose(?:\/(.+))?$/);t&&t[1]&&(e=t[1])}return e}(),h=function(e){var t=document.getElementById("modal-media-choice_".concat(i));if(t){var n=t.querySelector(".modal-body");n&&(n.innerHTML=e,d(u),m())}},p=function(i){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;"true"!==t.dataset.settingValue&&(t.dataset.settingValue="true",s.value=i,t.dataset.mediaValue=i,a&&(t.dataset.mediaTemplate=a,t.classList.remove("empty"),n&&!e(t)&&(n.innerHTML=a)),s.dispatchEvent(new Event("change",{bubbles:!0})),setTimeout(function(){t.dataset.settingValue="false"},100))},m=function(){var e=document.getElementById("modal-media-choice_".concat(i));if(e){var t=e.querySelector('[data-component="directory-create"]'),n=e.querySelector('[data-component="directory-create-form"]');if(n){var a=n.querySelector(".directory-create-input"),r=n.querySelector(".directory-create-cancel-btn"),s=n.querySelector(".directory-create-parent-path");null==t||t.addEventListener("click",function(e){e.preventDefault(),n.classList.toggle("d-none"),n.classList.contains("d-none")||a.focus()}),null==r||r.addEventListener("click",function(){n.classList.add("d-none"),a.value=""}),n.addEventListener("submit",function(e){e.preventDefault(),e.stopImmediatePropagation(),a.value.trim()&&(s.value=u,fetch(n.action,{method:"POST",body:new FormData(n),headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()}).then(function(e){h(e)}).catch(function(e){console.error("Error creating directory:",e)}))}),null==a||a.addEventListener("keydown",function(e){"Escape"===e.key&&(n.classList.add("d-none"),a.value="")})}}};o.dataset.handlersAttached||(a.addEventListener("click",function(e){e.preventDefault(),t.classList.add("empty"),t.dataset.mediaTemplate="",t.dataset.mediaValue="";var a=document.getElementById("template-null-label-".concat(i));return n.innerHTML="",a&&n.appendChild(a.content.cloneNode(!0)),p(""),!1}),r.addEventListener("click",function(e){e.preventDefault();var t=document.getElementById("modal-media-choice_".concat(i));if(t){var n=t.querySelector(".modal-body");return n&&(n.innerHTML=""),l(r.href).then(function(e){n&&(n.innerHTML=e),m(),bootstrap.Modal.getOrCreateInstance(t).show()}),!1}}),o.dataset.handlersAttached="true"),t._handleModalClick=function(e){var t=e.target.closest("a");if(null!==t&&"A"===t.tagName&&void 0!==t.attributes.href&&0!==t.attributes.href.length){var n=t.attributes.href.value;if(void 0===t.dataset.mediaTemplate||void 0===t.dataset.mediaUrl){if("#"!==n){if(t.closest(".folder-modal-breadcrumb")||t.closest(".gallery-grid--folders")||t.closest(".gallery-grid-item")||t.closest(".pagination")||n.match(/\/media\/choose/)){var a=new URL(n,window.location.origin).searchParams.get("key")||"";if(!a){var r=n.match(/\/media\/choose(?:\/(.+))?$/);r&&r[1]&&(a=r[1])}t.closest(".pagination")?u=a:d(u=a)}e.preventDefault(),e.stopPropagation(),l(n).then(h)}}else{e.preventDefault(),e.stopPropagation(),p(t.dataset.mediaUrl,t.dataset.mediaTemplate);var s=document.getElementById("modal-media-choice_".concat(i));null!=s&&s.classList.contains("show")&&function(){var e=document.getElementById("modal-media-choice_".concat(i));if(e){var t=bootstrap.Modal.getInstance(e)||bootstrap.Modal.getOrCreateInstance(e);t&&t.hide()}}()}}},t._handleModalSubmit=function(e){e.preventDefault(),e.stopPropagation();var t=e.target.closest("form"),i=t.action,n=new FormData(t);fetch(i,{method:"POST",body:n,headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()}).then(h)},t.dataset.configured=!0}};document.addEventListener("click",function(e){var i=e.target.closest(".joli-media-choice-edit");if(i){var n=i.closest(".js-joli-media-choice-container");n&&"true"!==n.dataset.configured&&t(n)}var a=e.target.closest('[id^="modal-media-choice_"]');if(a){var r=a.id.match(/modal-media-choice_(.+)/);if(r){var s=r[1],o=document.querySelector('.js-joli-media-choice-container[data-media-id="'.concat(s,'"]'));o&&"true"===o.dataset.configured&&o._handleModalClick&&o._handleModalClick(e)}}}),document.addEventListener("submit",function(e){var t=e.target.closest('[id^="modal-media-choice_"]');if(t){var i=t.id.match(/modal-media-choice_(.+)/);if(i){var n=i[1],a=document.querySelector('.js-joli-media-choice-container[data-media-id="'.concat(n,'"]'));a&&"true"===a.dataset.configured&&a._handleModalSubmit&&a._handleModalSubmit(e)}}});var n=function(){var e=new Set;document.querySelectorAll('[id^="modal-media-choice_"]').forEach(function(t){e.has(t.id)?t.remove():e.add(t.id)}),document.querySelectorAll(".js-joli-media-choice-container").forEach(function(e){void 0===e.dataset.configured&&t(e)})};document.addEventListener("DOMContentLoaded",n),document.addEventListener("turbo:frame-load",n),document.addEventListener("turbo:stream-render",n),document.addEventListener("turbo:streams:append",n),document.addEventListener("turbo:streams:prepend",n),document.addEventListener("turbo:before-stream-render",n),document.addEventListener("ux:autocomplete:initialize",n);var a=null;new MutationObserver(function(){clearTimeout(a),a=setTimeout(n,50)}).observe(document.body,{childList:!0,subtree:!0});const r=n;class s{on(e,t){return this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this}emit(e,...t){this._callbacks=this._callbacks||{};let i=this._callbacks[e];if(i)for(let e of i)e.apply(this,t);return this.element&&this.element.dispatchEvent(this.makeEvent("dropzone:"+e,{args:t})),this}makeEvent(e,t){let i={bubbles:!0,cancelable:!0,detail:t};if("function"==typeof window.CustomEvent)return new CustomEvent(e,i);var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,i.bubbles,i.cancelable,i.detail),n}off(e,t){if(!this._callbacks||0===arguments.length)return this._callbacks={},this;let i=this._callbacks[e];if(!i)return this;if(1===arguments.length)return delete this._callbacks[e],this;for(let e=0;et(),chunksUploaded:function(e,t){t()},binaryBody:!1,fallback(){let e;this.element.className=`${this.element.className} dz-browser-not-supported`;for(let t of this.element.getElementsByTagName("div"))if(/(^| )dz-message($| )/.test(t.className)){e=t,t.className="dz-message";break}e||(e=l.createElement('
'),this.element.appendChild(e));let t=e.getElementsByTagName("span")[0];return t&&(null!=t.textContent?t.textContent=this.options.dictFallbackMessage:null!=t.innerText&&(t.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize(e,t,i,n){let a={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},r=e.width/e.height;null==t&&null==i?(t=a.srcWidth,i=a.srcHeight):null==t?t=i*r:null==i&&(i=t/r);let s=(t=Math.min(t,a.srcWidth))/(i=Math.min(i,a.srcHeight));if(a.srcWidth>t||a.srcHeight>i)if("crop"===n)r>s?(a.srcHeight=e.height,a.srcWidth=a.srcHeight*s):(a.srcWidth=e.width,a.srcHeight=a.srcWidth/s);else{if("contain"!==n)throw new Error(`Unknown resizeMethod '${n}'`);r>s?i=t/r:t=i*r}return a.srcX=(e.width-a.srcWidth)/2,a.srcY=(e.height-a.srcHeight)/2,a.trgWidth=t,a.trgHeight=i,a},transformFile(e,t){return(this.options.resizeWidth||this.options.resizeHeight)&&e.type.match(/image.*/)?this.resizeImage(e,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,t):t(e)},previewTemplate:'\n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n \n \n \n
\n
\n \n \n \n
\n
',drop(e){return this.element.classList.remove("dz-drag-hover")},dragstart(e){},dragend(e){return this.element.classList.remove("dz-drag-hover")},dragenter(e){return this.element.classList.add("dz-drag-hover")},dragover(e){return this.element.classList.add("dz-drag-hover")},dragleave(e){return this.element.classList.remove("dz-drag-hover")},paste(e){},reset(){return this.element.classList.remove("dz-started")},addedfile(e){if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer&&!this.options.disablePreviews){for(var t of(e.previewElement=l.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement),e.previewElement.querySelectorAll("[data-dz-name]")))t.textContent=e.name;for(t of e.previewElement.querySelectorAll("[data-dz-size]"))t.innerHTML=this.filesize(e.size);this.options.addRemoveLinks&&(e._removeLink=l.createElement(`${this.options.dictRemoveFile}`),e.previewElement.appendChild(e._removeLink));let i=t=>(t.preventDefault(),t.stopPropagation(),e.status===l.UPLOADING?this.options.dictCancelUploadConfirmation?l.confirm(this.options.dictCancelUploadConfirmation,()=>this.removeFile(e)):this.removeFile(e):this.options.dictRemoveFileConfirmation?l.confirm(this.options.dictRemoveFileConfirmation,()=>this.removeFile(e)):this.removeFile(e));for(let t of e.previewElement.querySelectorAll("[data-dz-remove]"))t.addEventListener("click",i)}},removedfile(e){return null!=e.previewElement&&null!=e.previewElement.parentNode&&e.previewElement.parentNode.removeChild(e.previewElement),this._updateMaxFilesReachedClass()},thumbnail(e,t){if(e.previewElement){e.previewElement.classList.remove("dz-file-preview");for(let i of e.previewElement.querySelectorAll("[data-dz-thumbnail]"))i.alt=e.name,i.src=t;return setTimeout(()=>e.previewElement.classList.add("dz-image-preview"),1)}},error(e,t){if(e.previewElement){e.previewElement.classList.add("dz-error"),"string"!=typeof t&&t.error&&(t=t.error);for(let i of e.previewElement.querySelectorAll("[data-dz-errormessage]"))i.textContent=t}},errormultiple(){},processing(e){if(e.previewElement&&(e.previewElement.classList.add("dz-processing"),e._removeLink))return e._removeLink.innerHTML=this.options.dictCancelUpload},processingmultiple(){},uploadprogress(e,t,i){if(e.previewElement)for(let i of e.previewElement.querySelectorAll("[data-dz-uploadprogress]"))"PROGRESS"===i.nodeName?i.value=t:i.style.width=`${t}%`},totaluploadprogress(){},sending(){},sendingmultiple(){},success(e){if(e.previewElement)return e.previewElement.classList.add("dz-success")},successmultiple(){},canceled(e){return this.emit("error",e,this.options.dictUploadCanceled)},canceledmultiple(){},complete(e){if(e._removeLink&&(e._removeLink.innerHTML=this.options.dictRemoveFile),e.previewElement)return e.previewElement.classList.add("dz-complete")},completemultiple(){},maxfilesexceeded(){},maxfilesreached(){},queuecomplete(){},addedfiles(){},emptyfolder(){}};class l extends s{static initClass(){this.prototype.Emitter=s,this.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","addedfiles","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete","emptyfolder"],this.prototype._thumbnailQueue=[],this.prototype._processingThumbnail=!1}constructor(e,t){let i,n;if(super(),this.element=e,this.clickableElements=[],this.listeners=[],this.files=[],"string"==typeof this.element&&(this.element=document.querySelector(this.element)),null===this.element||!this.element instanceof HTMLElement)throw new Error("Invalid dropzone element: not an instance of HTMLElement.");if(this.element.dropzone)throw new Error("Dropzone already attached.");l.instances.push(this),this.element.dropzone=this;let a=null!=(n=l.optionsForElement(this.element))?n:{};if(this.options=Object.assign({},o,a,null!=t?t:{}),this.options.previewTemplate=this.options.previewTemplate.replace(/\n*/g,""),this.options.forceFallback||!l.isBrowserSupported())return this.options.fallback.call(this);if(null==this.options.url&&(this.options.url=this.element.getAttribute("action")),!this.options.url)throw new Error("No URL provided.");if(this.options.uploadMultiple&&this.options.chunking)throw new Error("You cannot set both: uploadMultiple and chunking.");if(this.options.binaryBody&&this.options.uploadMultiple)throw new Error("You cannot set both: binaryBody and uploadMultiple.");"string"==typeof this.options.method&&(this.options.method=this.options.method.toUpperCase()),(i=this.getExistingFallback())&&i.parentNode&&i.parentNode.removeChild(i),!1!==this.options.previewsContainer&&(this.options.previewsContainer?this.previewsContainer=l.getElement(this.options.previewsContainer,"previewsContainer"):this.previewsContainer=this.element),this.options.clickable&&(!0===this.options.clickable?this.clickableElements=[this.element]:this.clickableElements=l.getElements(this.options.clickable,"clickable")),this.init()}getAcceptedFiles(){return this.files.filter(e=>e.accepted).map(e=>e)}getRejectedFiles(){return this.files.filter(e=>!e.accepted).map(e=>e)}getFilesWithStatus(e){return this.files.filter(t=>t.status===e).map(e=>e)}getQueuedFiles(){return this.getFilesWithStatus(l.QUEUED)}getUploadingFiles(){return this.getFilesWithStatus(l.UPLOADING)}getAddedFiles(){return this.getFilesWithStatus(l.ADDED)}getActiveFiles(){return this.files.filter(e=>e.status===l.UPLOADING||e.status===l.QUEUED).map(e=>e)}init(){if("form"===this.element.tagName&&this.element.setAttribute("enctype","multipart/form-data"),this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")&&this.element.appendChild(l.createElement(`
`)),this.clickableElements.length){let e=()=>{this.hiddenFileInput&&this.hiddenFileInput.parentNode?.removeChild(this.hiddenFileInput),this.hiddenFileInput=document.createElement("input"),this.hiddenFileInput.setAttribute("type","file"),this.hiddenFileInput.setAttribute("form",this.element.id),(null===this.options.maxFiles||this.options.maxFiles>1)&&this.hiddenFileInput.setAttribute("multiple","multiple"),this.hiddenFileInput.className="dz-hidden-input",null!==this.options.acceptedFiles&&this.hiddenFileInput.setAttribute("accept",this.options.acceptedFiles),null!==this.options.capture&&this.hiddenFileInput.setAttribute("capture",this.options.capture),this.hiddenFileInput.setAttribute("tabindex","-1"),this.hiddenFileInput.setAttribute("aria-label","dropzone hidden input"),this.hiddenFileInput.style.visibility="hidden",this.hiddenFileInput.style.position="absolute",this.hiddenFileInput.style.top="0",this.hiddenFileInput.style.left="0",this.hiddenFileInput.style.height="0",this.hiddenFileInput.style.width="0",l.getElement(this.options.hiddenInputContainer,"hiddenInputContainer").appendChild(this.hiddenFileInput),this.hiddenFileInput.addEventListener("change",()=>{let{files:t}=this.hiddenFileInput;if(t.length)for(let e of t)this.addFile(e);this.emit("addedfiles",t),e()})};e()}this.URL=null!==window.URL?window.URL:window.webkitURL;for(let e of this.events)this.on(e,this.options[e]);this.on("uploadprogress",()=>this.updateTotalUploadProgress()),this.on("removedfile",()=>this.updateTotalUploadProgress()),this.on("canceled",e=>this.emit("complete",e)),this.on("complete",e=>{if(0===this.getAddedFiles().length&&0===this.getUploadingFiles().length&&0===this.getQueuedFiles().length)return setTimeout(()=>this.emit("queuecomplete"),0)});let e=function(e){if(function(e){return e.dataTransfer.types&&e.dataTransfer.types.includes("Files")}(e))return e.stopPropagation(),e.preventDefault()};return this.listeners=[{element:this.element,events:{dragstart:e=>this.emit("dragstart",e),dragenter:t=>(e(t),this.emit("dragenter",t)),dragover:t=>{const i=t.dataTransfer.effectAllowed;return t.dataTransfer.dropEffect="move"===i||"linkMove"===i?"move":"copy",e(t),this.emit("dragover",t)},dragleave:e=>this.emit("dragleave",e),drop:t=>(e(t),this.drop(t)),dragend:e=>this.emit("dragend",e)}}],this.clickableElements.forEach(e=>this.listeners.push({element:e,events:{click:t=>((e!==this.element||t.target===this.element||l.elementInside(t.target,this.element.querySelector(".dz-message")))&&this.hiddenFileInput.click(),!0)}})),this.enable(),this.options.init.call(this)}destroy(){return this.disable(),this.removeAllFiles(!0),(null!=this.hiddenFileInput?this.hiddenFileInput.parentNode:void 0)&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete this.element.dropzone,l.instances.splice(l.instances.indexOf(this),1)}updateTotalUploadProgress(){let e,t=0,i=0;if(this.getActiveFiles().length){for(let e of this.getActiveFiles())t+=e.upload.bytesSent,i+=e.upload.total;e=100*t/i}else e=100;return this.emit("totaluploadprogress",e,i,t)}_getParamName(e){return"function"==typeof this.options.paramName?this.options.paramName(e):`${this.options.paramName}${this.options.uploadMultiple?`[${e}]`:""}`}_renameFile(e){const t={...e,name:e.name.replace(/\u202F/g," ")};return"function"!=typeof this.options.renameFile?t.name:this.options.renameFile(t)}getFallbackForm(){let e,t;if(e=this.getExistingFallback())return e;let i='
';this.options.dictFallbackText&&(i+=`

${this.options.dictFallbackText}

`),i+=`
`;let n=l.createElement(i);return"FORM"!==this.element.tagName?(t=l.createElement(`
`),t.appendChild(n)):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=t?t:n}getExistingFallback(){let e=function(e){for(let t of e)if(/(^| )fallback($| )/.test(t.className))return t};for(let i of["div","form"]){var t;if(t=e(this.element.getElementsByTagName(i)))return t}}setupEventListeners(){return this.listeners.map(e=>(()=>{let t=[];for(let i in e.events){let n=e.events[i];t.push(e.element.addEventListener(i,n,!1))}return t})())}removeEventListeners(){return this.listeners.map(e=>(()=>{let t=[];for(let i in e.events){let n=e.events[i];t.push(e.element.removeEventListener(i,n,!1))}return t})())}disable(){return this.clickableElements.forEach(e=>e.classList.remove("dz-clickable")),this.removeEventListeners(),this.disabled=!0,this.files.map(e=>this.cancelUpload(e))}enable(){return delete this.disabled,this.clickableElements.forEach(e=>e.classList.add("dz-clickable")),this.setupEventListeners()}filesize(e){let t=0,i="b";if(e>0){let n=["tb","gb","mb","kb","b"];for(let a=0;a=Math.pow(this.options.filesizeBase,4-a)/10){t=e/Math.pow(this.options.filesizeBase,4-a),i=r;break}}t=Math.round(10*t)/10}return`${t} ${this.options.dictFileSizeUnits[i]}`}_updateMaxFilesReachedClass(){return null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")}drop(e){if(!e.dataTransfer)return;this.emit("drop",e);let t=[];for(let i=0;ie.items,null!=t?i(t):void 0))return;var t,i;this.emit("paste",e);let{items:n}=e.clipboardData;return n.length?this._addFilesFromItems(n):void 0}handleFiles(e){for(let t of e)this.addFile(t)}_addFilesFromItems(e){return(()=>{let t=[];for(let n of e){var i;null!=n.webkitGetAsEntry&&(i=n.webkitGetAsEntry())?i.isFile?t.push(this.addFile(n.getAsFile())):i.isDirectory?t.push(this._addFilesFromDirectory(i,i.name)):t.push(void 0):null!=n.getAsFile&&(null==n.kind||"file"===n.kind)?t.push(this.addFile(n.getAsFile())):t.push(void 0)}return t})()}_addFilesFromDirectory(e,t){let i=e.createReader(),n=e=>{return t=console,i="log",n=t=>t.log(e),null!=t&&"function"==typeof t[i]?n(t,i):void 0;var t,i,n},a=0;var r=()=>i.readEntries(e=>{if(e.length>0){for(let i of e)i.isFile?(++a,i.file(e=>{if(!this.options.ignoreHiddenFiles||"."!==e.name.substring(0,1))return e.fullPath=`${t}/${e.name}`,this.addFile(e)})):i.isDirectory&&this._addFilesFromDirectory(i,`${t}/${i.name}`);r()}else 0===a&&this.emit("emptyfolder",t);return null},n);return r()}accept(e,t){this.options.maxFilesize&&e.size>1048576*this.options.maxFilesize?t(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):l.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(t(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,t):t(this.options.dictInvalidFileType)}addFile(e){e.upload={uuid:window.isSecureContext?self.crypto.randomUUID():l.uuidv4(),progress:0,total:e.size,bytesSent:0,filename:this._renameFile(e)},this.files.push(e),e.status=l.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,t=>{t?(e.accepted=!1,this._errorProcessing([e],t)):(e.accepted=!0,this.options.autoQueue&&this.enqueueFile(e)),this._updateMaxFilesReachedClass()})}enqueueFiles(e){for(let t of e)this.enqueueFile(t);return null}enqueueFile(e){if(e.status!==l.ADDED||!0!==e.accepted)throw new Error("This file can't be queued because it has already been processed or was rejected.");if(e.status=l.QUEUED,this.options.autoProcessQueue)return setTimeout(()=>this.processQueue(),0)}_enqueueThumbnail(e){if(this.options.createImageThumbnails&&e.type.match(/image.*/)&&e.size<=1048576*this.options.maxThumbnailFilesize)return this._thumbnailQueue.push(e),setTimeout(()=>this._processThumbnailQueue(),0)}_processThumbnailQueue(){if(this._processingThumbnail||0===this._thumbnailQueue.length)return;this._processingThumbnail=!0;let e=this._thumbnailQueue.shift();return this.createThumbnail(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,!0,t=>(this.emit("thumbnail",e,t),this._processingThumbnail=!1,this._processThumbnailQueue()))}removeFile(e){if(e.status===l.UPLOADING&&this.cancelUpload(e),this.files=d(this.files,e),this.emit("removedfile",e),0===this.files.length)return this.emit("reset")}removeAllFiles(e){null==e&&(e=!1);for(let t of this.files.slice())(t.status!==l.UPLOADING||e)&&this.removeFile(t);return null}resizeImage(e,t,i,n,a){return this.createThumbnail(e,t,i,n,!0,(t,i)=>{if(null==i)return a(e);{let{resizeMimeType:t}=this.options;null==t&&(t=e.type);let n=i.toDataURL(t,this.options.resizeQuality);return"image/jpeg"!==t&&"image/jpg"!==t||(n=function(e,t){var i="data:image/jpeg;base64,";if(!e.startsWith(i)||!t.startsWith(i))return t;var n=window.atob(e.slice(i.length));if(!n.startsWith("ÿØÿ"))return t;var a=0,r="";for(;a{e.dataURL=o.result,"image/svg+xml"!==e.type&&"image/gif"!==e.type?this.createThumbnailFromUrl(e,t,i,n,a,r,void 0,s):null!=r&&r(o.result)},o.readAsDataURL(e)}displayExistingFile(e,t,i,n,a=!0){if(this.emit("addedfile",e),this.emit("complete",e),a){let a=t=>{this.emit("thumbnail",e,t),i&&i()};e.dataURL=t,this.createThumbnailFromUrl(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,this.options.fixOrientation,a,n)}else this.emit("thumbnail",e,t),i&&i()}createThumbnailFromUrl(e,t,i,n,a,r,s,o=!1){let l=document.createElement("img");s&&(l.crossOrigin=s),a="from-image"!=getComputedStyle(document.body).imageOrientation&&a,l.onload=()=>{let s=e=>e(1);return"undefined"!=typeof EXIF&&null!==EXIF&&a&&(s=e=>EXIF.getData(l,function(){return e(EXIF.getTag(this,"Orientation"))})),s(a=>{e.width=l.width,e.height=l.height;let s=this.options.resize.call(this,e,t,i,n),o=document.createElement("canvas"),d=o.getContext("2d");switch(o.width=s.trgWidth,o.height=s.trgHeight,a>4&&(o.width=s.trgHeight,o.height=s.trgWidth),a){case 2:d.translate(o.width,0),d.scale(-1,1);break;case 3:d.translate(o.width,o.height),d.rotate(Math.PI);break;case 4:d.translate(0,o.height),d.scale(1,-1);break;case 5:d.rotate(.5*Math.PI),d.scale(1,-1);break;case 6:d.rotate(.5*Math.PI),d.translate(0,-o.width);break;case 7:d.rotate(.5*Math.PI),d.translate(o.height,-o.width),d.scale(-1,1);break;case 8:d.rotate(-.5*Math.PI),d.translate(-o.height,0)}u(d,l,null!=s.srcX?s.srcX:0,null!=s.srcY?s.srcY:0,s.srcWidth,s.srcHeight,null!=s.trgX?s.trgX:0,null!=s.trgY?s.trgY:0,s.trgWidth,s.trgHeight);let c=o.toDataURL("image/png");if(null!=r)return r(c,o)})},null!=r&&(l.onerror=r);var d=e.dataURL;return o&&(d=function(e){var t="data:image/jpeg;base64,";if(!e.startsWith(t))return e;var i=window.atob(e.slice(t.length));if(!i.startsWith("ÿØÿ"))return e;var n=0,a="";for(;n=e)return;let n=this.getQueuedFiles();if(n.length>0){if(this.options.uploadMultiple)return this.processFiles(n.slice(0,e-t));for(;it.xhr===e).map(e=>e)}cancelUpload(e){if(e.status===l.UPLOADING){let t=this._getFilesWithXhr(e.xhr);for(let e of t)e.status=l.CANCELED;void 0!==e.xhr&&e.xhr.abort();for(let e of t)this.emit("canceled",e);this.options.uploadMultiple&&this.emit("canceledmultiple",t)}else e.status!==l.ADDED&&e.status!==l.QUEUED||(e.status=l.CANCELED,this.emit("canceled",e),this.options.uploadMultiple&&this.emit("canceledmultiple",[e]));if(this.options.autoProcessQueue)return this.processQueue()}resolveOption(e,...t){return"function"==typeof e?e.apply(this,t):e}uploadFile(e){return this.uploadFiles([e])}uploadFiles(e){this._transformFiles(e,t=>{if(this.options.chunking){let i=t[0];e[0].upload.chunked=this.options.chunking&&(this.options.forceChunking||i.size>this.options.chunkSize),e[0].upload.totalChunkCount=Math.ceil(i.size/this.options.chunkSize),0===i.size&&(e[0].upload.totalChunkCount=1)}if(e[0].upload.chunked){let i=e[0],n=t[0];i.upload.chunks=[];let a=()=>{let t=0;for(;void 0!==i.upload.chunks[t];)t++;if(t>=i.upload.totalChunkCount)return;let a=t*this.options.chunkSize,r=Math.min(a+this.options.chunkSize,n.size),s={name:this._getParamName(0),data:n.webkitSlice?n.webkitSlice(a,r):n.slice(a,r),filename:i.upload.filename,chunkIndex:t};i.upload.chunks[t]={file:i,index:t,dataBlock:s,status:l.UPLOADING,progress:0,retries:0},this._uploadData(e,[s])};if(i.upload.finishedChunkUpload=(t,n)=>{let r=!0;t.status=l.SUCCESS,t.dataBlock=null,t.response=t.xhr.responseText,t.responseHeaders=t.xhr.getAllResponseHeaders(),t.xhr=null;for(let e=0;e{this._finished(e,n,null)})},this.options.parallelChunkUploads){const e=Math.min(!0===this.options.parallelChunkUploads?this.options.parallelUploads:this.options.parallelChunkUploads,i.upload.totalChunkCount);for(let t=0;t{this._finishedUploading(e,i,t)},i.ontimeout=()=>{this._handleUploadError(e,i,`Request timedout after ${this.options.timeout/1e3} seconds`)},i.onerror=()=>{this._handleUploadError(e,i)},(null!=i.upload?i.upload:i).onprogress=t=>this._updateFilesUploadProgress(e,i,t);let r=this.options.defaultHeaders?{Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"}:{};this.options.binaryBody&&(r["Content-Type"]=e[0].type),this.options.headers&&Object.assign(r,this.options.headers);for(let e in r){let t=r[e];t&&i.setRequestHeader(e,t)}if(this.options.binaryBody){for(let t of e)this.emit("sending",t,i);this.options.uploadMultiple&&this.emit("sendingmultiple",e,i),this.submitRequest(i,null,e)}else{let n=new FormData;if(this.options.params){let t=this.options.params;"function"==typeof t&&(t=t.call(this,e,i,e[0].upload.chunked?this._getChunk(e[0],i):null));for(let e in t){let i=t[e];if(Array.isArray(i))for(let t=0;t{i[a]=r,++n===e.length&&t(i)})}_addFormElementData(e){if("FORM"===this.element.tagName)for(let t of this.element.querySelectorAll("input, textarea, select, button")){let i=t.getAttribute("name"),n=t.getAttribute("type");if(n&&(n=n.toLowerCase()),null!=i)if("SELECT"===t.tagName&&t.hasAttribute("multiple"))for(let n of t.options)n.selected&&e.append(i,n.value);else(!n||"checkbox"!==n&&"radio"!==n||t.checked)&&e.append(i,t.value)}}_updateFilesUploadProgress(e,t,i){if(e[0].upload.chunked){let n=e[0],a=this._getChunk(n,t);i?(a.progress=100*i.loaded/i.total,a.total=i.total,a.bytesSent=i.loaded):(a.progress=100,a.bytesSent=a.total),n.upload.progress=0,n.upload.total=0,n.upload.bytesSent=0;for(let e=0;e(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16))}}l.initClass(),l.options={},l.optionsForElement=function(e){return e.getAttribute("id")&&void 0!==l.options?l.options[c(e.getAttribute("id"))]:void 0},l.instances=[],l.forElement=function(e){if("string"==typeof e&&(e=document.querySelector(e)),null==(null!=e?e.dropzone:void 0))throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone.");return e.dropzone},l.discover=function(){let e;if(document.querySelectorAll)e=document.querySelectorAll(".dropzone");else{e=[];let t=t=>(()=>{let i=[];for(let n of t)/(^| )dropzone($| )/.test(n.className)?i.push(e.push(n)):i.push(void 0);return i})();t(document.getElementsByTagName("div")),t(document.getElementsByTagName("form"))}return(()=>{let t=[];for(let i of e)!1!==l.optionsForElement(i)?t.push(new l(i)):t.push(void 0);return t})()},l.isBrowserSupported=function(){return"undefined"!=typeof Promise},l.dataURItoBlob=function(e){let t=atob(e.split(",")[1]),i=e.split(",")[0].split(":")[1].split(";")[0],n=new ArrayBuffer(t.length),a=new Uint8Array(n);for(let e=0,i=t.length,n=0<=i;n?e<=i:e>=i;n?e++:e--)a[e]=t.charCodeAt(e);return new Blob([n],{type:i})};const d=(e,t)=>e.filter(e=>e!==t).map(e=>e),c=e=>e.replace(/[\-_](\w)/g,e=>e.charAt(1).toUpperCase());l.createElement=function(e){let t=document.createElement("div");return t.innerHTML=e,t.childNodes[0]},l.elementInside=function(e,t){if(e===t)return!0;for(;e=e.parentNode;)if(e===t)return!0;return!1},l.getElement=function(e,t){let i;if("string"==typeof e?i=document.querySelector(e):null!=e.nodeType&&(i=e),null==i)throw new Error(`Invalid \`${t}\` option provided. Please provide a CSS selector or a plain HTML element.`);return i},l.getElements=function(e,t){let i,n;if(e instanceof Array){n=[];try{for(i of e)n.push(this.getElement(i,t))}catch(e){n=null}}else if("string"==typeof e)for(i of(n=[],document.querySelectorAll(e)))n.push(i);else null!=e.nodeType&&(n=[e]);if(null==n||!n.length)throw new Error(`Invalid \`${t}\` option provided. Please provide a CSS selector, a plain HTML element or a list of those.`);return n},l.confirm=function(e,t,i){return window.confirm(e)?t():null!=i?i():void 0},l.isValidFile=function(e,t){if(!t)return!0;t=t.split(",");let i=e.type,n=i.replace(/\/.*$/,"");for(let a of t)if(a=a.trim(),"."===a.charAt(0)){if(-1!==e.name.toLowerCase().indexOf(a.toLowerCase(),e.name.length-a.length))return!0}else if(/\/\*$/.test(a)){if(n===a.replace(/\/.*$/,""))return!0}else if(i===a)return!0;return!1},"undefined"!=typeof jQuery&&null!==jQuery&&(jQuery.fn.dropzone=function(e){return this.each(function(){return new l(this,e)})}),l.ADDED="added",l.QUEUED="queued",l.ACCEPTED=l.QUEUED,l.UPLOADING="uploading",l.PROCESSING=l.UPLOADING,l.CANCELED="canceled",l.ERROR="error",l.SUCCESS="success";var u=function(e,t,i,n,a,r,s,o,l,d){let c=function(e){let t=e.naturalHeight,i=document.createElement("canvas");i.width=1,i.height=t;let n=i.getContext("2d");n.drawImage(e,0,0);let{data:a}=n.getImageData(1,0,1,t),r=0,s=t,o=t;for(;o>r;)0===a[4*(o-1)+3]?s=o:r=o,o=s+r>>1;let l=o/t;return 0===l?1:l}(t);return e.drawImage(t,i,n,a,r,s,o,l,d/c)};function h(e){return h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h(e)}function p(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,n)}return i}function m(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:null;if(null===e&&(e=document.querySelector("[data-component=dropzone]")),e){var t=e.dataset.dropzoneConfig?JSON.parse(e.dataset.dropzoneConfig):{},i=e.querySelector(".dz-preview-template"),n={addRemoveLinks:!1,maxFilesize:20,paramName:"upload[file]",previewTemplate:i?i.innerHTML:"",thumbnailWidth:180,thumbnailHeight:109,sending:function(e,t){e.previewElement&&(t.onreadystatechange=function(){if(4===t.readyState&&200===t.status){var i,n=JSON.parse(t.responseText);if(null!=n&&null!==(i=n.files[0])&&void 0!==i&&i.link){var a=n.files[0],r=e.previewElement.querySelector("[data-dz-link]");r.href=a.link,r.setAttribute("data-media-folder",a.mediaFolder),r.setAttribute("data-media-url",a.mediaUrl),r.setAttribute("data-media-template",a.mediaTemplate),a.mediaPreview&&(e.previewElement.querySelector("[data-dz-thumbnail]").remove(),r.innerHTML=a.mediaPreview),document.dispatchEvent(new CustomEvent("media-uploaded",{detail:{folder:a.mediaFolder}}))}}})}};return new l(e,m(m({},n),t))}return null};const g=function(){document.querySelectorAll("[data-clipboard-target]").forEach(function(e){e.addEventListener("click",function(e){e.preventDefault();var t=e.currentTarget,i=t.querySelector(".btn-label"),n=i.textContent;navigator.clipboard.writeText(document.querySelector(t.dataset.clipboardTarget).innerText).then(function(){t.classList.add("is-copied"),t.dataset.clipboardCopied&&(i.textContent=t.dataset.clipboardCopied),setTimeout(function(){t.classList.remove("is-copied"),i.textContent=n},1e3)})})})};const y=function(){var e=document.querySelector('[data-component="directory-create-form"]'),t=null==e?void 0:e.querySelector(".directory-create-input"),i=null==e?void 0:e.querySelector(".directory-create-cancel-btn");e&&(e.classList.add("d-none"),document.addEventListener("click",function(i){i.target.closest('[data-component="directory-create"]')&&(i.preventDefault(),e.classList.toggle("d-none"),e.classList.contains("d-none")||t.focus())}),e.addEventListener("submit",function(e){t.value.trim()||e.preventDefault()}),null==i||i.addEventListener("click",function(){e.classList.add("d-none"),t.value=""}),null==t||t.addEventListener("keydown",function(i){"Escape"===i.key&&(e.classList.add("d-none"),t.value="")}))};const b=function(){var e=document.querySelector('[data-component*="directory-list"]'),t=document.querySelector('[data-component="directory-rename-form"]'),i=null==t?void 0:t.querySelector(".directory-rename-input"),n=null==t?void 0:t.querySelector(".directory-rename-cancel-btn");document.addEventListener("click",function(e){e.target.closest(".directory-rename-header-btn")&&(e.preventDefault(),null==t||t.classList.toggle("d-none"),null!=t&&t.classList.contains("d-none")||(i.focus(),i.select()))}),null==t||t.addEventListener("submit",function(e){var n,a=i.value.trim();if(a){var r=(null===(n=t.querySelector('input[name="oldPath"]'))||void 0===n?void 0:n.value)||"",s=(r.includes("/")?r.substring(0,r.lastIndexOf("/")+1):"")+a,o=t.querySelector('input[name="newPath"]');o||((o=document.createElement("input")).type="hidden",o.name="newPath",t.appendChild(o)),o.value=s}else e.preventDefault()}),null==n||n.addEventListener("click",function(){t.classList.add("d-none"),i.value=""}),null==i||i.addEventListener("keydown",function(e){"Escape"===e.key&&(t.classList.add("d-none"),i.value="")}),e&&(e.addEventListener("click",function(e){var t=e.target.closest(".directory-rename-btn");if(t){var i=t.closest("tr").querySelector(".directory-name").closest("td"),n=i.querySelector(".directory-name"),a=i.querySelector(".directory-rename-form");n.classList.add("d-none"),a.classList.remove("d-none");var r=a.querySelector(".directory-rename-input");r.dataset.original=r.value,r.focus(),r.select()}}),e.addEventListener("click",function(e){var t=e.target.closest(".directory-rename-cancel-btn");if(t){var i=t.closest(".directory-rename-form"),n=i.parentElement.querySelector(".directory-name"),a=i.querySelector(".directory-rename-input");a.value=a.dataset.original,i.classList.add("d-none"),n.classList.remove("d-none")}}),e.addEventListener("submit",function(e){if(e.target.classList.contains("directory-rename-form")){e.preventDefault();var t=e.target,i=t.closest("td"),n=i.closest("tr"),a=i.querySelector(".directory-name"),r=t.querySelector(".directory-rename-input"),s=r.value.trim(),o=r.dataset.original;if(!s||s===o)return t.classList.add("d-none"),void a.classList.remove("d-none");var l=n.dataset.directory,d=(l.includes("/")?l.substring(0,l.lastIndexOf("/")+1):"")+s,c=t.querySelector('input[name="oldPath"]');c&&(c.value=l);var u=t.querySelector('input[name="newPath"]');u&&(u.value=d),t.submit()}}),e.addEventListener("keydown",function(e){if(e.target.classList.contains("directory-rename-input")&&"Escape"===e.key){var t=e.target.closest(".directory-rename-form"),i=t.parentElement.querySelector(".directory-name");e.target.value=e.target.dataset.original,t.classList.add("d-none"),i.classList.remove("d-none")}}))};const E=function(){var e=document.querySelector('[data-component*="media-list"]'),t=document.querySelector('[data-component*="media-rename"]');if(e||t){var i=function(e,t){var i,n;if(t)i=e.querySelector(".media-rename-form"),n=e.querySelector(".media-name");else{var a=e.querySelector(".media-rename-cancel-btn");if(!a)return;n=(i=a.closest(".media-rename-form")).parentElement.querySelector(".media-name")}var r=i.querySelector(".media-rename-input");r.value=r.dataset.original,i.classList.add("d-none"),n.classList.remove("d-none")},n=function(e,t,i){if(e.target.classList.contains("media-rename-form")){e.preventDefault();var n=e.target,a=n.querySelector(".media-rename-input"),r=a.value.trim(),s=a.dataset.original;if(!r||r===s)return n.classList.add("d-none"),void(i?t.querySelector(".media-name").classList.remove("d-none"):n.parentElement.querySelector(".media-name").classList.remove("d-none"));var o=n.querySelector('input[name="oldPath"]').value,l=(o.includes("/")?o.substring(0,o.lastIndexOf("/")+1):"")+r,d=n.querySelector('input[name="newPath"]');d&&(d.value=l),n.submit()}},a=function(e,t,i){if(e.target.classList.contains("media-rename-input")&&"Escape"===e.key){var n=e.target.closest(".media-rename-form"),a=i?t.querySelector(".media-name"):n.parentElement.querySelector(".media-name");e.target.value=e.target.dataset.original,n.classList.add("d-none"),a.classList.remove("d-none")}};e&&(e.querySelectorAll("tr.item").forEach(function(e){var t=e.querySelector(".media-name");if(t){var i,n=t.textContent.trim(),a=(null===(i=document.querySelector('meta[name="current-key"]'))||void 0===i?void 0:i.content)||"",r=a?"".concat(a,"/").concat(n):n;e.dataset.media=r}}),e.addEventListener("click",function(t){var n=t.target.closest(".media-rename-btn");if(n){var a=n.closest("tr").querySelector(".media-name").closest("td"),r=a.querySelector(".media-name"),s=a.querySelector(".media-rename-form");r.classList.add("d-none"),s.classList.remove("d-none");var o=s.querySelector(".media-rename-input");o.dataset.original=o.value,o.focus(),o.select()}t.target.closest(".media-rename-cancel-btn")&&i(e,!1)}),e.addEventListener("submit",function(t){return n(t,e,!1)}),e.addEventListener("keydown",function(t){return a(t,e,!1)})),t&&(t.addEventListener("click",function(e){e.target.closest(".media-rename-btn")&&function(e,t){var i=e.querySelector(".media-rename-btn");if(i){var n,a;if(t)n=e.querySelector(".media-name"),a=e.querySelector(".media-rename-form");else{var r=i.closest("tr").querySelector(".media-name").closest("td");n=r.querySelector(".media-name"),a=r.querySelector(".media-rename-form")}n.classList.add("d-none"),a.classList.remove("d-none");var s=a.querySelector(".media-rename-input");s.dataset.original=s.value,s.focus(),s.select()}}(t,!0),e.target.closest(".media-rename-cancel-btn")&&i(t,!0)}),t.addEventListener("submit",function(e){return n(e,t,!0)}),t.addEventListener("keydown",function(e){return a(e,t,!0)})),document.addEventListener("click",function(e){var t=e.target.closest(".media-rename-btn");if(t&&!t.closest('[data-component*="media-list"]')){var i=t.closest(".row");if(i){var n=i.querySelector('[data-component*="media-rename"]'),a=null==n?void 0:n.querySelector(".media-name"),r=null==n?void 0:n.querySelector(".media-rename-form");if(a&&r){a.classList.add("d-none"),r.classList.remove("d-none");var s=r.querySelector(".media-rename-input");s.dataset.original=s.value,s.focus(),s.select()}}}})}};var L="joli-media-tabs-active";const w=function(){var e=document.querySelector('[data-bs-toggle="tabs"]');if(e){e.addEventListener("shown.bs.tab",function(e){var t=e.target.getAttribute("href");t&&localStorage.setItem(L,t.replace("#",""))}),function(){var t=localStorage.getItem(L);if(t){var i=e.querySelector('[href="#'.concat(t,'"]'));if(i)new bootstrap.Tab(i).show()}}()}};var k=function(e){var t,i=document.getElementById("modal-folder-choice");if(i){0;var n,a,r,s,o=i.querySelector(".modal-body"),l=null==o?void 0:o.querySelector(".folder-list-container"),d=(null===(t=e.closest("[data-media-key]"))||void 0===t?void 0:t.dataset.mediaKey)||"",c=function(e){return fetch(e,{headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()})},u=e.dataset.folder||"",h=function(t){var n=i.querySelector(".folder-modal-breadcrumb");if(n){var a=e.getAttribute("href")||"",r=t?t.split("/").filter(function(e){return e}):[],s="";if(s+='').concat("Media Library",""),r.length>0){var o="";r.forEach(function(e,t){t>0&&(o+="/"),o+=e;var i=decodeURIComponent(e);if(s+='/',t===r.length-1)s+=''.concat(i,"");else{var n=a.replace(/\/$/,"")+"/"+encodeURIComponent(o);s+='').concat(i,"")}})}n.innerHTML=s}},p=function(e){l&&(l.innerHTML=e,h(u),m())},m=function(){var e=i.querySelector(".folder-modal-breadcrumb");null==e||e.addEventListener("click",function(e){var t=e.target.closest("a[data-folder-path]");if(t){e.preventDefault(),e.stopPropagation();var i=t.getAttribute("href");if(i&&!i.endsWith("#")){var n=new URL(i,window.location.origin).searchParams.get("key")||"";h(u=n),c(i).then(p)}}});var t=null==l?void 0:l.querySelector(".folder-parent a");null==t||t.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var i=t.dataset.folderPath||"",n=t.getAttribute("href");n&&!n.endsWith("#")&&(h(u=i),c(n).then(p))});var n=null==l?void 0:l.querySelectorAll("a[data-folder-path]");null==n||n.forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),t.stopPropagation();var i=e.dataset.folderPath||"",n=e.getAttribute("href");n&&!n.endsWith("#")&&(h(u=i),c(n).then(p))})});var a=i.querySelector(".folder-move-btn");a&&(a.dataset.folderPath=u,a.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),function(e){var t=document.querySelector("#move-form");if(t){var i=t.querySelector('input[name="from"]'),n=t.querySelector('input[name="to"]');i&&(i.value=d),n&&(n.value=e||""),t.submit()}}(u)}))};n=i.querySelector('[data-component="folder-create"]'),a=i.querySelector(".folder-create-form"),r=i.querySelector(".folder-create-input"),s=i.querySelector(".folder-create-cancel"),null==n||n.addEventListener("click",function(e){e.preventDefault(),a.classList.toggle("d-none"),a.classList.contains("d-none")||r.focus()}),null==s||s.addEventListener("click",function(){a.classList.add("d-none"),r.value=""}),null==a||a.addEventListener("submit",function(e){if(e.preventDefault(),r.value.trim()){var t=a.querySelector('input[name="parentPath"]');t&&(t.value=u);var i=new FormData(a);i.append("_mode","folder_choice"),fetch(a.action,{method:"POST",body:i,headers:{"X-Requested-With":"XMLHttpRequest"}}).then(function(e){return e.text()}).then(function(e){l&&(l.innerHTML=e,h(u),m()),a.classList.add("d-none"),r.value=""}).catch(function(e){console.error("Error:",e)})}}),null==r||r.addEventListener("keydown",function(e){"Escape"===e.key&&(a.classList.add("d-none"),r.value="")});var f=e.getAttribute("href")||"",v=f;u&&(v=f.replace(/\/$/,"")+"/"+encodeURIComponent(u)),h(u),c(v).then(p),new bootstrap.Modal(i).show()}};const S=function(){document.querySelectorAll("[data-component=media-move]").forEach(function(e){e.addEventListener("click",function(t){t.preventDefault(),k(e)})})};document.addEventListener("DOMContentLoaded",function(){r(),w(),g(),y(),b(),E(),S();var e=null;document.addEventListener("click",function(t){var i=t.target.closest('[data-component="media-add"]');if(i){var n;t.preventDefault(),t.stopPropagation();var a=null===(n=i.closest(".joli-media-choose-container, .joli-media-header-tools"))||void 0===n?void 0:n.querySelector(".dropzone-container");if(!a)return;a.classList.toggle("dropzone-active");var r,s=a.querySelector('[data-component="dropzone"]');if(!s)return;if(a.classList.contains("dropzone-initialized")||(e=v(s),a.classList.add("dropzone-initialized")),!a.classList.contains("dropzone-active"))null===(r=e)||void 0===r||r.removeAllFiles(!0)}})})})()})(); \ No newline at end of file diff --git a/src/Bridge/Sylius/public/manifest.json b/src/Bridge/Sylius/public/manifest.json index f28e307..5fe83c3 100644 --- a/src/Bridge/Sylius/public/manifest.json +++ b/src/Bridge/Sylius/public/manifest.json @@ -1,4 +1,4 @@ { "joli-media-sylius-admin.css": "./joli-media-sylius-admin.2f351929.css", - "joli-media-sylius-admin.js": "./joli-media-sylius-admin.6b38f72e.js" + "joli-media-sylius-admin.js": "./joli-media-sylius-admin.0ec877e4.js" } \ No newline at end of file diff --git a/src/Bridge/Sylius/src/Admin/Controller/MediaAdminController.php b/src/Bridge/Sylius/src/Admin/Controller/MediaAdminController.php index 2cb2965..fae340a 100644 --- a/src/Bridge/Sylius/src/Admin/Controller/MediaAdminController.php +++ b/src/Bridge/Sylius/src/Admin/Controller/MediaAdminController.php @@ -142,9 +142,7 @@ public function renameDirectory(Request $request): Response 'JoliMediaSyliusBundle' )); - $referer = $request->headers->get('referer'); - - return $this->redirect($referer ? str_replace($oldPath, $newPath, $referer) : $this->generateUrl('joli_media_sylius_admin_explore')); + return $this->redirectAfterRename($request, $oldPath, $newPath); } catch (\Throwable $e) { $this->addFlash('error', $e->getMessage()); @@ -180,9 +178,7 @@ public function rename(Request $request): Response 'JoliMediaSyliusBundle' )); - $referer = $request->headers->get('referer'); - - return $this->redirect($referer ? str_replace($oldPath, $newPath, $referer) : $this->generateUrl('joli_media_sylius_admin_explore')); + return $this->redirectAfterRename($request, $oldPath, $newPath); } catch (\Throwable $e) { $this->addFlash('error', $e->getMessage()); @@ -539,6 +535,21 @@ public function show(string $key): Response ])); } + private function redirectAfterRename(Request $request, string $oldPath, string $newPath): RedirectResponse + { + $referer = $request->headers->get('referer'); + + if ($referer) { + $encodedOldPath = implode('/', array_map('rawurlencode', explode('/', $oldPath))); + + $updated = str_replace([$oldPath, $encodedOldPath], $newPath, $referer); + + return $this->redirect($updated); + } + + return $this->redirectToRoute('joli_media_sylius_admin_explore', ['key' => $newPath]); + } + private function renderChooseHtml(string $currentKey): Response { try { diff --git a/src/Bridge/Sylius/templates/admin/shared/layout/base/scripts.html.twig b/src/Bridge/Sylius/templates/admin/shared/layout/base/scripts.html.twig index 8cf1e64..d13beee 100644 --- a/src/Bridge/Sylius/templates/admin/shared/layout/base/scripts.html.twig +++ b/src/Bridge/Sylius/templates/admin/shared/layout/base/scripts.html.twig @@ -1 +1 @@ - +