/
MultiFileUpload.module.js
2 lines (2 loc) · 35.5 KB
/
MultiFileUpload.module.js
1
2
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types")):"function"==typeof define&&define.amd?define(["react","prop-types"],t):"object"==typeof exports?exports.MultiFileUpload=t(require("react"),require("prop-types")):(e.eZ=e.eZ||{},e.eZ.modules=e.eZ.modules||{},e.eZ.modules.MultiFileUpload=t(e.React,e.PropTypes))}("undefined"!=typeof self?self:this,function(e,t){return function(e){var t={};function i(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,i),o.l=!0,o.exports}return i.m=e,i.c=t,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="",i(i.s=110)}({0:function(t,i){t.exports=e},1:function(e,i){e.exports=t},11:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=l(i(0)),o=l(i(1));i(12);var a=l(i(4));function l(e){return e&&e.__esModule?e:{default:e}}const s=e=>{const t={className:"c-tooltip-popup",hidden:!e.visible};return n.default.createElement("div",t,n.default.createElement("div",{className:"c-tooltip-popup__header"},n.default.createElement("div",{className:"c-tooltip-popup__title"},e.title),n.default.createElement("div",{className:"c-tooltip-popup__close",onClick:e.onClose},n.default.createElement(a.default,{name:"discard"}))),n.default.createElement("div",{className:"c-tooltip-popup__content"},e.children))};s.propTypes={title:o.default.string.isRequired,children:o.default.node.isRequired,visible:o.default.bool.isRequired,onClose:o.default.func},s.defaultProps={onClose:()=>{}},t.default=s},110:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},o=i(0),a=d(o),l=d(i(1)),s=d(i(111)),r=i(116);function d(e){return e&&e.__esModule?e:{default:e}}class u extends o.Component{constructor(e){super(e);let t=!0;this._itemsUploaded=[],e.itemsToUpload&&e.itemsToUpload.length||(t=!1),this.handleDropOnWindow=this.handleDropOnWindow.bind(this),this.handleAfterUpload=this.handleAfterUpload.bind(this),this.showUploadPopup=this.showUploadPopup.bind(this),this.hidePopup=this.hidePopup.bind(this),this.processUploadedFiles=this.processUploadedFiles.bind(this),this.state={popupVisible:t,itemsToUpload:e.itemsToUpload,allowDropOnWindow:!0,uploadDisabled:Object.values(e.contentCreatePermissionsConfig).every(e=>!e)}}componentDidMount(){this.manageDropEvent()}componentDidUpdate(){this.manageDropEvent()}manageDropEvent(){var e=this.state;const t=e.uploadDisabled,i=e.popupVisible,n=e.itemsToUpload;t||i||n.length||(window.addEventListener("drop",this.handleDropOnWindow,!1),window.addEventListener("dragover",this.preventDefaultAction,!1))}hidePopup(){this.setState(e=>Object.assign({},e,{popupVisible:!1})),this.props.onPopupClose(this._itemsUploaded)}showUploadPopup(){this.setState(e=>Object.assign({},e,{popupVisible:!0,itemsToUpload:[]}))}handleAfterUpload(e){this._itemsUploaded=e}handleDropOnWindow(e){this.preventDefaultAction(e);const t=this.processUploadedFiles(e);this.state.allowDropOnWindow&&t.length&&(window.removeEventListener("drop",this.handleDropOnWindow,!1),window.removeEventListener("dragover",this.preventDefaultAction,!1),this.setState(e=>Object.assign({},e,{itemsToUpload:t,popupVisible:!0,allowDropOnWindow:!1})))}extractDroppedFilesList(e){let t;return t=e.nativeEvent?e.nativeEvent.dataTransfer||e.nativeEvent.target:e.dataTransfer}processUploadedFiles(e){const t=this.extractDroppedFilesList(e);return Array.from(t.files).map(e=>({id:Math.floor(Math.random()*Date.now()),file:e}))}preventDefaultAction(e){e.preventDefault(),e.stopPropagation()}renderBtn(){if(!this.props.withUploadButton)return null;const e=this.state.uploadDisabled,t={className:"m-mfu__btn--upload",title:Translator.trans("multi_file_upload_open_btn.label",{},"multi_file_upload"),onClick:this.showUploadPopup,type:"button"};return e&&(delete t.onClick,t.disabled=!0),a.default.createElement("button",t,a.default.createElement("svg",{className:"ez-icon ez-icon--light ez-icon--small-medium"},a.default.createElement("use",{xlinkHref:"/bundles/ezplatformadminui/img/ez-icons.svg#upload"})))}renderPopup(){if(!this.state.popupVisible)return null;const e=n({},this.props,{visible:!0,onClose:this.hidePopup,itemsToUpload:this.state.itemsToUpload,onAfterUpload:this.handleAfterUpload,preventDefaultAction:this.preventDefaultAction,processUploadedFiles:this.processUploadedFiles});return a.default.createElement(s.default,e)}render(){return a.default.createElement("div",{className:"m-mfu"},this.renderBtn(),this.renderPopup())}}t.default=u,u.propTypes={adminUiConfig:l.default.shape({multiFileUpload:l.default.shape({defaultMappings:l.default.arrayOf(l.default.object).isRequired,fallbackContentType:l.default.object.isRequired,locationMappings:l.default.arrayOf(l.default.object).isRequired,maxFileSize:l.default.number.isRequired}).isRequired,token:l.default.string.isRequired,siteaccess:l.default.string.isRequired}).isRequired,parentInfo:l.default.shape({contentTypeIdentifier:l.default.string.isRequired,contentTypeId:l.default.number.isRequired,locationPath:l.default.string.isRequired,language:l.default.string.isRequired}).isRequired,checkCanUpload:l.default.func,createFileStruct:l.default.func,deleteFile:l.default.func,onPopupClose:l.default.func,publishFile:l.default.func,itemsToUpload:l.default.array,withUploadButton:l.default.bool,contentCreatePermissionsConfig:l.default.object},u.defaultProps={checkCanUpload:r.checkCanUpload,createFileStruct:r.createFileStruct,deleteFile:r.deleteFile,onPopupClose:()=>{},publishFile:r.publishFile,itemsToUpload:[],withUploadButton:!0}},111:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},o=i(0),a=u(o),l=u(i(1)),s=u(i(11)),r=u(i(112)),d=u(i(113));function u(e){return e&&e.__esModule?e:{default:e}}const p="ez-scroll-disabled";class c extends o.Component{constructor(e){super(e),this.uploadFiles=this.uploadFiles.bind(this),this.state={itemsToUpload:e.itemsToUpload}}componentDidMount(){window.document.body.classList.add(p)}componentWillUnmount(){window.document.body.classList.remove(p)}UNSAFE_componentWillReceiveProps(e){this.setState(t=>{return{itemsToUpload:[...t.itemsToUpload.filter(t=>!e.itemsToUpload.find(e=>e.id===t.id)),...e.itemsToUpload]}})}uploadFiles(e){this.setState(()=>({itemsToUpload:e}))}render(){const e=this.props,t=n({},e,{itemsToUpload:this.state.itemsToUpload}),i=Translator.trans("upload_popup.title",{},"multi_file_upload");return a.default.createElement("div",{className:"c-upload-popup"},a.default.createElement(s.default,n({title:i},e),a.default.createElement(r.default,{onDrop:this.uploadFiles,maxFileSize:this.props.adminUiConfig.multiFileUpload.maxFileSize,preventDefaultAction:this.props.preventDefaultAction,processUploadedFiles:this.props.processUploadedFiles}),a.default.createElement(d.default,t)))}}t.default=c,c.propTypes={popupTitle:l.default.string.isRequired,visible:l.default.bool,onUpload:l.default.func,onUploadEnd:l.default.func,onUploadFail:l.default.func,onItemEdit:l.default.func,onItemRemove:l.default.func,onClose:l.default.func,itemsToUpload:l.default.array,onAfterUpload:l.default.func.isRequired,createFileStruct:l.default.func.isRequired,publishFile:l.default.func.isRequired,deleteFile:l.default.func.isRequired,checkCanUpload:l.default.func.isRequired,adminUiConfig:l.default.shape({multiFileUpload:l.default.shape({defaultMappings:l.default.arrayOf(l.default.object).isRequired,fallbackContentType:l.default.object.isRequired,locationMappings:l.default.arrayOf(l.default.object).isRequired,maxFileSize:l.default.number.isRequired}).isRequired,token:l.default.string.isRequired,siteaccess:l.default.string.isRequired}).isRequired,parentInfo:l.default.shape({contentTypeIdentifier:l.default.string.isRequired,contentTypeId:l.default.number.isRequired,locationPath:l.default.string.isRequired,language:l.default.string.isRequired}).isRequired,preventDefaultAction:l.default.func.isRequired,processUploadedFiles:l.default.func.isRequired},c.defaultProps={visible:!0,itemsToUpload:[]}},112:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var n=i(0),o=s(n),a=s(i(1)),l=i(17);function s(e){return e&&e.__esModule?e:{default:e}}class r extends n.Component{constructor(e){super(e),this._refFileInput=null,this.openFileSelector=this.openFileSelector.bind(this),this.handleUpload=this.handleUpload.bind(this)}openFileSelector(e){e.preventDefault(),this._refFileInput.click()}handleUpload(e){this.props.preventDefaultAction(e),this.props.onDrop(this.props.processUploadedFiles(e))}componentDidMount(){window.addEventListener("drop",this.props.preventDefaultAction,!1),window.addEventListener("dragover",this.props.preventDefaultAction,!1)}componentWillUnmount(){window.removeEventListener("drop",this.props.preventDefaultAction,!1),window.removeEventListener("dragover",this.props.preventDefaultAction,!1)}render(){const e=Translator.trans("max_file_size.message",{},"multi_file_upload"),t=Translator.trans("drop_action.message",{},"multi_file_upload"),i=Translator.trans("upload_btn.label",{},"multi_file_upload");return o.default.createElement("form",{className:"c-drop-area",multiple:!0,onDrop:this.handleUpload},o.default.createElement("div",{className:"c-drop-area__message c-drop-area__message--main"},t),o.default.createElement("div",{className:"c-drop-area__btn-select",onClick:this.openFileSelector},o.default.createElement("svg",{className:"c-drop-area__icon ez-icon ez-icon--light ez-icon--small-medium"},o.default.createElement("use",{xlinkHref:"/bundles/ezplatformadminui/img/ez-icons.svg#upload"})),i),o.default.createElement("div",{className:"c-drop-area__message c-drop-area__message--filesize"},"(",e," ",(0,l.fileSizeToString)(this.props.maxFileSize),")"),o.default.createElement("input",{className:"c-drop-area__input--hidden",ref:e=>this._refFileInput=e,id:"mfu-files",type:"file",name:"files[]",hidden:!0,multiple:!0,onChange:this.handleUpload}))}}t.default=r,r.propTypes={onDrop:a.default.func.isRequired,maxFileSize:a.default.number.isRequired,processUploadedFiles:a.default.func.isRequired,preventDefaultAction:a.default.func.isRequired}},113:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=i(0),o=s(n),a=s(i(1)),l=s(i(114));function s(e){return e&&e.__esModule?e:{default:e}}class r extends n.Component{constructor(e){super(e),this.state={itemsToUpload:e.itemsToUpload,items:[]}}UNSAFE_componentWillReceiveProps(e){this.setState(t=>{return{itemsToUpload:[...t.itemsToUpload.filter(t=>!e.itemsToUpload.find(e=>e.id===t.id)),...e.itemsToUpload]}})}componentDidUpdate(){this.props.onAfterUpload(this.state.items)}handleAfterUpload(e){this.setState(t=>({itemsToUpload:t.itemsToUpload.filter(t=>t.id!==e.id),items:[...t.items,e]}))}handleAfterAbort(e){this.setState(t=>{const i=t.items.filter(t=>t.id!==e.id),n=t.itemsToUpload.filter(t=>t.id!==e.id);return Object.assign({},t,{uploaded:i.length,total:i.length+n.length,itemsToUpload:n,items:i})})}handleAfterDelete(e){this.setState(t=>{const i=t.items.filter(t=>t.id!==e.id),n=t.itemsToUpload.filter(t=>t.id!==e.id);return Object.assign({},t,{uploaded:i.length,total:i.length+n.length,itemsToUpload:n,items:i})})}renderItemToUpload(e){return this.renderItem(e,{isUploaded:!1,createFileStruct:this.props.createFileStruct,publishFile:this.props.publishFile,onAfterAbort:this.handleAfterAbort.bind(this),onAfterUpload:this.handleAfterUpload.bind(this),checkCanUpload:this.props.checkCanUpload})}renderUploadedItem(e){return this.renderItem(e,{isUploaded:!0,deleteFile:this.props.deleteFile,onAfterDelete:this.handleAfterDelete.bind(this)})}renderItem(e,t){var i=this.props;const n=i.adminUiConfig,a=i.parentInfo,s=i.contentCreatePermissionsConfig,r=Object.assign({key:e.id,data:e,adminUiConfig:n,parentInfo:a,contentCreatePermissionsConfig:s},t);return o.default.createElement(l.default,r)}render(){var e=this.state;const t=e.items,i=e.itemsToUpload,n=t.length,a=n+i.length;return o.default.createElement("div",{className:"c-upload-list"},o.default.createElement("div",{className:"c-upload-list__title"},this.props.uploadedItemsListTitle," (",n,"/",a,")"),o.default.createElement("div",{className:"c-upload-list__items"},i.map(this.renderItemToUpload.bind(this)),t.map(this.renderUploadedItem.bind(this))))}}t.default=r,r.propTypes={itemsToUpload:a.default.arrayOf(a.default.object),onAfterUpload:a.default.func.isRequired,createFileStruct:a.default.func.isRequired,publishFile:a.default.func.isRequired,deleteFile:a.default.func.isRequired,checkCanUpload:a.default.func.isRequired,adminUiConfig:a.default.shape({multiFileUpload:a.default.shape({defaultMappings:a.default.arrayOf(a.default.object).isRequired,fallbackContentType:a.default.object.isRequired,locationMappings:a.default.arrayOf(a.default.object).isRequired,maxFileSize:a.default.number.isRequired}).isRequired,token:a.default.string.isRequired,siteaccess:a.default.string.isRequired}).isRequired,parentInfo:a.default.shape({contentTypeIdentifier:a.default.string.isRequired,contentTypeId:a.default.number.isRequired,locationPath:a.default.string.isRequired,language:a.default.string.isRequired}).isRequired,uploadedItemsListTitle:a.default.string.isRequired},r.defaultProps={itemsToUpload:[]}},114:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n])}return e},o=i(0),a=d(o),l=d(i(1)),s=d(i(115)),r=i(17);function d(e){return e&&e.__esModule?e:{default:e}}class u extends o.Component{constructor(e){super(e),this.handleFileSizeNotAllowed=this.handleFileSizeNotAllowed.bind(this),this.handleFileTypeNotAllowed=this.handleFileTypeNotAllowed.bind(this),this.handleContentTypeNotAllowed=this.handleContentTypeNotAllowed.bind(this),this.handleEditBtnClick=this.handleEditBtnClick.bind(this),this.handleUploadAbort=this.handleUploadAbort.bind(this),this.handleUploadError=this.handleUploadError.bind(this),this.handleUploadLoad=this.handleUploadLoad.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleUploadEnd=this.handleUploadEnd.bind(this),this.handleLoadStart=this.handleLoadStart.bind(this),this.handleFileDeleted=this.handleFileDeleted.bind(this),this.abortUploading=this.abortUploading.bind(this),this.deleteFile=this.deleteFile.bind(this),this.contentInfoInput=null,this.contentVersionInfoInput=null,this.contentVersionNoInput=null,this.contentEditBtn=null,this.state={uploading:!1,uploaded:e.isUploaded,disallowed:!1,disallowedType:!1,disallowedSize:!1,disallowedContentType:!1,aborted:!1,failed:!1,deleted:!1,progress:0,xhr:null,struct:e.data.struct||null,totalSize:(0,r.fileSizeToString)(e.data.file.size),uploadedSize:"0"}}componentDidMount(){var e=this.props;const t=e.data,i=e.adminUiConfig,o=e.parentInfo,a=e.createFileStruct,l=e.isUploaded,s=e.checkCanUpload,r=e.contentCreatePermissionsConfig;if(this.contentInfoInput=window.document.querySelector("#form_subitems_content_edit_content_info"),this.contentVersionInfoInput=window.document.querySelector("#form_subitems_content_edit_version_info_content_info"),this.contentVersionNoInput=window.document.querySelector("#form_subitems_content_edit_version_info_version_no"),this.contentEditBtn=window.document.querySelector("#form_subitems_content_edit_create"),l)return;const d=n({},i.multiFileUpload,{contentCreatePermissionsConfig:r}),u={fileTypeNotAllowedCallback:this.handleFileTypeNotAllowed,fileSizeNotAllowedCallback:this.handleFileSizeNotAllowed,contentTypeNotAllowedCallback:this.handleContentTypeNotAllowed};s(t.file,o,d,u)?a(t.file,{parentInfo:o,config:i}).then(this.initPublishFile.bind(this,i)):this.setState(()=>({uploading:!1,disallowed:!0,uploaded:!1,aborted:!1,failed:!0}))}initPublishFile({token:e,siteaccess:t},i){this.props.publishFile({struct:i,token:e,siteaccess:t},{upload:{onabort:this.handleUploadAbort,onerror:this.handleUploadError,onload:this.handleUploadLoad,onprogress:this.handleUploadProgress},onloadstart:this.handleLoadStart,onerror:this.handleUploadError},this.handleUploadEnd)}handleFileTypeNotAllowed(){this.setState(()=>({uploading:!1,disallowed:!0,disallowedType:!0,disallowedSize:!1,disallowedContentType:!1,uploaded:!1,aborted:!1,failed:!0}))}handleFileSizeNotAllowed(){this.setState(()=>({uploading:!1,disallowed:!0,disallowedType:!1,disallowedSize:!0,disallowedContentType:!1,uploaded:!1,aborted:!1,failed:!0}))}handleContentTypeNotAllowed(){this.setState(()=>({uploading:!1,disallowed:!0,disallowedType:!1,disallowedSize:!1,disallowedContentType:!0,uploaded:!1,aborted:!1,failed:!0}))}handleLoadStart(e){this.setState(()=>({uploading:!0,disallowed:!1,disallowedType:!1,disallowedSize:!1,disallowedContentType:!1,uploaded:!1,aborted:!1,failed:!1,xhr:e.target}))}handleUploadAbort(){this.setState(()=>({uploading:!1,disallowed:!1,disallowedType:!1,disallowedSize:!1,disallowedContentType:!1,uploaded:!1,aborted:!0,failed:!1}))}handleUploadError(){this.setState(e=>({uploading:!1,disallowed:e.disallowed,disallowedSize:e.disallowedSize,disallowedType:e.disallowedType,disallowedContentType:e.disallowedContentType,uploaded:!1,aborted:e.aborted,failed:!0}))}handleUploadLoad(){this.setState(()=>({uploading:!1,disallowed:!1,disallowedType:!1,disallowedSize:!1,disallowedContentType:!1,uploaded:!0,aborted:!1,failed:!1}))}handleUploadProgress(e){const t=e.loaded/e.total,i=parseInt(100*t,10);this.setState(()=>({uploadedSize:(0,r.fileSizeToString)(t*parseInt(this.props.data.file.size,10)),uploading:!0,disallowed:!1,disallowedType:!1,disallowedSize:!1,disallowedContentType:!1,uploaded:!1,aborted:!1,failed:!1,progress:i}))}handleUploadEnd(){this.setState(e=>{return{struct:JSON.parse(e.xhr.response),uploading:!1,disallowed:!1,disallowedType:!1,disallowedSize:!1,disallowedContentType:!1,uploaded:!0,aborted:!1,failed:!1}},()=>{const e=this.props.data;this.props.onAfterUpload(n({},e,{struct:this.state.struct}))})}abortUploading(){this.state.xhr.abort(),this.props.onAfterAbort(this.props.data)}deleteFile(){this.setState(()=>({deleted:!0}),()=>this.props.deleteFile(this.props.adminUiConfig,this.state.struct,this.handleFileDeleted))}handleFileDeleted(){this.props.onAfterDelete(this.props.data)}detectFileType(){const e=this.props.data.file.type;return e.includes("/pdf")?"pdf-file":e.includes("video/")?"file-video":e.includes("image/")?"image":"file"}renderProgressBar(){var e=this.state;const t=e.uploaded,i=e.aborted,n=e.progress,o=e.totalSize,l=e.uploadedSize,r=e.disallowed;return this.props.isUploaded||t||i||r?null:a.default.createElement(s.default,{progress:n,uploaded:l,total:o})}renderErrorMessage(){var e=this.state;const t=e.uploaded,i=e.aborted,n=e.disallowedType,o=e.disallowedSize,l=e.failed,s=e.uploading,r=e.disallowedContentType,d=!t&&!i&&(o||n||r)&&l&&!s,u=Translator.trans("cannot_upload.message",{},"multi_file_upload"),p=Translator.trans("disallowed_type.message",{},"multi_file_upload"),c=Translator.trans("disallowed_size.message",{},"multi_file_upload"),f=Translator.trans("disallowed_content_type.message",{},"multi_file_upload");let h=u;return n&&(h=p),o&&(h=c),r&&(h=f),d?a.default.createElement("div",{className:"c-upload-list-item__message c-upload-list-item__message--error"},h):null}renderSuccessMessage(){var e=this.state;const t=e.uploaded,i=e.aborted,n=e.disallowedSize,o=e.disallowedType,l=e.failed,s=e.uploading,r=t&&!i&&!(n||o)&&!l&&!s,d=Translator.trans("upload.success.message",{},"multi_file_upload");return r?a.default.createElement("div",{className:"c-upload-list-item__message c-upload-list-item__message--success"},d):null}renderAbortBtn(){var e=this.state;const t=e.uploaded,i=e.aborted,n=e.disallowedSize,o=e.disallowedType,l=e.failed,s=e.uploading;if(!(!t&&!i&&!n&&!o&&!l&&s))return null;const r=Translator.trans("abort.label",{},"multi_file_upload");return a.default.createElement("div",{className:"c-upload-list-item__action c-upload-list-item__action--abort",onClick:this.abortUploading,title:r},a.default.createElement("svg",{className:"ez-icon ez-icon--small-medium"},a.default.createElement("use",{xlinkHref:"/bundles/ezplatformadminui/img/ez-icons.svg#circle-close"})))}handleEditBtnClick(e){e.preventDefault();const t=this.state.struct.Content,i=t._id,n=t.CurrentVersion.Version.VersionInfo.VersionTranslationInfo.Language[0].languageCode,o=t.CurrentVersion.Version.VersionInfo.versionNo;this.contentInfoInput.value=i,this.contentVersionInfoInput.value=i,this.contentVersionNoInput.value=o,window.document.querySelector(`#form_subitems_content_edit_language_${n}`).checked=!0,this.contentEditBtn.click()}renderEditBtn(){var e=this.state;const t=e.uploaded,i=e.aborted,n=e.disallowedSize,o=e.disallowedType,l=e.failed,s=e.uploading;if(!(this.props.isUploaded||t&&!i&&!(n||o)&&!l&&!s))return null;const r=Translator.trans("edit.label",{},"multi_file_upload");return a.default.createElement("div",{className:"c-upload-list-item__action c-upload-list-item__action--edit",title:r,onClick:this.handleEditBtnClick},a.default.createElement("svg",{className:"ez-icon ez-icon--small-medium"},a.default.createElement("use",{xlinkHref:"/bundles/ezplatformadminui/img/ez-icons.svg#edit"})))}renderDeleteBtn(){var e=this.state;const t=e.uploaded,i=e.aborted,n=e.disallowedSize,o=e.disallowedType,l=e.failed,s=e.uploading;if(!(this.props.isUploaded||t&&!i&&!(n||o)&&!l&&!s))return null;const r=Translator.trans("delete.label",{},"multi_file_upload");return a.default.createElement("div",{className:"c-upload-list-item__action c-upload-list-item__action--delete",onClick:this.deleteFile,title:r},a.default.createElement("svg",{className:"ez-icon ez-icon--small-medium"},a.default.createElement("use",{xlinkHref:"/bundles/ezplatformadminui/img/ez-icons.svg#trash"})))}render(){return this.state.deleted?null:a.default.createElement("div",{className:"c-upload-list-item"},a.default.createElement("div",{className:"c-upload-list-item__icon-wrapper"},a.default.createElement("svg",{className:"ez-icon ez-icon--small-medium"},a.default.createElement("use",{xlinkHref:`/bundles/ezplatformadminui/img/ez-icons.svg#${this.detectFileType()}`}))),a.default.createElement("div",{className:"c-upload-list-item__meta"},a.default.createElement("div",{className:"c-upload-list-item__name"},this.props.data.file.name),a.default.createElement("div",{className:"c-upload-list-item__size"},this.state.uploaded?this.state.totalSize:"")),a.default.createElement("div",{className:"c-upload-list-item__info"},this.renderErrorMessage(),this.renderSuccessMessage(),this.renderProgressBar()),a.default.createElement("div",{className:"c-upload-list-item__actions"},this.renderAbortBtn(),this.renderEditBtn(),this.renderDeleteBtn()))}}t.default=u,u.propTypes={data:l.default.object.isRequired,onAfterUpload:l.default.func.isRequired,onAfterAbort:l.default.func.isRequired,onAfterDelete:l.default.func.isRequired,isUploaded:l.default.bool.isRequired,createFileStruct:l.default.func.isRequired,publishFile:l.default.func.isRequired,deleteFile:l.default.func.isRequired,checkCanUpload:l.default.func.isRequired,adminUiConfig:l.default.shape({multiFileUpload:l.default.shape({defaultMappings:l.default.arrayOf(l.default.object).isRequired,fallbackContentType:l.default.object.isRequired,locationMappings:l.default.arrayOf(l.default.object).isRequired,maxFileSize:l.default.number.isRequired}).isRequired,token:l.default.string.isRequired,siteaccess:l.default.string.isRequired}).isRequired,parentInfo:l.default.shape({contentTypeIdentifier:l.default.string.isRequired,contentTypeId:l.default.number.isRequired,locationPath:l.default.string.isRequired,language:l.default.string.isRequired}).isRequired,contentCreatePermissionsConfig:l.default.object},u.defaultProps={isUploaded:!1}},115:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a(i(0)),o=a(i(1));function a(e){return e&&e.__esModule?e:{default:e}}const l=e=>n.default.createElement("div",{className:"c-progress-bar"},n.default.createElement("div",{className:"c-progress-bar__value",style:{width:`${e.progress}%`}}),n.default.createElement("div",{className:"c-progress-bar__label"},`${e.progress}%`),n.default.createElement("div",{className:"c-progress-bar__uploaded"},e.uploaded," of ",e.total));l.propTypes={progress:o.default.number.isRequired,uploaded:o.default.string.isRequired,total:o.default.string.isRequired},t.default=l},116:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=e=>{if(!e.ok)throw Error(e.text());return e},o=(e,t)=>e.find(e=>e.mimeTypes.find(e=>e===t.type)),a=(e,t)=>!t||((e,t)=>!!o(e,t))(t.mappings,e),l=(e,t,i)=>{const n=i.locationMappings.find(e=>e.contentTypeIdentifier===t.contentTypeIdentifier),a=n?n.mappings:i.defaultMappings;return o(a,e)||i.fallbackContentType},s=({parentInfo:e,config:t},i)=>{let o=`/api/ezp/v2/content/locations${e.locationPath}`;o=o.endsWith("/")?o.slice(0,-1):o;const a=l(i.file,e,t.multiFileUpload);return(({token:e,siteaccess:t},i)=>{const o=new Request(`/api/ezp/v2/content/types?identifier=${i}`,{method:"GET",headers:{Accept:"application/vnd.ez.api.ContentTypeInfoList+json","X-Siteaccess":t,"X-CSRF-Token":e},credentials:"same-origin",mode:"cors"});return fetch(o).then(n)})(t,a.contentTypeIdentifier).then(e=>e.json()).catch(()=>window.eZ.helpers.notification.showErrorNotification("Cannot get content type by identifier")).then(t=>{const n=[{fieldDefinitionIdentifier:a.nameFieldIdentifier,fieldValue:i.file.name},{fieldDefinitionIdentifier:a.contentFieldIdentifier,fieldValue:{fileName:i.file.name,data:i.fileReader.result.replace(/^.*;base64,/,"")}}];return{ContentCreate:{ContentType:{_href:t.ContentTypeInfoList.ContentType[0]._href},mainLanguageCode:e.language,LocationCreate:{ParentLocation:{_href:o},sortField:"PATH",sortOrder:"ASC"},Section:null,alwaysAvailable:!0,remoteId:null,modificationDate:(new Date).toISOString(),fields:{field:n}}}}).catch(()=>window.eZ.helpers.notification.showErrorNotification("Cannot create content structure"))},r=({struct:e,token:t,siteaccess:i},n)=>{const o=new XMLHttpRequest,a=JSON.stringify(e),l={Accept:"application/vnd.ez.api.Content+json","Content-Type":"application/vnd.ez.api.ContentCreate+json","X-CSRF-Token":t,"X-Siteaccess":i};return new Promise((e,t)=>{if(o.open("POST","/api/ezp/v2/content/objects",!0),o.onreadystatechange=((e,t,i)=>{4===e.readyState&&(0===e.status&&""===e.statusText||(e.status>=400||!e.status?i(e):t(JSON.parse(e.response))))}).bind(null,o,e,t),n&&Object.keys(n).length){const e=n.upload;e&&Object.keys(e).length&&(o.upload.onabort=e.onabort,o.upload.onerror=t,o.upload.onload=e.onload,o.upload.onprogress=e.onprogress,o.upload.ontimeout=e.ontimeout),o.onerror=t,o.onloadstart=n.onloadstart}for(let e in l)l.hasOwnProperty(e)&&o.setRequestHeader(e,l[e]);o.send(a)})};t.checkCanUpload=((e,t,i,n)=>{const o=i.locationMappings.find(e=>e.contentTypeIdentifier===t.contentTypeIdentifier);return((e,t,i)=>{if(!i.hasOwnProperty("contentCreatePermissionsConfig")||!i.contentCreatePermissionsConfig)return!0;const n=l(e,t,i);return i.contentCreatePermissionsConfig[n.contentTypeIdentifier]})(e,t,i)?a(e,o)?!(e.size>i.maxFileSize)||(n.fileSizeNotAllowedCallback(),!1):(n.fileTypeNotAllowedCallback(),!1):(n.contentTypeNotAllowedCallback(),!1)}),t.createFileStruct=((e,t)=>new Promise(function(e,t,i){this.addEventListener("load",()=>t({fileReader:this,file:e}),!1),this.addEventListener("error",()=>i(),!1),this.readAsDataURL(e)}.bind(new FileReader,e)).then(s.bind(null,t))),t.publishFile=((e,t,i)=>{r(e,t).then((({token:e,siteaccess:t},i)=>{if(!i||!i.hasOwnProperty("Content"))return Promise.reject("Cannot publish content based on an uploaded file");const o=new Request(i.Content.CurrentVersion.Version._href,{method:"POST",headers:{"X-Siteaccess":t,"X-CSRF-Token":e,"X-HTTP-Method-Override":"PUBLISH"},mode:"cors",credentials:"same-origin"});return fetch(o).then(n)}).bind(null,e)).then(i).catch(()=>window.eZ.helpers.notification.showErrorNotification("An error occurred while publishing a file"))}),t.deleteFile=(({token:e,siteaccess:t},i,o)=>{const a=new Request(i.Content._href,{method:"DELETE",headers:{"X-Siteaccess":t,"X-CSRF-Token":e},mode:"cors",credentials:"same-origin"});fetch(a).then(n).then(o).catch(()=>window.eZ.helpers.notification.showErrorNotification("An error occurred while deleting a file"))})},12:function(e,t,i){var n=i(13);"string"==typeof n&&(n=[[e.i,n,""]]);var o={hmr:!0,transform:void 0,insertInto:void 0};i(3)(n,o);n.locals&&(e.exports=n.locals)},13:function(e,t,i){(e.exports=i(2)(!1)).push([e.i,".c-tooltip-popup {\n background: #ededed;\n padding: 16px;\n box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.35);\n position: relative;\n border-radius: 4px;\n}\n\n.c-tooltip-popup__header {\n position: relative;\n}\n\n.c-tooltip-popup__title {\n margin-top: 0;\n}\n\n.c-tooltip-popup__close {\n position: absolute;\n display: flex;\n align-items: center;\n top: 0;\n bottom: 0;\n right: 16px;\n font-weight: 400;\n font-size: 32px;\n cursor: pointer;\n}\n\n.c-tooltip-popup__close .ez-icon {\n width: 24px;\n height: 24px;\n fill: #333;\n opacity: 0.5;\n transition: opacity 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);\n}\n\n.c-tooltip-popup__close .ez-icon:hover {\n opacity: 1;\n}\n",""])},17:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.fileSizeToString=(e=>{let t,i=parseInt(e,10)||0,n=0;for(;i>=1024;)i/=1024,n++;return t=n<1?0:1,i.toFixed(i>=10||t)+" "+["bytes","KB","MB","GB"][n]})},2:function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var i=function(e,t){var i=e[1]||"",n=e[3];if(!n)return i;if(t&&"function"==typeof btoa){var o=function(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}(n),a=n.sources.map(function(e){return"/*# sourceURL="+n.sourceRoot+e+" */"});return[i].concat(a).concat([o]).join("\n")}return[i].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+i+"}":i}).join("")},t.i=function(e,i){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},o=0;o<this.length;o++){var a=this[o][0];"number"==typeof a&&(n[a]=!0)}for(o=0;o<e.length;o++){var l=e[o];"number"==typeof l[0]&&n[l[0]]||(i&&!l[2]?l[2]=i:i&&(l[2]="("+l[2]+") and ("+i+")"),t.push(l))}},t}},3:function(e,t,i){var n={},o=function(e){var t;return function(){return void 0===t&&(t=e.apply(this,arguments)),t}}(function(){return window&&document&&document.all&&!window.atob}),a=function(e){var t={};return function(e){if("function"==typeof e)return e();if(void 0===t[e]){var i=function(e){return document.querySelector(e)}.call(this,e);if(window.HTMLIFrameElement&&i instanceof window.HTMLIFrameElement)try{i=i.contentDocument.head}catch(e){i=null}t[e]=i}return t[e]}}(),l=null,s=0,r=[],d=i(5);function u(e,t){for(var i=0;i<e.length;i++){var o=e[i],a=n[o.id];if(a){a.refs++;for(var l=0;l<a.parts.length;l++)a.parts[l](o.parts[l]);for(;l<o.parts.length;l++)a.parts.push(b(o.parts[l],t))}else{var s=[];for(l=0;l<o.parts.length;l++)s.push(b(o.parts[l],t));n[o.id]={id:o.id,refs:1,parts:s}}}}function p(e,t){for(var i=[],n={},o=0;o<e.length;o++){var a=e[o],l=t.base?a[0]+t.base:a[0],s={css:a[1],media:a[2],sourceMap:a[3]};n[l]?n[l].parts.push(s):i.push(n[l]={id:l,parts:[s]})}return i}function c(e,t){var i=a(e.insertInto);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var n=r[r.length-1];if("top"===e.insertAt)n?n.nextSibling?i.insertBefore(t,n.nextSibling):i.appendChild(t):i.insertBefore(t,i.firstChild),r.push(t);else if("bottom"===e.insertAt)i.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var o=a(e.insertInto+" "+e.insertAt.before);i.insertBefore(t,o)}}function f(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=r.indexOf(e);t>=0&&r.splice(t,1)}function h(e){var t=document.createElement("style");return void 0===e.attrs.type&&(e.attrs.type="text/css"),m(t,e.attrs),c(e,t),t}function m(e,t){Object.keys(t).forEach(function(i){e.setAttribute(i,t[i])})}function b(e,t){var i,n,o,a;if(t.transform&&e.css){if(!(a=t.transform(e.css)))return function(){};e.css=a}if(t.singleton){var r=s++;i=l||(l=h(t)),n=v.bind(null,i,r,!1),o=v.bind(null,i,r,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(i=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",m(t,e.attrs),c(e,t),t}(t),n=function(e,t,i){var n=i.css,o=i.sourceMap,a=void 0===t.convertToAbsoluteUrls&&o;(t.convertToAbsoluteUrls||a)&&(n=d(n));o&&(n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");var l=new Blob([n],{type:"text/css"}),s=e.href;e.href=URL.createObjectURL(l),s&&URL.revokeObjectURL(s)}.bind(null,i,t),o=function(){f(i),i.href&&URL.revokeObjectURL(i.href)}):(i=h(t),n=function(e,t){var i=t.css,n=t.media;n&&e.setAttribute("media",n);if(e.styleSheet)e.styleSheet.cssText=i;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(i))}}.bind(null,i),o=function(){f(i)});return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else o()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=o()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var i=p(e,t);return u(i,t),function(e){for(var o=[],a=0;a<i.length;a++){var l=i[a];(s=n[l.id]).refs--,o.push(s)}e&&u(p(e,t),t);for(a=0;a<o.length;a++){var s;if(0===(s=o[a]).refs){for(var r=0;r<s.parts.length;r++)s.parts[r]();delete n[s.id]}}}};var g=function(){var e=[];return function(t,i){return e[t]=i,e.filter(Boolean).join("\n")}}();function v(e,t,i,n){var o=i?"":n.css;if(e.styleSheet)e.styleSheet.cssText=g(t,o);else{var a=document.createTextNode(o),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(a,l[t]):e.appendChild(a)}}},4:function(e,t,i){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=a(i(0)),o=a(i(1));function a(e){return e&&e.__esModule?e:{default:e}}const l=e=>{const t=e.customPath?e.customPath:`/bundles/ezplatformadminui/img/ez-icons.svg#${e.name}`;let i="ez-icon";return e.extraClasses&&(i=`${i} ${e.extraClasses}`),n.default.createElement("svg",{className:i},n.default.createElement("use",{xlinkHref:t}))};l.propTypes={extraClasses:o.default.string.isRequired,name:o.default.string,customPath:o.default.string},l.defaultProps={customPath:null,name:null},t.default=l},5:function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var i=t.protocol+"//"+t.host,n=i+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var o,a=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(a)?e:(o=0===a.indexOf("//")?a:0===a.indexOf("/")?i+a:n+a.replace(/^\.\//,""),"url("+JSON.stringify(o)+")")})}}}).default});
//# sourceMappingURL=MultiFileUpload.module.js.map