diff --git a/client/dist/js/bundle.js b/client/dist/js/bundle.js index 988ee4d80..29c0699e4 100644 --- a/client/dist/js/bundle.js +++ b/client/dist/js/bundle.js @@ -1,4 +1,4 @@ -!function(){var e,t,n={4811:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n(6648)),o=s(n(3466)),i=s(n(4026));function s(e){return e&&e.__esModule?e:{default:e}}var a=()=>{r.default.transform("move-form-disabled",(e=>{e.component("TreeDropdownField.AssetAdmin.MoveForm",i.default)})),r.default.transform("owner-unpublishing",(e=>{e.component("FormAction.AssetAdmin.EditForm.action_unpublish",o.default)}))};t.default=a},7274:function(e,t,n){"use strict";var r=c(n(4510)),o=c(n(2873)),i=c(n(6290)),s=c(n(4811)),a=c(n(4180)),l=c(n(9521)),u=c(n(6154)),d=n(4845);function c(e){return e&&e.__esModule?e:{default:e}}document.addEventListener("DOMContentLoaded",(()=>{(0,l.default)(),(0,s.default)();const e=r.default.getSection("SilverStripe\\AssetAdmin\\Controller\\AssetAdmin").reactRoutePath;o.default.add({path:"/",routes:[{path:(0,d.joinUrlPaths)(e,"show/:folderId/:viewAction/:fileId"),component:i.default},{path:(0,d.joinUrlPaths)(e,"show/:folderId/:viewAction"),component:i.default},{path:(0,d.joinUrlPaths)(e,"show/:folderId"),component:i.default},{path:e,component:i.default}]}),(0,u.default)(),(0,a.default)()}))},9521:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=f(n(6648)),o=f(n(6334)),i=f(n(614)),s=f(n(1856)),a=f(n(2896)),l=f(n(8962)),u=f(n(8278)),d=f(n(1204)),c=f(n(6505)),p=n(197);function f(e){return e&&e.__esModule?e:{default:e}}var h=()=>{r.default.component.registerMany({UploadField:o.default,UploadFieldItem:i.default,PreviewImageField:l.default,HistoryList:d.default,ProportionConstraintField:u.default,AssetDropzone:s.default,InsertMediaModal:a.default,GalleryToolbar:c.default,GalleryItemFile:p.File,GalleryItemFolder:p.Folder})};t.default=h},6154:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(6648)),o=n(2214),i=c(n(7100)),s=c(n(1280)),a=c(n(5380)),l=c(n(8115)),u=c(n(7298)),d=c(n(1421));function c(e){return e&&e.__esModule?e:{default:e}}const p=!!document.body.getAttribute("data-graphql-legacy");var f=()=>{r.default.query.registerFragment("FileInterfaceFields",o.fileInterface),r.default.query.registerFragment("FileFields",o.file),r.default.query.register("ReadFilesQuery",p?a.default:i.default),r.default.query.register("readDescendantFileCountsQuery",l.default),r.default.query.register("ReadOneFileQuery",p?u.default:s.default),r.default.query.register("readFileUsageQuery",d.default)};t.default=f},4180:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=f(n(6648)),o=n(2827),i=f(n(3627)),s=f(n(5456)),a=f(n(7437)),l=f(n(4350)),u=f(n(4694)),d=f(n(325)),c=f(n(6529)),p=f(n(7897));function f(e){return e&&e.__esModule?e:{default:e}}var h=()=>{r.default.reducer.register("assetAdmin",(0,o.combineReducers)({gallery:i.default,queuedFiles:s.default,uploadField:a.default,previewField:l.default,imageLoad:u.default,displaySearch:d.default,confirmDeletion:c.default,modal:p.default}))};t.default=h},1856:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=d(n(394)),i=d(n(4754)),s=d(n(247)),a=d(n(5311)),l=n(3069),u=d(n(7086));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}let p=0;class f extends r.Component{constructor(e){super(e),this.dropzone=null,this.dragging=!1,this.handleAccept=this.handleAccept.bind(this),this.handleAddedFile=this.handleAddedFile.bind(this),this.handleDragEnter=this.handleDragEnter.bind(this),this.handleDragLeave=this.handleDragLeave.bind(this),this.handleDrop=this.handleDrop.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleUploadComplete=this.handleUploadComplete.bind(this),this.handleError=this.handleError.bind(this),this.handleSending=this.handleSending.bind(this),this.handleSuccess=this.handleSuccess.bind(this),this.handleQueueComplete=this.handleQueueComplete.bind(this),this.loadImage=this.loadImage.bind(this),this.handleMaxFilesExceeded=this.handleMaxFilesExceeded.bind(this)}componentDidMount(){this.dropzone=new s.default(o.default.findDOMNode(this),Object.assign({},this.getDefaultOptions(),this.props.options));const{name:e}=this.props;e&&this.dropzone.hiddenFileInput&&this.dropzone.hiddenFileInput.classList.add(`dz-input-${e}`),void 0!==this.props.promptOnRemove&&this.setPromptOnRemove(this.props.promptOnRemove)}componentWillReceiveProps(e){e.canUpload&&this.dropzone&&(this.dropzone.enable(),this.dropzone.options=Object.assign({},this.getDefaultOptions(),this.dropzone.options,this.props.options))}componentDidUpdate(){const{name:e}=this.props;e&&this.dropzone.hiddenFileInput&&this.dropzone.hiddenFileInput.classList.add(`dz-input-${e}`)}componentWillUnmount(){this.dropzone.files=[],this.dropzone.destroy()}getDefaultOptions(){let e=null,t=this.props.uploadSelector;if(!t&&this.props.uploadButton&&(t=".asset-dropzone__upload-button"),t){const n=(0,a.default)(o.default.findDOMNode(this)).find(t);n&&n.length&&(e=n.toArray())}return{accept:this.handleAccept,addedfile:this.handleAddedFile,dragenter:this.handleDragEnter,dragleave:this.handleDragLeave,drop:this.handleDrop,maxfilesexceeded:this.handleMaxFilesExceeded,uploadprogress:this.handleUploadProgress,complete:this.handleUploadComplete,dictDefaultMessage:i.default._t("AssetAdmin.DROPZONE_DEFAULT_MESSAGE","Drop files here to upload"),dictFallbackMessage:i.default._t("AssetAdmin.DROPZONE_FALLBACK_MESSAGE","Your browser does not support drag'n'drop file uploads."),dictFallbackText:i.default._t("AssetAdmin.DROPZONE_FALLBACK_TEXT","Please use the fallback form below to upload your files like in the olden days."),dictInvalidFileType:i.default._t("AssetAdmin.DROPZONE_INVALID_FILE_TYPE","You can't upload files of this type."),dictResponseError:i.default._t("AssetAdmin.DROPZONE_RESPONSE_ERROR","Server responded with an error."),dictCancelUpload:i.default._t("AssetAdmin.DROPZONE_CANCEL_UPLOAD","Cancel upload"),dictCancelUploadConfirmation:i.default._t("AssetAdmin.DROPZONE_CANCEL_UPLOAD_CONFIRMATION","Are you sure you want to cancel this upload?"),dictRemoveFile:i.default._t("AssetAdmin.DROPZONE_REMOVE_FILE","Remove file"),dictMaxFilesExceeded:i.default._t("AssetAdmin.DROPZONE_MAX_FILES_EXCEEDED","You can not upload any more files."),error:this.handleError,sending:this.handleSending,success:this.handleSuccess,queuecomplete:this.handleQueueComplete,thumbnailHeight:150,thumbnailWidth:200,timeout:0,clickable:e}}getFileCategory(e){return e.split("/")[0]}getLoadPreview(e){return new Promise((t=>{const n=new FileReader;n.onload=n=>{if("image"===this.getFileCategory(e.type)){const e=new Image;t(this.loadImage(e,n.target.result))}else t({})},n.readAsDataURL(e)}))}getFileTitle(e){return e.replace(/[.][^.]+$/,"").replace(/-_/," ")}setPromptOnRemove(e){this.dropzone.options.dictRemoveFileConfirmation=e}handleDragEnter(e){this.props.canUpload&&(this.dragging=!0,this.forceUpdate(),"function"==typeof this.props.onDragEnter&&this.props.onDragEnter(e))}handleDragLeave(e){const t=o.default.findDOMNode(this);this.props.canUpload&&e.target===t&&(this.dragging=!1,this.forceUpdate(),"function"==typeof this.props.onDragLeave&&this.props.onDragLeave(e,t))}handleUploadProgress(e,t,n){"function"==typeof this.props.onUploadProgress&&this.props.onUploadProgress(e,t,n)}handleUploadComplete(e){"function"==typeof this.props.onUploadComplete&&this.props.onUploadComplete(e.status)}handleDrop(e){this.dragging=!1,this.forceUpdate(),"function"==typeof this.props.onDrop&&this.props.onDrop(e)}handleSending(e,t,n){"function"==typeof this.props.updateFormData&&this.props.updateFormData(n),n.append("SecurityID",this.props.securityID),n.append("ParentID",this.props.folderId);const r=Object.assign({},t,{abort:()=>{this.dropzone.cancelUpload(e),t.abort()}});"function"==typeof this.props.onSending&&this.props.onSending(e,r,n)}handleMaxFilesExceeded(e){return"function"!=typeof this.props.onMaxFilesExceeded||this.props.onMaxFilesExceeded(e)}generateQueuedId(){return p+=1,p}handleAccept(e,t){return("function"!=typeof this.props.canFileUpload||this.props.canFileUpload(e))&&this.props.canUpload?t():t(i.default._t("AssetAdmin.DROPZONE_CANNOT_UPLOAD","Uploading not permitted."))}handleAddedFile(e){e._queuedId=this.generateQueuedId();const t={category:this.getFileCategory(e.type),filename:e.name,queuedId:e._queuedId,size:e.size,title:this.getFileTitle(e.name),extension:(0,l.getFileExtension)(e.name),type:e.type,uploadedToFolderId:this.props.folderId};this.props.onAddedFile(t);return this.getLoadPreview(e).then((e=>{const n={height:e.height,width:e.width,url:e.thumbnailURL,thumbnail:e.thumbnailURL,smallThumbnail:e.thumbnailURL};return"function"==typeof this.props.onPreviewLoaded&&this.props.onPreviewLoaded(t,n),{...t,...n}}))}loadImage(e,t){return new Promise((n=>{const r=document.createElement("canvas"),o=r.getContext("2d");e.onload=()=>{const t=2*this.props.preview.width,i=2*this.props.preview.height,s=e.naturalWidth/e.naturalHeight;e.naturalWidtht.value===e))}handleChangeValue(e){let t=null;const n=this.getOptionByValue(e.target.value);return null===n?null:(t="function"==typeof n.confirm?n.confirm(this.props.items).then((()=>n.callback(e,this.props.items))).catch((e=>{if("cancelled"!==e)throw e})):n.callback(e,this.props.items)||Promise.resolve(),t)}renderChild(e,t){const n=(0,l.default)("bulk-actions__action",e.className||"font-icon-info-circled",{btn:t<2,"bulk-actions__action--more":t>2});return t<2?o.default.createElement(a.Button,{className:n,key:e.value,onClick:this.handleChangeValue,value:e.value,color:e.color},e.label):o.default.createElement(a.DropdownItem,{type:"button",className:n,key:e.value,onClick:this.handleChangeValue,value:e.value},e.label)}render(){if(!this.props.items.length)return null;let e=this.props.actions.filter((e=>!e.canApply||e.canApply(this.props.items)));if(e=e.map(this.renderChild),!e.length)return null;const{ActionMenu:t,showCount:n}=this.props,r=this.props.items.length;return o.default.createElement("div",{className:"bulk-actions fieldholder-small"},n&&o.default.createElement("div",{className:"bulk-actions-counter"},r),e.slice(0,2),e.length>2&&t?o.default.createElement(t,{id:"BulkActions",className:"bulk-actions__more-actions-menu"},e.slice(2)):e.slice(2))}}t.Component=p,p.propTypes={items:u.default.array,actions:u.default.arrayOf(u.default.shape({value:u.default.string.isRequired,label:u.default.string.isRequired,className:u.default.string,destructive:u.default.bool,callback:u.default.func,canApply:u.default.func,confirm:u.default.func})),ActionMenu:u.default.elementType,showCount:u.default.bool},p.defaultProps={items:[],actions:[],ActionMenu:null,total:null,showCount:!0,totalReachedMessage:r.default._t("")};const f=(0,i.connect)((function(e){return{gallery:e.assetAdmin.gallery}}))(p);var h=(0,s.inject)(["ActionMenu"],(e=>({ActionMenu:e})),(()=>"BulkActions"))(f);t.default=h},197:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Folder=t.File=t.Component=void 0;var r=_(n(4754)),o=E(n(7363)),i=_(n(7820)),s=_(n(8264)),a=_(n(4744)),l=_(n(4271)),u=_(n(8729)),d=_(n(7241)),c=_(n(9777)),p=_(n(9900)),f=n(1624),h=n(2827),m=n(8088),g=E(n(3521)),y=_(n(2175)),v=_(n(7086));function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(b=function(e){return e?n:t})(e)}function E(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=b(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function _(e){return e&&e.__esModule?e:{default:e}}function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e.preventDefault()};class F extends o.Component{constructor(e){super(e),this.handleSelect=this.handleSelect.bind(this),this.handleActivate=this.handleActivate.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this)}componentWillReceiveProps(e){S(e)&&e.actions.imageLoad.loadImage(e.item.thumbnail,e.sectionConfig.imageRetry)}getThumbnailStyles(){const{item:{thumbnail:e,version:t},bustCache:n}=this.props;if(!this.isImage()||!e||this.missing())return{};const r=!1===n||!t||e.startsWith("data:image/")?e:`${e}?vid=${t}`;switch(this.props.loadState){case y.default.SUCCESS:case y.default.DISABLED:return{backgroundImage:`url(${r})`};default:return{}}}getErrorMessage(){let e=null;const{item:t,loadState:n}=this.props;if(this.hasError()?e=t.message.value:this.missing()?e=r.default._t("AssetAdmin.FILE_MISSING","File cannot be found"):n===y.default.FAILED&&(e=r.default._t("AssetAdmin.FILE_LOAD_ERROR","Thumbnail not available")),null!==e){return e=this.getItemFunction("updateErrorMessage")(e,this.props),o.default.createElement("span",{className:"gallery-item__error-message"},e)}return null}getThumbnailClassNames(){const e=["gallery-item__thumbnail"];switch(this.isImageSmallerThanThumbnail()&&e.push("gallery-item__thumbnail--small"),!this.props.item.thumbnail&&this.isImage()&&e.push("gallery-item__thumbnail--no-preview"),this.props.loadState){case y.default.LOADING:case y.default.WAITING:e.push("gallery-item__thumbnail--loading");break;case y.default.FAILED:e.push("gallery-item__thumbnail--error")}return e.join(" ")}getItemClassNames(){const e=this.props.item.category||"false",t=this.props.selectable&&(this.props.item.selected||this.props.isDragging);return(0,i.default)({"gallery-item":!0,[`gallery-item--${e}`]:!0,"gallery-item--max-selected":this.props.maxSelected&&!t,"gallery-item--missing":this.missing(),"gallery-item--selectable":this.props.selectable,"gallery-item--selected":t,"gallery-item--dropping":this.props.isDropping,"gallery-item--highlighted":this.props.item.highlighted,"gallery-item--error":this.hasError(),"gallery-item--dragging":this.props.isDragging})}getItemFunction(e){const{item:t}=this.props;return"function"==typeof t[e]?t[e]:this.props[e]}getStatusFlags(){let e=[];const{item:t}=this.props;"folder"!==t.type&&(t.draft?e.push({key:"status-draft",title:r.default._t("File.DRAFT","Draft"),className:"gallery-item--draft"}):t.modified&&e.push({key:"status-modified",title:r.default._t("File.MODIFIED","Modified"),className:"gallery-item--modified"}));return e=this.getItemFunction("updateStatusFlags")(e,this.props),o.default.createElement("div",{className:"gallery-item__status-flags"},e.map((e=>o.default.createElement("span",e))))}getStatusIcons(){const{item:e}=this.props,t=[];return e.hasRestrictedAccess&&t.push({key:"status-restricted",fileID:e.id,hasRestrictedAccess:!0,placement:"top",disableTooltip:"folder"===e.type,includeBackground:"folder"!==e.type}),e.isTrackedFormUpload&&"folder"!==e.type&&t.push({key:"status-tracked-form-upload",fileID:e.id,isTrackedFormUpload:!0,hasRestrictedAccess:e.hasRestrictedAccess,placement:"top",includeBackground:!0}),o.default.createElement("div",{className:"gallery-item__status-icons"},t.map((e=>o.default.createElement(c.default,e))))}getProgressBar(){let e=null;const{item:t}=this.props,n={className:"gallery-item__progress-bar",style:{width:`${t.progress}%`}};this.hasError()||!this.uploading()||this.complete()||(e=o.default.createElement("div",{className:"gallery-item__upload-progress"},o.default.createElement("div",n)));return e=this.getItemFunction("updateProgressBar")(e,this.props),e}isImageSmallerThanThumbnail(){if(!this.isImage()||this.missing())return!1;const e=this.props.item.width,t=this.props.item.height;return t&&e&&t0}missing(){return!this.exists()&&this.saved()}uploading(){return this.props.item.queuedId&&!this.saved()}exists(){return this.props.item.exists}isImage(){return"image"===this.props.item.category}canBatchSelect(){return this.props.selectable&&this.props.item.canEdit}hasError(){let e=!1;return this.props.item.message&&(e="error"===this.props.item.message.type),e}handleActivate(e){e.stopPropagation(),"function"==typeof this.props.onActivate&&this.saved()&&this.props.onActivate(e,this.props.item)}handleSelect(e){e.stopPropagation(),e.preventDefault(),"function"==typeof this.props.onSelect&&this.props.onSelect(e,this.props.item)}handleKeyDown(e){s.default.SPACE_KEY_CODE===e.keyCode&&(e.preventDefault(),this.canBatchSelect()&&this.handleSelect(e)),s.default.RETURN_KEY_CODE===e.keyCode&&this.handleActivate(e)}handleCancelUpload(e){e.stopPropagation(),e.preventDefault(),this.hasError()?this.props.onRemoveErroredUpload(this.props.item):this.props.onCancelUpload&&this.props.onCancelUpload(this.props.item)}render(){let e=null,t=null,n=null;const{id:i,queuedId:s}=this.props.item,a=i?`item-${i}`:`queued-${s}`;if(this.props.selectable&&(this.canBatchSelect()&&(e=this.handleSelect),t="font-icon-tick"),this.uploading())e=this.handleCancelUpload,t="font-icon-cancel";else if(this.exists()){const e=r.default._t("AssetAdmin.VIEW","View");n=o.default.createElement("div",{className:"gallery-item--overlay font-icon-eye"},e)}const l=this.props.badge,u={className:"gallery-item__checkbox",type:"checkbox",title:r.default._t("AssetAdmin.SELECT","Select"),tabIndex:-1,onMouseDown:w,id:a},c=["gallery-item__checkbox-label",t];this.canBatchSelect()||(u.disabled=!0,c.push("gallery-item__checkbox-label--disabled"));const p={className:c.join(" "),onClick:e};return o.default.createElement("div",{className:this.getItemClassNames(),"data-id":this.props.item.id,tabIndex:0,role:"button",onKeyDown:this.handleKeyDown,onClick:this.handleActivate},!!l&&o.default.createElement(d.default,{className:"gallery-item__badge",status:l.status,message:l.message}),o.default.createElement("div",{ref:e=>{this.thumbnail=e},className:this.getThumbnailClassNames(),style:this.getThumbnailStyles()},n,this.getStatusFlags(),this.getStatusIcons()),this.getProgressBar(),this.getErrorMessage(),this.props.children,o.default.createElement("div",{className:"gallery-item__title",ref:e=>{this.title=e}},o.default.createElement("label",C({},p,{htmlFor:a}),o.default.createElement("input",u)),this.props.item.title))}}t.Component=F,F.propTypes={sectionConfig:p.default,item:a.default,loadState:v.default.oneOf(Object.values(y.default)),bustCache:v.default.bool,highlighted:v.default.bool,selected:v.default.bool,isDropping:v.default.bool,isDragging:v.default.bool,message:v.default.shape({value:v.default.string,type:v.default.string}),selectable:v.default.bool,onActivate:v.default.func,onSelect:v.default.func,onCancelUpload:v.default.func,onRemoveErroredUpload:v.default.func,badge:v.default.shape({status:v.default.string,message:v.default.string}),updateStatusFlags:v.default.func,updateProgressBar:v.default.func,updateErrorMessage:v.default.func},F.defaultProps={item:{},sectionConfig:{imageRetry:{}},updateStatusFlags:e=>e,updateProgressBar:e=>e,updateErrorMessage:e=>e,bustCache:!0};const O=(0,f.connect)((function(e,t){const{bustCache:n}=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));let r=y.default.DISABLED;if(S(t)){const n=e.assetAdmin.imageLoad.files.find((e=>t.item.thumbnail===e.url));r=n&&n.status||y.default.NONE}return{bustCache:n,loadState:r}}),(function(e){return{actions:{imageLoad:(0,h.bindActionCreators)(g,e)}}}))(F),I="GalleryItem",A=(0,m.createSelectable)((0,l.default)(I)(O));t.File=A;const x=(0,m.createSelectable)((0,u.default)(I)(A));t.Folder=x;var D=O;t.default=D},5710:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=l(n(7086)),i=n(2084),s=l(n(197)),a=l(n(7241));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?r.default.createElement("div",{key:"1",className:"gallery-item__drag-shadow"}):null,t>2?r.default.createElement("div",{key:"2",className:"gallery-item__drag-shadow gallery-item__drag-shadow--second"}):null];return r.default.createElement("div",{className:"gallery-item__drag-layer"},r.default.createElement("div",{className:"gallery-item__drag-layer-item",style:this.getOffset()},r.default.createElement("div",{className:"gallery-item__drag-layer-preview"},n,r.default.createElement(s.default,d({},e.props,{isDragging:!0}))),t>1?r.default.createElement(a.default,{className:"gallery-item__drag-layer-count",status:"info",message:`${t}`}):null))}}c.propTypes={item:o.default.object,offset:o.default.shape({x:o.default.number.isRequired,y:o.default.number.isRequired}),isDragging:o.default.bool.isRequired};var p=(0,i.DragLayer)((e=>({item:e.getItem(),offset:e.getInitialClientOffset(),dragged:e.getDifferenceFromInitialOffset(),isDragging:e.isDragging()})))(c);t.default=p},4271:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={canDrag(e){return e.canDrag},beginDrag(e){const{id:t}=e.item;"function"==typeof e.onDrag&&e.onDrag(!0,t);const n=e.selectedFiles.concat([]);return n.includes(t)||n.push(t),{selected:n,props:e}},endDrag(e){const{id:t}=e.item;"function"==typeof e.onDrag&&e.onDrag(!1,t)}},n=(0,s.DragSource)(e,t,((e,t)=>({connectDragPreview:e.dragPreview(),connectDragSource:e.dragSource(),isDragging:t.isDragging()})));return e=>{class t extends o.Component{componentDidMount(){this.props.connectDragPreview((0,a.getEmptyImage)(),{captureDraggingState:!0})}render(){const{connectDragSource:t}=this.props,n=o.default.createElement(e,this.props);return"string"==typeof n.type?t(n):t(o.default.createElement("div",{className:"gallery-item__draggable"},n))}}return t.propTypes={connectDragSource:i.default.func.isRequired,connectDragPreview:i.default.func.isRequired,item:i.default.shape({id:i.default.number.isRequired}).isRequired,onDrag:i.default.func,selectedFiles:i.default.arrayOf(i.default.number)},n(t)}};var r,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=(r=n(7086))&&r.__esModule?r:{default:r},s=n(2084),a=n(1211);function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}},8729:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={drop(e,t){if(t.canDrop()){const n=t.getItem();e.onDropFiles(e.item.id,n.selected)}},canDrop(e,t){return!t.getItem().selected.includes(e.item.id)}},n=(0,s.DropTarget)(e,t,((e,t)=>{const n=t.isOver();return{isDropping:n&&t.canDrop(),connectDropTarget:e.dropTarget(),isOver:n}}));return e=>{class t extends o.Component{render(){const{connectDropTarget:t}=this.props,n=o.default.createElement(e,this.props);return"string"==typeof n.type?t(n):t(o.default.createElement("div",{className:"gallery-item__droppable"},n))}}return t.propTypes={connectDropTarget:i.default.func.isRequired,item:i.default.shape({id:i.default.number.isRequired}).isRequired},n(t)}};var r,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=(r=n(7086))&&r.__esModule?r:{default:r},s=n(2084);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}},5529:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=s(n(7086)),i=s(n(4754));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}class l extends r.Component{constructor(){super(),this.handleCreateFolder=this.handleCreateFolder.bind(this)}handleCreateFolder(e){const{onCreateFolder:t}=this.props;e.preventDefault(),"function"==typeof t&&t()}render(){const{canEdit:e}=this.props;return r.default.createElement("button",{id:"add-folder-button",className:"btn btn-secondary font-icon-folder-add btn--icon-xl",type:"button",onClick:this.handleCreateFolder,disabled:!e},r.default.createElement("span",{className:"btn__text btn__title"},i.default._t("AssetAdmin.ADD_FOLDER_BUTTON")))}}l.propTypes={canEdit:o.default.bool.isRequired,onCreateFolder:o.default.func.isRequired};var u=l;t.default=u},9539:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=s(n(7086)),i=s(n(3667));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}class l extends r.Component{constructor(e){super(e),this.handleBackClick=this.handleBackClick.bind(this)}handleBackClick(e){const{onOpenFolder:t,folder:n}=this.props;e.preventDefault(),"function"==typeof t&&t(n.parentId)}render(){const{folder:e,badges:t,onMoveFiles:n}=this.props,{parentId:o}=e;if(null===o)return null;const s=t.find((e=>e.id===o));return r.default.createElement("div",{className:"gallery__back-container"},r.default.createElement(i.default,{item:{id:o},onClick:this.handleBackClick,onDropFiles:n,badge:s}))}}l.propTypes={folder:o.default.shape({id:o.default.number,title:o.default.string,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool}).isRequired,badges:o.default.arrayOf(o.default.shape({id:o.default.number,message:o.default.node,status:o.default.string})).isRequired,onOpenFolder:o.default.func.isRequired,onMoveFiles:o.default.func.isRequired};var u=l;t.default=u},9617:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=s(n(4754)),i=s(n(7086));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}class l extends r.Component{render(){const{canEdit:e}=this.props;return r.default.createElement("button",{id:"upload-button",className:"btn btn-secondary font-icon-upload btn--icon-xl",type:"button",disabled:!e},r.default.createElement("span",{className:"btn__text btn__title"},o.default._t("AssetAdmin.DROPZONE_UPLOAD")))}}l.defaultProps={canEdit:i.default.func.isRequired};var u=l;t.default=u},6505:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=u(n(7086)),i=n(1624),s=u(n(9539)),a=u(n(9617)),l=u(n(5529));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}class c extends r.Component{constructor(e){super(e),this.handleSelectSort=this.handleSelectSort.bind(this),this.handleViewChange=this.handleViewChange.bind(this)}handleSelectSort(e){this.props.onSort(e.currentTarget.value)}handleViewChange(e){const t=e.currentTarget.value;this.props.onViewChange(t)}renderSort(){return"tile"!==this.props.view?null:r.default.createElement("div",{className:"gallery__sort fieldholder-small"},r.default.createElement("select",{className:"dropdown no-change-track no-chzn",tabIndex:"0",style:{width:"160px"},defaultValue:this.props.sort},this.props.sorters.map((e=>{const t=e.label.replace(/^\w|[\s\-]+\w/g,(e=>e.toUpperCase()));return r.default.createElement("option",{key:`${e.field}-${e.direction}`,onClick:this.handleSelectSort,"data-field":e.field,"data-direction":e.direction,value:`${e.field},${e.direction}`},t)}))))}renderViewChangeButtons(){return["tile","table"].map((e=>{const t="table"===e?"list":"thumbnails",n=["gallery__view-change-button","btn btn-secondary","btn--icon-sm","btn--no-text"];return e===this.props.view?null:(n.push(`font-icon-${t}`),r.default.createElement("button",{id:`button-view-${e}`,key:e,className:n.join(" "),type:"button",title:"Change view gallery/list",onClick:this.handleViewChange,value:e}))}))}render(){const{badges:e,children:t,folder:n,onMoveFiles:o,onOpenFolder:i,onCreateFolder:s,BackButton:a,UploadButton:l,AddFolderButton:u}=this.props,{canEdit:d}=n;return r.default.createElement("div",{className:"toolbar--content toolbar--space-save"},r.default.createElement("div",{className:"fill-width"},r.default.createElement("div",{className:"gallery__btn-toolbar flexbox-area-grow"},r.default.createElement("div",{className:"btn-toolbar"},r.default.createElement(a,{folder:n,badges:e,onOpenFolder:i,onMoveFiles:o}),r.default.createElement(l,{canEdit:d}),r.default.createElement(u,{canEdit:d,onCreateFolder:s}),t)),r.default.createElement("div",{className:"gallery__state-buttons"},this.renderSort(),r.default.createElement("div",{className:"btn-group",role:"group","aria-label":"View mode"},this.renderViewChangeButtons()))))}}t.Component=c,c.propTypes={onMoveFiles:o.default.func.isRequired,onCreateFolder:o.default.func.isRequired,onViewChange:o.default.func.isRequired,onOpenFolder:o.default.func.isRequired,onSort:o.default.func.isRequired,folder:o.default.shape({id:o.default.number,title:o.default.string,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool}).isRequired,view:o.default.oneOf(["tile","table"]),sort:o.default.string,badges:o.default.arrayOf(o.default.shape({id:o.default.number,message:o.default.node,status:o.default.string})),BackButton:o.default.elementType,UploadButton:o.default.elementType,AddFolderButton:o.default.elementType},c.defaultProps={view:"tile",BackButton:s.default,UploadButton:a.default,AddFolderButton:l.default};var p=(0,i.connect)((function(e,t){let{sort:n}=t;const{badges:r,sorters:o}=e.assetAdmin.gallery;return""===n&&(n=`${o[0].field},${o[0].direction}`),{badges:r,sorters:o,sort:n}}))(c);t.default=p},961:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=f(n(4754)),o=p(n(7363)),i=n(2827),s=n(1624),a=f(n(4912)),l=p(n(3573)),u=f(n(7086)),d=n(4845);function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}function p(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function f(e){return e&&e.__esModule?e:{default:e}}class h extends o.Component{constructor(e){super(e),this.handleSubmit=this.handleSubmit.bind(this)}componentWillMount(){this.setOverrides(this.props)}componentWillReceiveProps(e){e.isOpen&&!this.props.isOpen&&this.setOverrides(e)}componentWillUnmount(){this.clearOverrides()}setOverrides(e){if(this.props.schemaUrl!==e.schemaUrl&&this.clearOverrides(),e.schemaUrl){const t=Object.assign({},e.fileAttributes);delete t.ID;const n={fields:Object.entries(t).map((e=>{const[t,n]=e;return{name:t,value:n}}))};this.props.actions.schema.setSchemaStateOverrides(e.schemaUrl,n)}}getModalProps(){const e=Object.assign({onSubmit:this.handleSubmit,onLoadingError:this.handleLoadingError,showErrorMessage:!0,responseClassBad:"alert alert-danger",identifier:"AssetAdmin.InsertEmbedModal"},this.props,{className:`insert-embed-modal ${this.props.className}`,size:"lg",onClosed:this.props.onClosed,title:this.props.targetUrl?r.default._t("AssetAdmin.EditTitle","Media from the web"):r.default._t("AssetAdmin.CreateTitle","Insert new media from the web")});return delete e.sectionConfig,delete e.onInsert,delete e.fileAttributes,e}clearOverrides(){this.props.actions.schema.setSchemaStateOverrides(this.props.schemaUrl,null)}handleLoadingError(e){"function"==typeof this.props.onLoadingError&&this.props.onLoadingError(e)}handleSubmit(e,t){switch(t){case"action_addmedia":this.props.onCreate(e);break;case"action_insertmedia":this.props.onInsert(e);break;case"action_cancel":this.props.onClosed()}return Promise.resolve()}render(){return o.default.createElement(a.default,this.getModalProps())}}t.Component=h,h.propTypes={sectionConfig:u.default.shape({url:u.default.string,form:u.default.object}),isOpen:u.default.bool,onInsert:u.default.func.isRequired,onCreate:u.default.func.isRequired,fileAttributes:u.default.shape({Url:u.default.string,CaptionText:u.default.string,PreviewUrl:u.default.string,Placement:u.default.string,Width:u.default.number,Height:u.default.number}),onClosed:u.default.func.isRequired,className:u.default.string,actions:u.default.object,schemaUrl:u.default.string.isRequired,targetUrl:u.default.string,onLoadingError:u.default.func},h.defaultProps={className:"",fileAttributes:{}};var m=(0,s.connect)((function(e,t){const n=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name)),r=t.fileAttributes?t.fileAttributes.Url:"",o=n.form.remoteEditForm.schemaUrl,i=r&&(0,d.joinUrlPaths)(o,`/?embedurl=${encodeURIComponent(r)}`),s=n.form.remoteCreateForm.schemaUrl;return{sectionConfig:n,schemaUrl:i||s,targetUrl:r}}),(function(e){return{actions:{schema:(0,i.bindActionCreators)(l,e)}}}))(h);t.default=m},8962:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=b(n(4754)),o=v(n(7363)),i=b(n(1856)),s=b(n(8264)),a=n(1624),l=n(2827),u=n(5762),d=v(n(7513)),c=n(3069),p=b(n(720)),f=b(n(7820)),h=b(n(7086)),m=b(n(1872)),g=b(n(7902));function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(y=function(e){return e?n:t})(e)}function v(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=y(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function b(e){return e&&e.__esModule?e:{default:e}}class E extends o.Component{constructor(e){super(e),this.handleAddedFile=this.handleAddedFile.bind(this),this.handleFailedUpload=this.handleFailedUpload.bind(this),this.handleSuccessfulUpload=this.handleSuccessfulUpload.bind(this),this.handleSending=this.handleSending.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleUploadComplete=this.handleUploadComplete.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this),this.handleRemoveErroredUpload=this.handleRemoveErroredUpload.bind(this),this.canFileUpload=this.canFileUpload.bind(this),this.updateFormData=this.updateFormData.bind(this),this.cacheBustUrl=this.cacheBustUrl.bind(this)}componentDidUpdate(e){(e.data.url&&this.props.data.url!==e.data.url||e.data.version&&this.props.data.version!==e.data.version)&&this.props.actions.previewField.removeFile(e.id)}componentWillUnmount(){this.props.actions.previewField.removeFile(this.props.id)}getDropzoneProps(){const e=this.props.data.uploadFileEndpoint,t=this.props.name,n={url:e&&e.url,method:e&&e.method,paramName:"Upload",clickable:!0,maxFiles:1},r={height:s.default.THUMBNAIL_HEIGHT,width:s.default.THUMBNAIL_WIDTH},o=this.props.securityID;return{name:t,className:["asset-dropzone--button","preview-image-field__container",this.props.className,this.props.extraClass].join(" "),canUpload:e&&this.canEdit(),preview:r,folderId:this.props.data.parentid,options:n,securityID:o,uploadButton:!1,onAddedFile:this.handleAddedFile,onError:this.handleFailedUpload,onSuccess:this.handleSuccessfulUpload,onSending:this.handleSending,onUploadProgress:this.handleUploadProgress,onUploadComplete:this.handleUploadComplete,canFileUpload:this.canFileUpload,updateFormData:this.updateFormData}}getButtonClasses(e){return(0,f.default)([`preview-image-field__toolbar-button--${e}`,"preview-image-field__toolbar-button"])}updateFormData(e){e.append("ID",this.props.data.id),e.append("Name",this.props.nameValue)}handleSending(e,t){this.props.actions.previewField.updateFile(this.props.id,{xhr:t})}handleSuccessfulUpload(e){const t=JSON.parse(e.xhr.response);"function"==typeof this.props.onAutofill&&(this.props.onAutofill("FileFilename",t.Filename),this.props.onAutofill("FileHash",t.Hash),this.props.onAutofill("FileVariant",t.Variant),t.Name&&this.props.onAutofill(this.props.data.nameField,t.Name))}handleFailedUpload(e,t){this.props.actions.previewField.failUpload(this.props.id,t)}handleAddedFile(e){this.props.actions.previewField.addFile(this.props.id,e)}handleRemoveErroredUpload(){if("function"==typeof this.props.onAutofill){const e=this.props.data.initialValues;this.props.onAutofill("FileFilename",e.FileFilename),this.props.onAutofill("FileHash",e.FileHash),this.props.onAutofill("FileVariant",e.FileVariant)}this.props.actions.previewField.removeFile(this.props.id)}handleCancelUpload(){this.props.upload.xhr&&this.props.upload.xhr.abort(),this.handleRemoveErroredUpload()}canFileUpload(e){const t=this.props.data.initialValues.FileFilename,n=(0,c.getFileExtension)(t),o=(0,c.getFileExtension)(e.name);if(!n||n===o)return!0;const i=r.default._t("AssetAdmin.CONFIRM_CHANGE_EXTENSION","Are you sure you want upload a file with a different extension?");return this.props.confirm(i)}preventDefault(e){e.preventDefault()}canEdit(){return!this.props.readOnly&&!this.props.disabled&&"folder"!==this.props.data.category}handleUploadProgress(e,t){this.props.actions.previewField.updateFile(this.props.id,{progress:t})}handleUploadComplete(e){this.props.actions.previewField.updateStatus(this.props.id,{status:e})}preview(e,t,n){if(e&&"image"!==e)return s.default.DEFAULT_PREVIEW;const r=t.url||n.preview||n.url;if(r){return r.startsWith("data:image/")?r:this.cacheBustUrl(r,n.version)}return null}cacheBustUrl(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||this.props.data.version;if(!1===this.props.bustCache||!t)return e;const n=m.default.parse(e),r={...g.default.parse(n.query),vid:t};return m.default.format({...n,search:g.default.stringify(r)})}renderImage(){const{data:e,upload:t}=this.props;if(!e.mock&&!e.exists&&!t.url)return o.default.createElement("div",{className:"editor__file-preview-message--file-missing"},r.default._t("AssetAdmin.FILE_MISSING","File cannot be found"));const{category:n,progress:i,message:s}=t,a=t.errors?t.errors[0]:null,l=t.status?t.status:null,u=this.preview(n,t,e),d=o.default.createElement("img",{alt:"preview",src:u,className:"editor__thumbnail"}),c=e.url&&!i?o.default.createElement("a",{className:"editor__file-preview-link",href:this.cacheBustUrl(e.url),target:"_blank",rel:"noopener noreferrer"},d):null,p=i>0&&i<100?o.default.createElement("div",{className:"preview-image-field__progress"},o.default.createElement("div",{className:"preview-image-field__progress-bar",style:{width:`${i}%`}})):null;let f=null;if(a||"error"===l){const e=a&&a.value?a.value:r.default._t("AssetAdmin.DROPZONE_RESPONSE_ERROR","Server responded with an error."),t=a&&a.type?a.type:"error";f=o.default.createElement("div",{className:`preview-image-field__message preview-image-field__message--${t}`},e)}else s?f=o.default.createElement("div",{className:`preview-image-field__message preview-image-field__message--${s.type}`},s.value):100===i&&"success"===l&&(f=o.default.createElement("div",{className:"preview-image-field__message preview-image-field__message--success"},r.default._t("AssetAdmin.REPlACE_FILE_SUCCESS","Upload successful, the file will be replaced when you Save."),(i||s)&&o.default.createElement("button",{onClick:this.handleCancelUpload,className:"preview-image-field__message-button btn btn-outline-light",type:"button"},r.default._t("AssetAdmin.REPLACE_FILE_UNDO","Undo"))));return o.default.createElement("div",{className:"editor__thumbnail-container"},c||d,p,f)}render(){const e=this.getDropzoneProps();if(this.canEdit())return o.default.createElement(i.default,e,this.renderImage());const t=["preview-image-field__container",this.props.className,this.props.extraClass];return o.default.createElement("div",{className:t.join(" ")},this.renderImage())}}t.Component=E,E.propTypes={id:h.default.string.isRequired,name:h.default.string,className:h.default.string,extraClass:h.default.string,readOnly:h.default.bool,disabled:h.default.bool,bustCache:h.default.bool,onAutofill:h.default.func,formid:h.default.string,nameValue:h.default.string,data:h.default.shape({id:h.default.number,parentid:h.default.number,version:h.default.number,url:h.default.string,mock:h.default.bool,exists:h.default.bool,preview:h.default.string,category:h.default.string,nameField:h.default.string,uploadFileEndpoint:h.default.shape({url:h.default.string.isRequired,method:h.default.string.isRequired,payloadFormat:h.default.string}),initialValues:h.default.object}).isRequired,upload:h.default.shape({url:h.default.string,progress:h.default.number,xhr:h.default.object,category:h.default.string,message:h.default.shape({type:h.default.string.isRequired,value:h.default.string.isRequired}),status:h.default.string}),actions:h.default.object,securityID:h.default.string,confirm:h.default.func},E.defaultProps={extraClass:"",className:"",data:{},upload:{},confirm:e=>window.confirm(e),bustCache:!0};var _=(0,a.connect)((function(e,t){const n=e.config.SecurityID,r=t.id,o=e.assetAdmin.previewField[r]||{},i=(0,u.formValueSelector)(t.formid,p.default),{bustCache:s}=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));return{securityID:n,upload:o,nameValue:i(e,"Name"),bustCache:s}}),(function(e){return{actions:{previewField:(0,l.bindActionCreators)(d,e)}}}))(E);t.default=_},4678:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(7363)),o=a(n(7086)),i=n(8127),s=a(n(4754));function a(e){return e&&e.__esModule?e:{default:e}}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{onSelect:t,currentWidth:n,originalWidth:o,width:a,text:l}=e;return r.default.createElement(i.Button,{color:"link",size:"sm",onClick:()=>t(a||o),disabled:os.default.inject(s.default._t("AssetAdmin.SET_IMAGE_SIZE_TO",'Set image size to "{preset}"'),{preset:e}))(l)),r.default.createElement("span",{"aria-hidden":"true"},l))},d=e=>{let{imageSizePresets:t,...n}=e;return t?r.default.createElement("ul",{className:"image-size-preset-list"},t.map((e=>r.default.createElement("li",{key:e.text,className:"image-size-preset-list__list-item"},r.default.createElement(u,l({},e,n)))))):null};d.propTypes={onSelect:o.default.func,imageSizePresets:o.default.arrayOf(o.default.shape({text:o.default.string,width:o.default.number})),currentWidth:o.default.number,originalWidth:o.default.number.isRequired};var c=d;t.default=c},8278:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=c(n(7086)),i=n(6648),s=c(n(4678)),a=n(5762),l=c(n(720)),u=n(1624),d=n(2827);function c(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&this.syncFields(e,r)}syncFields(e,t){const{children:n,active:r,onAutofill:o,data:{ratio:i}}=this.props,s=0===e?1:0,a=n[e].props.name,l=n[s].props.name,u=0===e?1/i:i;o(a,t),r&&o(l,Math.round(t*u))}handlePresetSelect(e){this.syncFields(0,e);const{key:t}=this.props.children[0],n=document.getElementById(t);n&&n.focus()}handleBlur(e,t){this.setState({hasFocus:!1});const n=parseInt(t&&t.target&&t.target.value,10);(!n||n<=0)&&(t.preventDefault(),this.resetDimensions())}handleFocus(){this.setState({hasFocus:!0})}defaultWidth(){const{imageSizePresets:e,data:{originalWidth:t}}=this.props,n=e&&e.find((e=>e.default)),r=n&&n.width||t||600;return t&&t(0,r.cloneElement)(e,{onChange:(e,n)=>this.handleChange(t,e,n),onBlur:e=>this.handleBlur(t,e),onFocus:()=>this.handleFocus(),key:t},e.props.children))),!n&&r.default.createElement(s.default,{originalWidth:parseInt(t,10),currentWidth:o,imageSizePresets:i,onSelect:this.handlePresetSelect})))}}t.Component=h,h.propTypes={children:o.default.array,onAutofill:o.default.func,active:o.default.bool,data:o.default.shape({ratio:o.default.number.isRequired,isRemoteFile:o.default.bool,originalWidth:o.default.number,originalHeight:o.default.number}),current:o.default.shape({width:o.default.oneOfType([o.default.number,o.default.string]),height:o.default.oneOfType([o.default.number,o.default.string])}).isRequired,FieldGroup:o.default.elementType.isRequired,imageSizePresets:o.default.arrayOf(o.default.shape({width:o.default.number,text:o.default.string,default:o.default.bool}))},h.defaultProps={active:!0};var m=(0,d.compose)((0,u.connect)((function(e,t){let{formid:n}=t;const r=(0,a.formValueSelector)(n,l.default),o=r(e,"Width"),i=r(e,"Height");return{current:{width:o?parseInt(o,10):void 0,heigth:i?parseInt(i,10):void 0},imageSizePresets:e.assetAdmin.modal.imageSizePresets}})),(0,i.inject)(["FieldGroup"]))(h);t.default=m},6334:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ConnectedUploadField=t.Component=void 0;var r=v(n(4754)),o=y(n(7363)),i=n(1624),s=n(2827),a=n(6648),l=v(n(8264)),u=v(n(1042)),d=v(n(4744)),c=v(n(1338)),p=y(n(4504)),f=y(n(4478)),h=v(n(7086)),m=v(n(8214));function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(g=function(e){return e?n:t})(e)}function y(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=g(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function v(e){return e&&e.__esModule?e:{default:e}}class b extends o.Component{constructor(e){super(e),this.getMaxFiles=this.getMaxFiles.bind(this),this.getFolderId=this.getFolderId.bind(this),this.renderChild=this.renderChild.bind(this),this.handleAddShow=this.handleAddShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleAddInsert=this.handleAddInsert.bind(this),this.handleInsertMany=this.handleInsertMany.bind(this),this.handleAddedFile=this.handleAddedFile.bind(this),this.handleSending=this.handleSending.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleFailedUpload=this.handleFailedUpload.bind(this),this.handleSuccessfulUpload=this.handleSuccessfulUpload.bind(this),this.handleItemRemove=this.handleItemRemove.bind(this),this.handleReplaceShow=this.handleReplaceShow.bind(this),this.handleChange=this.handleChange.bind(this),this.handleReplace=this.handleReplace.bind(this),this.canEdit=this.canEdit.bind(this),this.canAttach=this.canAttach.bind(this),this.canUpload=this.canUpload.bind(this),this.state={selecting:!1,selectingItem:null}}componentDidMount(){const{id:e,formSchemaFilesHash:t,data:n,actions:r,files:o}=this.props,i=(0,m.default)(JSON.stringify(n.files)).toString();if(t!==i)return r.uploadField.setFormSchemaFilesHash(e,i),void r.uploadField.setFiles(e,n.files);r.uploadField.setFiles(e,o)}componentWillReceiveProps(e){(function(e,t){if(e.length!==t.length)return!0;for(let n=0;n!u.includes(e))).length)return;const d=o.map((e=>e.id));d.length===i.length&&0===d.filter((e=>!i.includes(e))).length||a(t,r.files)}getMaxFiles(){const e=this.props.data.multi?this.props.data.maxFiles:1;if(null==e)return null;const t=this.props.files.filter((e=>e.id>0&&(!e.message||"error"!==e.message.type))).length;return Math.max(e-t,0)}getMaxFilesize(){return this.props.data.maxFilesize||null}getFolderId(){const{selectingItem:e}=this.state;return e&&"object"==typeof e?e.parent.id:this.props.data.parentid||0}handleAddedFile(e){const t={...e,uploaded:!0};this.props.actions.uploadField.addFile(this.props.id,t)}handleSending(e,t){this.props.actions.uploadField.updateQueuedFile(this.props.id,e._queuedId,{xhr:t})}handleUploadProgress(e,t){this.props.actions.uploadField.updateQueuedFile(this.props.id,e._queuedId,{progress:t})}handleSuccessfulUpload(e){const t=JSON.parse(e.xhr.response);void 0===t[0].error?this.props.actions.uploadField.succeedUpload(this.props.id,e._queuedId,t[0]):this.handleFailedUpload(e)}handleFailedUpload(e,t){const n=e.xhr&&e.xhr.status?(0,c.default)(e.xhr.status):"";this.props.actions.uploadField.failUpload(this.props.id,e._queuedId,t,n)}handleItemRemove(e,t){this.props.actions.uploadField.removeFile(this.props.id,t)}handleReplaceShow(e,t){this.props.actions.modal.initFormStack("select","admin"),this.setState({selecting:!0,selectingItem:t})}handleChange(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if("function"==typeof t.onChange){const n={Files:t.files.filter((e=>e.id)).map((e=>e.id))};t.onChange(e,{id:t.id,value:n})}}handleUploadButton(e){e.preventDefault()}handleAddShow(e){e.preventDefault(),this.props.actions.modal.initFormStack("select","admin"),this.setState({selecting:!0,selectingItem:null})}handleHide(){this.props.actions.modal.reset(),this.setState({selecting:!1,selectingItem:null})}handleAddInsert(e,t,n){return this.props.actions.uploadField.addFile(this.props.id,n),this.handleHide(),Promise.resolve({})}handleInsertMany(e,t){const{selectingItem:n}=this.state;n?this.handleReplace(e,null,t[0]):t.forEach((t=>{this.handleAddInsert(e,null,t)}))}handleReplace(e,t,n){const{selectingItem:r}=this.state,{id:o,actions:{uploadField:{addFile:i,removeFile:s}}}=this.props;if(!r)throw new Error("Tried to replace a file when none was selected.");return s(o,r),i(o,n),this.handleHide(),Promise.resolve({})}canEdit(){return!this.props.disabled&&!this.props.readOnly&&(this.props.data.canUpload||this.props.data.canAttach)}canUpload(){return this.canEdit()&&this.props.data.canUpload}canAttach(){return this.canEdit()&&this.props.data.canAttach}renderDropzone(){const{AssetDropzone:e}=this.props;if(!this.props.data.createFileEndpoint)return null;const t={height:l.default.SMALL_THUMBNAIL_HEIGHT,width:l.default.SMALL_THUMBNAIL_WIDTH},n=this.getMaxFiles(),i=this.getMaxFilesize(),s={url:this.props.data.createFileEndpoint.url,method:this.props.data.createFileEndpoint.method,paramName:"Upload",maxFiles:n,maxFilesize:i,thumbnailWidth:l.default.SMALL_THUMBNAIL_WIDTH,thumbnailHeight:l.default.SMALL_THUMBNAIL_HEIGHT},a=["uploadfield__dropzone"];if(0===n&&a.push("uploadfield__dropzone--hidden"),!this.canEdit())return this.props.files.length?null:o.default.createElement("p",null,r.default._t("AssetAdmin.EMPTY","No files"));const u=this.props.securityId,d=[];return this.canUpload()&&d.push(o.default.createElement("button",{key:"uploadbutton",type:"button",onClick:this.handleUploadButton,className:"uploadfield__upload-button"},r.default._t("AssetAdmin.UPLOADFIELD_UPLOAD_NEW","Upload new"))),this.canAttach()&&(d.length&&d.push(o.default.createElement("span",{key:"uploadjoin",className:"uploadfield__join"},r.default._t("AssetAdmin.OR","or"))),d.push(o.default.createElement("button",{key:"attachbutton",type:"button",onClick:this.handleAddShow,className:"uploadfield__add-button"},r.default._t("AssetAdmin.UPLOADFIELD_CHOOSE_EXISTING","Choose existing")))),o.default.createElement(e,{name:this.props.name,canUpload:this.canUpload(),uploadButton:!1,uploadSelector:".uploadfield__upload-button, .uploadfield__backdrop",folderId:this.props.data.parentid,onAddedFile:this.handleAddedFile,onError:this.handleFailedUpload,onSuccess:this.handleSuccessfulUpload,onSending:this.handleSending,onUploadProgress:this.handleUploadProgress,preview:t,options:s,securityID:u,className:a.join(" ")},o.default.createElement("div",{className:"uploadfield__backdrop"}),o.default.createElement("span",{className:"uploadfield__droptext"},d))}renderModal(){const{InsertMediaModal:e}=this.props,{selecting:t,selectingItem:n}=this.state,r=this.getMaxFiles(),i=this.getFolderId();return o.default.createElement(e,{title:!1,isOpen:t,onInsert:n?this.handleReplace:this.handleAddInsert,onClosed:this.handleHide,onInsertMany:this.handleInsertMany,maxFiles:n?1:r,type:"select",bodyClassName:"modal__dialog",className:"insert-media-react__dialog-wrapper",fileAttributes:n?{ID:n.id}:null,folderId:i})}renderChild(e,t){const{UploadFieldItem:n}=this.props,r={key:e.id?`file-${e.id}`:`queued-${e.queuedId}`,item:e,name:this.props.name,onRemove:this.handleItemRemove,canEdit:this.canEdit(),onView:this.handleReplaceShow},i=this.props.getItemProps(r,t,this.props);return o.default.createElement(n,i)}render(){return o.default.createElement("div",{className:"uploadfield"},this.renderDropzone(),this.props.files.map(this.renderChild),this.renderModal())}}t.Component=b,b.propTypes={id:h.default.string.isRequired,name:h.default.string.isRequired,onChange:h.default.func,value:h.default.shape({Files:h.default.arrayOf(h.default.number)}),files:h.default.arrayOf(d.default),formSchemaFilesHash:h.default.string,readOnly:h.default.bool,disabled:h.default.bool,data:h.default.shape({files:h.default.arrayOf(d.default),createFileEndpoint:h.default.shape({url:h.default.string.isRequired,method:h.default.string.isRequired,payloadFormat:h.default.string.isRequired}),multi:h.default.bool,parentid:h.default.number,canUpload:h.default.bool,canAttach:h.default.bool,maxFiles:h.default.number}),UploadFieldItem:h.default.elementType,AssetDropzone:h.default.elementType,InsertMediaModal:h.default.elementType,getItemProps:h.default.func},b.defaultProps={value:{Files:[]},className:"",getItemProps:e=>e};const E=(0,i.connect)((function(e,t){const n=t.id;let r=[],o=null;return e.assetAdmin&&e.assetAdmin.uploadField&&e.assetAdmin.uploadField.fields&&e.assetAdmin.uploadField.fields[n]&&(r=e.assetAdmin.uploadField.fields[n].files||[],o=e.assetAdmin.uploadField.fields[n].formSchemaFilesHash||null),{files:r,securityId:e.config.SecurityID,formSchemaFilesHash:o}}),(function(e){return{actions:{uploadField:(0,s.bindActionCreators)(p,e),modal:(0,s.bindActionCreators)(f,e)}}}))(b);t.ConnectedUploadField=E;var _=(0,s.compose)((0,a.inject)(["UploadFieldItem","AssetDropzone","InsertMediaModal"]),u.default)(E);t.default=_},614:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(4754)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=c(n(8264)),s=c(n(4744)),a=n(3069),l=c(n(7086)),u=c(n(9777));function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}function c(e){return e&&e.__esModule?e:{default:e}}class p extends o.Component{constructor(e){super(e),this.handleRemove=this.handleRemove.bind(this),this.handleItemClick=this.handleItemClick.bind(this),this.handleView=this.handleView.bind(this)}getThumbnailStyles(){if(this.isImage()&&(this.exists()||this.uploading())){return{backgroundImage:`url(${this.props.item.smallThumbnail||this.props.item.url||""})`}}return{}}getThumbnailClassNames(){const e=["uploadfield-item__thumbnail"];return this.isImageSmallerThanThumbnail()&&e.push("uploadfield-item__thumbnail--small"),e.join(" ")}getItemClassNames(){const e=["fill-width","uploadfield-item",`uploadfield-item--${this.props.item.category||"none"}`];return this.missing()&&e.push("uploadfield-item--missing"),this.hasError()&&e.push("uploadfield-item--error"),e.join(" ")}hasError(){return!!this.props.item.message&&"error"===this.props.item.message.type}isImage(){return"image"===this.props.item.category}exists(){return this.props.item.exists}uploading(){return this.props.item.queuedId&&!this.saved()}complete(){return this.props.item.queuedId&&this.saved()}saved(){return this.props.item.id>0}missing(){return!this.exists()&&this.saved()}isImageSmallerThanThumbnail(){if(!this.isImage()||this.missing())return!1;const e=this.props.item.width,t=this.props.item.height;return t&&e&&te.every((e=>e&&e.canDelete))},{value:"edit",label:o.default._t("AssetAdmin.BULK_ACTIONS_EDIT","Edit"),className:"font-icon-edit",destructive:!1,canApply:e=>1===e.length,callback:null},{value:"move",label:o.default._t("AssetAdmin.BULK_ACTIONS_MOVE","Move"),className:"font-icon-folder-move",canApply:e=>e.every((e=>e&&e.canEdit)),destructive:!1,callback:null},{value:"publish",label:o.default._t("AssetAdmin.BULK_ACTIONS_PUBLISH","Publish"),className:"font-icon-rocket",destructive:!1,callback:null,canApply:e=>e.some((e=>e&&e.modified))&&e.every((e=>e.canEdit&&"folder"!==e.type)),confirm:null},{value:"unpublish",label:o.default._t("AssetAdmin.BULK_ACTIONS_UNPUBLISH","Unpublish"),className:"font-icon-cancel-circled",destructive:!1,callback:null,canApply:e=>e.some((e=>e.published))&&e.every((e=>e.canEdit&&"folder"!==e.type)),confirm:null},{value:"insert",label:o.default._t("AssetAdmin.BULK_ACTIONS_INSERT","Insert"),className:"font-icon-plus-circled btn-primary",destructive:!1,callback:null,canApply:e=>e.length,confirm:null}],BULK_ACTIONS_PLACEHOLDER:o.default._t("AssetAdmin.BULK_ACTIONS_PLACEHOLDER"),SPACE_KEY_CODE:32,RETURN_KEY_CODE:13,DEFAULT_PREVIEW:"framework/client/dist/images/app_icons/generic_92.png",MODAL_MOVE:"MODAL_MOVE"};t.default=i},7056:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=M(n(7363)),o=D(n(7086)),i=n(1624),s=n(2827),a=D(n(5159)),l=D(n(4754)),u=D(n(7820)),d=M(n(3669)),c=M(n(5123)),p=M(n(2986)),f=M(n(469)),h=D(n(2234)),m=D(n(4288)),g=D(n(6071)),y=n(7588),v=M(n(1075)),b=D(n(6635)),E=D(n(8493)),_=D(n(168)),C=D(n(6307)),S=D(n(8264)),w=D(n(9900)),F=n(6648),O=M(n(9194)),I=D(n(6019)),A=D(n(7882)),x=D(n(5809));function D(e){return e&&e.__esModule?e:{default:e}}function P(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(P=function(e){return e?n:t})(e)}function M(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=P(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}class R extends r.Component{constructor(e){super(e),this.state||(this.state={}),this.handleOpenFile=this.handleOpenFile.bind(this),this.handleCloseFile=this.handleCloseFile.bind(this),this.handleDelete=this.handleDelete.bind(this),this.doPublish=this.doPublish.bind(this),this.doUnpublish=this.doUnpublish.bind(this),this.handleUnpublish=this.handleUnpublish.bind(this),this.handleDoSearch=this.handleDoSearch.bind(this),this.handleClearSearch=this.handleClearSearch.bind(this),this.handleSubmitEditor=this.handleSubmitEditor.bind(this),this.handleOpenFolder=this.handleOpenFolder.bind(this),this.handleSort=this.handleSort.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.createEndpoint=this.createEndpoint.bind(this),this.handleBackButtonClick=this.handleBackButtonClick.bind(this),this.handleFolderIcon=this.handleFolderIcon.bind(this),this.handleBrowse=this.handleBrowse.bind(this),this.handleViewChange=this.handleViewChange.bind(this),this.handleUpload=this.handleUpload.bind(this),this.handleUploadQueue=this.handleUploadQueue.bind(this),this.handleCreateFolder=this.handleCreateFolder.bind(this),this.handleMoveFilesSuccess=this.handleMoveFilesSuccess.bind(this)}static getDerivedStateFromProps(e){return!e.loading&&e.folder&&e.folderId!==e.folder.id&&e.onReplaceUrl(e.folder.id,e.fileId,e.query,e.viewAction),null}getFolderId(){return null!==this.props.folderId?this.props.folderId:this.props.folder?this.props.folder.id:0}getFiles(){const{files:e,queuedFiles:t,folderId:n}=this.props,r=[...t.items.filter((t=>!(t.id&&e.find((e=>e.id===t.id))||t.hasOwnProperty("uploadedToFolderId")&&t.uploadedToFolderId!==n))),...e],o=r.filter((e=>"folder"===e.type)),i=r.filter((e=>"folder"!==e.type));return o.concat(i)}handleBrowse(e,t,n){"function"==typeof this.props.onBrowse&&this.props.onBrowse(e,t,n),e!==this.getFolderId()&&this.props.actions.gallery.deselectFiles()}handleSetPage(e){this.handleBrowse(this.getFolderId(),this.props.fileId,Object.assign({},this.props.query,{page:e}))}handleDoSearch(e){this.props.actions.gallery.deselectFiles(),this.props.actions.queuedFiles.purgeUploadQueue(),this.props.actions.files.readFiles(),this.handleBrowse(e.currentFolderOnly?this.getFolderId():0,null,{filter:e,view:this.props.query.view})}handleClearSearch(e){this.props.actions.displaySearch.closeSearch(),this.props.actions.gallery.deselectFiles(),this.props.actions.queuedFiles.purgeUploadQueue(),this.props.actions.files.readFiles(),this.handleOpenFolder(e,this.props.folder)}handleSort(e){this.handleBrowse(this.getFolderId(),this.props.fileId,{...this.props.query,sort:e,limit:void 0,page:void 0})}handleViewChange(e){this.handleBrowse(this.getFolderId(),this.props.fileId,Object.assign({},this.props.query,{view:e}))}createEndpoint(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return a.default.createEndpointFetcher(Object.assign({},e,t?{defaultData:{SecurityID:this.props.securityId}}:{}))}handleBackButtonClick(e){e.preventDefault(),this.props.actions.gallery.deselectFiles(),this.props.folder?this.handleOpenFolder(this.props.folder.parentId||0):this.handleOpenFolder(0)}resetFile(e){e.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(e.queuedId),this.props.fileId===e.id&&this.props.resetFileDetails(this.getFolderId(),e.id,this.props.query)}handleFolderIcon(){this.handleOpenFile(this.getFolderId())}handleOpenFile(e){this.handleBrowse(this.getFolderId(),e,this.props.query)}handleSubmitEditor(e,t,n){let r=null;if("action_insert"===t&&"select"===this.props.type){const t=this.getFiles().find((t=>t.id===parseInt(e.ID,10)));return this.props.onInsertMany(null,[t]),Promise.resolve()}if("function"==typeof this.props.onSubmitEditor){const o=this.findFile(this.props.fileId);r=this.props.onSubmitEditor(e,t,n,o)}else r=n();if(!r)throw new Error("Promise was not returned for submitting");return r.then((e=>("action_createfolder"===t&&"admin"===this.props.type&&this.handleOpenFile(e.record.id),this.props.actions.files.readFiles().then((()=>("action_createfolder"===t&&"admin"!==this.props.type&&this.handleOpenFolder(this.getFolderId()),e))))))}handleCloseFile(){this.handleBrowse(this.getFolderId(),null,this.props.query)}handleOpenFolder(e){const{page:t,filter:n,...r}=this.props.query;this.handleBrowse(e,null,r)}handleDelete(e){this.props.actions.confirmDeletion.deleting();const t=e.map((e=>{const t=this.findFile(e);if(!t)throw new Error(`File selected for deletion cannot be found: ${e}`);return t.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(t.queuedId),t})).map((e=>e.id)),n=this.props.folder?this.props.folder.id:0;return this.props.actions.files.deleteFiles(t,n).then((e=>{let{data:{deleteFiles:r}}=e;this.handleBrowse(n,null,this.props.query);return this.props.queuedFiles.items.filter((e=>t.includes(e.id))).forEach((e=>{e.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)})),this.props.actions.files.readFiles(),r})).then((t=>{const n=t.filter((e=>e)).length;return n!==e.length?this.props.actions.toasts.error(l.default.sprintf(l.default._t("AssetAdmin.BULK_ACTIONS_DELETE_FAIL","%s folders/files were successfully deleted, but %s files were not able to be deleted."),n,e.length-n)):(this.props.actions.toasts.success(l.default.sprintf(l.default._t("AssetAdmin.BULK_ACTIONS_DELETE_SUCCESS","%s folders/files were successfully deleted."),n)),this.props.actions.gallery.deselectFiles()),t})).finally(this.props.actions.confirmDeletion.reset)}doUnpublish(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=e.map((e=>{const t=this.findFile(e);if(!t)throw new Error(`File selected for unpublishing cannot be found: ${e}`);if("folder"===t.type)throw new Error("Cannot unpublish folders");return t})).map((e=>e.id));return this.props.actions.files.unpublishFiles(n,t).then((e=>{let{data:{unpublishFiles:t}}=e;const n=t.filter((e=>"File"===e.__typename)),r=t.filter((e=>"PublicationNotice"===e.__typename&&"HAS_OWNERS"===e.noticeType)),o=n.map((e=>(this.resetFile(e),e))),i=r.slice(0,4),s=r.slice(5),a=i.map((e=>e.message));if(s.length&&a.push(l.default.inject(l.default._t("AssetAdmin.BULK_OWNED_WARNING_REMAINING","And {count} other file(s)"),{count:s.length})),i.length){const e=[l.default.inject(l.default._t("AssetAdmin.BULK_OWNED_WARNING_HEADING","{count} file(s) are being used by other published content."),{count:r.length}),a.join("\n"),l.default._t("AssetAdmin.BULK_OWNED_WARNING_FOOTER","Unpublishing will only remove files from the published version of the content. They will remain on the draft version. Unpublish anyway?")];if(confirm(e.join("\n\n"))){const e=r.reduce(((e,t)=>e.concat(t.ids)),[]);return this.doUnpublish(e,!0).then((e=>o.concat(e)))}}return o}))}handleUnpublish(e){return this.doUnpublish(e).then((e=>{const{fileId:t}=this.props;this.props.actions.files.readFiles().then((()=>{t&&e.find((e=>e.id===t))&&this.props.resetFileDetails(this.getFolderId(),t,this.props.query)}))}))}doPublish(e){const t=e.map((e=>{const t=this.findFile(e);if(!t)throw new Error(`File selected for publishing cannot be found: ${e}`);if("folder"===t.type)throw new Error("Cannot publish folders");return t})).map((e=>e.id));return this.props.actions.files.publishFiles(t).then((e=>{let{data:{publishFiles:t}}=e;return t.filter((e=>"File"===e.__typename)).map((e=>(this.resetFile(e),e)))}))}findFile(e){return this.getFiles().find((t=>t.id===parseInt(e,10)))}handleUpload(){}handleUploadQueue(){this.props.fileId&&this.props.actions.files.readFiles()}handleCreateFolder(){this.props.onBrowse(this.getFolderId(),null,this.props.query,S.default.ACTIONS.CREATE_FOLDER)}handleMoveFilesSuccess(e,t){this.props.queuedFiles.items.filter((e=>t.includes(e.id))).forEach((e=>{e.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)})),this.props.actions.gallery.deselectFiles(),this.props.actions.files.readFiles()}renderGallery(){const e=this.props.sectionConfig,t=e.createFileEndpoint.url,n=e.createFileEndpoint.method,o=this.props.query&&parseInt(this.props.query.limit||e.limit,10),i=this.props.query&&parseInt(this.props.query.page||1,10),s=this.props.query&&this.props.query.sort,a=this.props.query&&this.props.query.view,l=this.props.query.filter||{};return r.default.createElement(m.default,{files:this.getFiles(),fileId:this.props.fileId,folderId:this.getFolderId(),folder:this.props.folder,type:this.props.type,limit:o,page:i,totalCount:this.props.filesTotalCount,view:a,filters:l,graphQLErrors:this.props.graphQLErrors,createFileApiUrl:t,createFileApiMethod:n,onInsertMany:this.props.onInsertMany,onPublish:this.doPublish,onUnpublish:this.doUnpublish,onOpenFile:this.handleOpenFile,onOpenFolder:this.handleOpenFolder,onSuccessfulUpload:this.handleUpload,onSuccessfulUploadQueue:this.handleUploadQueue,onCreateFolder:this.handleCreateFolder,onMoveFilesSuccess:this.handleMoveFilesSuccess,onClearSearch:this.handleClearSearch,onSort:this.handleSort,onSetPage:this.handleSetPage,onViewChange:this.handleViewChange,sort:s,sectionConfig:e,loading:this.props.loading,maxFilesSelect:this.props.maxFiles,dialog:this.props.dialog})}renderEditor(){const{sectionConfig:e,viewAction:t,type:n,fileId:o,dialog:i,requireLinkText:s,fileSelected:a}=this.props,{schemaUrl:l,targetId:u}=(0,I.default)({config:e,viewAction:t,folderId:this.getFolderId(),type:n,fileId:o});if(!l)return null;const d=[];s&&d.push({name:"requireLinkText",value:!0}),a&&d.push({name:"fileSelected",value:!0});const c={dialog:i,fileId:u,schemaUrl:l,schemaUrlQueries:d,onClose:this.handleCloseFile,onSubmit:this.handleSubmitEditor,onUnpublish:this.handleUnpublish,addToCampaignSchemaUrl:e.form.addToCampaignForm.schemaUrl};return r.default.createElement(h.default,c)}render(){const{folder:e,folderId:t,query:n,getUrl:o,type:i,maxFiles:s,toolbarChildren:a}=this.props,l=Boolean(t||(0,v.hasFilters)(n.filter)),d=this.props.sectionConfig.form.fileSearchForm.schemaUrl,c=n.filter||{},p=(0,u.default)("fill-height asset-admin","select"===i&&{"asset-admin--single-select":1===s,"asset-admin--multi-select":1!==s}),f=(0,v.hasFilters)(n.filter)||this.props.showSearch,h=this.props.actions.displaySearch?this.props.actions.displaySearch.toggleSearch:void 0,m={folder:e,query:n,getUrl:o,onBrowse:this.handleBrowse,onFolderIcon:this.handleFolderIcon};return r.default.createElement("div",{className:p},r.default.createElement(g.default,{showBackButton:l,onBackButtonClick:this.handleBackButtonClick},r.default.createElement(x.default,m),r.default.createElement("div",{className:"asset-admin__toolbar-extra pull-xs-right fill-width vertical-align-items"},r.default.createElement(b.default,{toggled:f,onToggle:h}),a)),f&&r.default.createElement(v.default,{onSearch:this.handleDoSearch,id:"AssetSearchForm",formSchemaUrl:d,onHide:this.handleClearSearch,displayBehavior:"HIDEABLE",filters:c,name:"name"}),r.default.createElement("div",{className:"flexbox-area-grow fill-width fill-height gallery"},this.renderGallery(),this.renderEditor()),r.default.createElement(A.default,{onConfirm:this.handleDelete}))}}t.Component=R,R.propTypes={dialog:o.default.bool,sectionConfig:w.default,fileId:o.default.number,folderId:o.default.number,resetFileDetails:o.default.func,onBrowse:o.default.func,onReplaceUrl:o.default.func,onInsertMany:o.default.func,graphQLErrors:o.default.arrayOf(o.default.string),getUrl:o.default.func,query:o.default.shape({sort:o.default.string,limit:o.default.oneOfType([o.default.number,o.default.string]),page:o.default.oneOfType([o.default.number,o.default.string]),filter:o.default.object}),onSubmitEditor:o.default.func,type:o.default.oneOf(["insert-media","insert-link","select","admin"]),files:o.default.array,queuedFiles:o.default.shape({items:o.default.array.isRequired}),filesTotalCount:o.default.number,folder:o.default.shape({id:o.default.number,title:o.default.string,parents:o.default.array,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool}),loading:o.default.bool,actions:o.default.object,maxFiles:o.default.number,fileSelected:o.default.bool},R.defaultProps={type:"admin",query:{sort:"",limit:null,page:0,filter:{}},maxFiles:null};var T=(0,s.compose)((0,i.connect)((function(e,t){const{formSchema:n}=e.assetAdmin.modal;return{securityId:e.config.SecurityID,queuedFiles:e.assetAdmin.queuedFiles,showSearch:e.assetAdmin.displaySearch.isOpen,type:n&&n.type||t.type}}),(function(e){return{actions:{gallery:(0,s.bindActionCreators)(d,e),toasts:(0,s.bindActionCreators)(c,e),displaySearch:(0,s.bindActionCreators)(f,e),queuedFiles:(0,s.bindActionCreators)(p,e),confirmDeletion:(0,s.bindActionCreators)(O,e)}}})),(0,F.injectGraphql)("ReadFilesQuery"),E.default,_.default,C.default,y.withApollo)(R);t.default=T},5809:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(7363)),o=l(n(7086)),i=l(n(4754)),s=n(7803),a=n(1075);function l(e){return e&&e.__esModule?e:{default:e}}const u=e=>{let{folder:t,query:n,getUrl:o,onBrowse:l,onFolderIcon:u}=e;const d=function(){for(var e=arguments.length,t=new Array(e),n=0;n{e.preventDefault(),l(...t)}},c=function(){return o&&o(...arguments)},p=[{text:i.default._t("AssetAdmin.FILES","Files"),href:c(0,null,n),onClick:d(0,null,n)}];if(t&&t.id){t.parents&&t.parents.forEach((e=>{p.push({text:e.title,href:c(e.id,null,n),onClick:d(e.id,null,n)})}));const e=[{className:"icon font-icon-edit-list",onClick:e=>{e.preventDefault(),u()}}];t.hasRestrictedAccess&&e.push({nodeName:"FileStatusIcon",hasRestrictedAccess:!0}),p.push({text:t.title,href:c(t.id,null,n),onClick:d(t.id,null,n),icons:e})}return(0,a.hasFilters)(n.filter)&&p.push({text:i.default._t("LeftAndMain.SEARCHRESULTS","Search results")}),r.default.createElement(s.Component,{multiline:!0,crumbs:p})};u.propTypes={onBrowse:o.default.func,onFolderIcon:o.default.func,getUrl:o.default.func,query:o.default.shape({sort:o.default.string,limit:o.default.oneOfType([o.default.number,o.default.string]),page:o.default.oneOfType([o.default.number,o.default.string]),filter:o.default.object,view:o.default.string}),folder:o.default.shape({id:o.default.number,title:o.default.string,parents:o.default.array,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool})};var d=u;t.default=d},6290:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Component=void 0,t.buildUrl=y,t.default=void 0;var r=m(n(7363)),o=n(6188),i=n(1624),s=m(n(7432)),a=f(n(7056)),l=n(3069),u=f(n(7902)),d=f(n(8264)),c=f(n(9900)),p=n(4845);function f(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(h=function(e){return e?n:t})(e)}function m(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=h(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}const g=Object.keys(d.default.ACTIONS).map((e=>d.default.ACTIONS[e]));function y(e){let{base:t,folderId:n,fileId:r,query:o,action:i}=e;if(i&&-1===g.indexOf(i))throw new Error(`Invalid action provided: ${i}`);let s=null;s=r?(0,p.joinUrlPaths)(t,`show/${n}/${d.default.ACTIONS.EDIT_FILE}/${r}`):n?(0,p.joinUrlPaths)(t,`show/${n}`):t,i===d.default.ACTIONS.CREATE_FOLDER&&(s=(0,p.joinUrlPaths)(t,`show/${n||0}/${i}`));return o&&Object.keys(o).length>0&&(s=`${s}?${u.default.stringify(o)}`),s}class v extends r.Component{constructor(e){super(e),this.handleBrowse=this.handleBrowse.bind(this),this.handleReplaceUrl=this.handleReplaceUrl.bind(this),this.handleResetDetails=this.handleResetDetails.bind(this),this.getUrl=this.getUrl.bind(this)}getUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d.default.ACTIONS.EDIT_FILE;const o=parseInt(e||0,10),i=parseInt(t||0,10),s=o!==this.getFolderId(),a=Object.assign({},n);return(s||a.page<=1)&&delete a.page,y({base:`/${this.props.sectionConfig.reactRoutePath}`,folderId:o,fileId:i,query:a,action:r})}getFolderId(){return this.props.router.params&&this.props.router.params.folderId?parseInt(this.props.router.params.folderId,10):0}getFileId(){return this.props.router.params&&this.props.router.params.fileId?parseInt(this.props.router.params.fileId,10):0}getViewAction(){return this.props.router.params&&this.props.router.params.viewAction?this.props.router.params.viewAction:d.default.ACTIONS.EDIT_FILE}getSectionProps(){return{sectionConfig:this.props.sectionConfig,type:"admin",folderId:this.getFolderId(),viewAction:this.getViewAction(),fileId:this.getFileId(),query:this.getQuery(),getUrl:this.getUrl,onBrowse:this.handleBrowse,onReplaceUrl:this.handleReplaceUrl,resetFileDetails:this.handleResetDetails}}getQuery(){return(0,l.decodeQuery)(this.props.router.location.search)}handleBrowse(e,t,n,r){const o=this.getUrl(e,t,n,r);this.props.router.navigate(o)}handleReplaceUrl(e,t,n,r){const o=this.getUrl(e,t,n,r);this.props.router.navigate(o,{replace:!0})}handleResetDetails(e,t,n){const r=this.getUrl(e,t,n),o=this.getUrl(e,null,n);this.props.router.navigate(o,{replace:!0,state:{reset:!0,resetPath:r}})}render(){const e=this.props.router.location.state;return e&&e&&e.reset?r.default.createElement(o.Navigate,{to:e.resetPath,replace:!0}):this.props.sectionConfig?r.default.createElement(a.default,this.getSectionProps()):null}}t.Component=v,v.propTypes={sectionConfig:c.default,router:s.routerPropTypes};var b=(0,s.default)((0,i.connect)((function(e){return{sectionConfig:e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name))}}))(v));t.default=b},1746:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.AssetAdminStateRouter=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=u(n(7086)),i=n(1624),s=n(6290),a=u(n(8264)),l=n(4478);function u(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}const c={folderId:null,fileId:null,query:{},action:a.default.ACTIONS.EDIT_FILE};class p extends r.Component{constructor(e){super(e),this.handleBrowse=this.handleBrowse.bind(this),this.getUrl=this.getUrl.bind(this),this.state=Object.assign({},c,{folderId:e.folderId})}getUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.default.ACTIONS.EDIT_FILE;const o=parseInt(e||0,10),i=parseInt(t||0,10),l=this.getFolderId(),u=o!==l&&null!==l,d=Object.assign({},n);return(u||d.page<=1)&&delete d.page,(0,s.buildUrl)({base:this.props.sectionConfig.reactRoutePath,folderId:o,fileId:i,query:d,action:r})}getFolderId(){return null===this.state.folderId?null:parseInt(this.state.folderId||0,10)}getFileId(){return parseInt(this.state.fileId||this.props.fileId||0,10)}getViewAction(){return this.state.action||a.default.ACTIONS.EDIT_FILE}getSectionProps(){const e=Object.assign({},this.props,{folderId:this.getFolderId(),fileId:this.getFileId(),viewAction:this.getViewAction(),query:this.state.query,getUrl:this.getUrl,onBrowse:this.handleBrowse});return delete e.Component,e}handleBrowse(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.default.ACTIONS.EDIT_FILE;if(r&&-1===Object.values(a.default.ACTIONS).indexOf(r))throw new Error(`Invalid action provided: ${r}`);this.state.fileId!==t&&this.props.actions.resetFormStack(),this.setState({folderId:e,fileId:t,query:n,action:r})}render(){const e=this.getSectionProps(),t=this.props.Component;return r.default.createElement(t,e)}}function f(e){return{actions:{resetFormStack:()=>e((0,l.resetFormStack)())}}}t.AssetAdminStateRouter=p,p.propTypes={Component:o.default.elementType,sectionConfig:o.default.shape({url:o.default.string.isRequired}).isRequired,fileId:o.default.number};var h=function(e){return(0,i.connect)((function(t){const n=t.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));return{Component:e,sectionConfig:n}}),f)(p)};t.default=h},7882:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=v(n(7363)),o=n(2827),i=n(1624),s=v(n(7086)),a=n(7588),l=n(6648),u=y(n(9194)),d=y(n(602)),c=v(n(4754)),p=v(n(4744)),f=v(n(4764)),h=v(n(5482)),m=n(4267);function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(g=function(e){return e?n:t})(e)}function y(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=g(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function v(e){return e&&e.__esModule?e:{default:e}}function b(){return b=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{loading:t,LoadingComponent:n,transition:o,files:i,descendantFileCounts:s,onModalClose:a,onCancel:l,onConfirm:u}=e,p=null,g=[{label:c.default._t("AssetAdmin.DELETE","Delete"),handler:()=>u(i.map((e=>{let{id:t}=e;return t}))),color:"danger"},{label:c.default._t("AssetAdmin.CANCEL","Cancel"),handler:l}];if(t)p=r.default.createElement(n,null);else{const e=Object.keys(s).length,t=(0,m.getFolderDescendantFileTotals)(i,s),n=(0,m.getFileTotalItems)(i),o={folderCount:e,folderDescendantFileTotals:t,fileTotalItems:n};p=r.default.createElement(h.default,o),(t.totalItems||n)&&(g=[{label:c.default._t("AssetAdmin.CANCEL","Cancel"),handler:l,color:"primary"},{label:c.default._t("AssetAdmin.DELETE","Delete"),handler:()=>u(i.map((e=>{let{id:t}=e;return t}))),color:"danger"}])}const y=![d.CANCELING,d.DELETING].includes(o);return r.default.createElement(f.default,{body:p,isOpen:y,actions:g,onCancel:l,onClosed:a})};t.Component=E,E.propTypes={loading:s.default.bool.isRequired,LoadingComponent:s.default.elementType,transition:s.default.oneOf(["canceling","deleting",!1]),files:s.default.arrayOf(p.default),descendantFileCounts:s.default.object,onCancel:s.default.func.isRequired,onModalClose:s.default.func.isRequired,onConfirm:s.default.func.isRequired};const _=(0,o.compose)((0,l.inject)(["Loading"],(e=>({LoadingComponent:e}))),(0,l.injectGraphql)("readDescendantFileCountsQuery"),a.withApollo)(E),C={onCancel:u.cancel,onModalClose:u.modalClose};var S=(0,o.compose)((0,i.connect)((e=>{let{assetAdmin:{confirmDeletion:t}}=e;return t}),C))((e=>{let{showConfirmation:t,files:n,...o}=e;return t&&n.length>0?r.default.createElement(_,b({},o,{files:n})):null}));t.default=S},5482:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(4754)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=l(n(7086)),s=n(4267);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}function l(e){return e&&e.__esModule?e:{default:e}}const u=e=>{let{folderCount:t,folderDescendantFileTotals:n,fileTotalItems:i}=e;return o.default.createElement(o.Fragment,null,o.default.createElement("p",null,((e,t,n)=>{const o=t.totalCount+n;return o>0?r.default.sprintf(r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_ITEMS_CONFIRM",["You're about to delete %s file(s) which may be used in your site's content.","Carefully check the file usage on the files before deleting the folder."].join(" ")),o):1===e?r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_FOLDER_CONFIRM","Are you sure you want to delete this folder?"):r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_FOLDERS_CONFIRM","Are you sure you want to delete these folders?")})(t,n,i)),(n.totalItems>0||i>0)&&o.default.createElement("p",null,r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_WARNING","Ensure files are removed from content areas prior to deleting them, otherwise they will appear as broken links.")))};u.propTypes={folderCount:i.default.number,folderDescendantFileTotals:s.descendantFileTotalsShape,fileTotalItems:i.default.number},u.defaultProps={folderCount:0,folderDescendantFileTotals:{totalItems:0,totalCount:0},fileTotalItems:0};var d=u;t.default=d},4764:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(4754)),o=a(n(7363)),i=a(n(7086)),s=n(8127);function a(e){return e&&e.__esModule?e:{default:e}}const l=e=>{let{isOpen:t,body:n,onCancel:i,actions:a}=e;return o.default.createElement(s.Modal,{isOpen:t,toggle:i},o.default.createElement(s.ModalHeader,{toggle:i},r.default._t("AssetAdmin.CONFIRM_FILE_DELETION","Confirm deletion")),o.default.createElement(s.ModalBody,null,n),o.default.createElement(s.ModalFooter,null,a.map((e=>{let{label:t,handler:n,color:r}=e;return o.default.createElement(s.Button,{key:t,color:r,onClick:n},t)}))))};l.propTypes={isOpen:i.default.bool.isRequired,body:i.default.node.isRequired,onCancel:i.default.func.isRequired,actions:i.default.arrayOf(i.default.shape({label:i.default.string.isRequired,handler:i.default.func,color:i.default.string}))};var u=l;t.default=u},4267:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFolderDescendantFileTotals=t.getFileTotalItems=t.descendantFileTotalsShape=void 0;var r,o=(r=n(7086))&&r.__esModule?r:{default:r};const i=e=>{let{type:t}=e;return"folder"===t},s=e=>!i(e),a={totalItems:0,totalCount:0},l=o.default.shape({totalItems:o.default.number,totalCount:o.default.number});t.descendantFileTotalsShape=l;t.getFolderDescendantFileTotals=(e,t)=>{return e.filter(i).reduce((n=t,(e,t)=>{let{id:r}=t;return n[r]>0?{totalItems:e.totalItems+1,totalCount:e.totalCount+n[r]}:e}),a);var n};t.getFileTotalItems=e=>e.filter(s).length},2234:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=C(n(4754)),o=n(1624),i=n(2827),s=_(n(7363)),a=C(n(8264)),l=C(n(8238)),u=C(n(4912)),d=_(n(5910)),c=C(n(4744)),p=C(n(7086)),f=n(6648),h=_(n(9194)),m=_(n(4478)),g=_(n(1827)),y=C(n(7820)),v=C(n(1872)),b=C(n(7902));function E(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(E=function(e){return e?n:t})(e)}function _(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=E(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function C(e){return e&&e.__esModule?e:{default:e}}function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{name:n,value:r}=t;return{...e,[n]:r}}),{});return v.default.format({...r,pathname:`${r.path}/${n}`,search:b.default.stringify(o)})}handleAction(e){switch(e.currentTarget.name){case"action_addtocampaign":this.openModal(),e.preventDefault();break;case"action_replacefile":this.replaceFile(),e.preventDefault();break;case"action_downloadfile":this.downloadFile(),e.preventDefault();break;case"action_delete":this.props.actions.confirmDeletion.confirm([this.props.file]),e.preventDefault()}}handleCancelKeyDown(e){e.keyCode!==a.default.SPACE_KEY_CODE&&e.keyCode!==a.default.RETURN_KEY_CODE||this.handleClose(e)}handleSubmit(e,t,n){const{showingSubForm:r,actions:o}=this.props;return"function"==typeof this.props.onSubmit?this.props.onSubmit(e,t,n).finally((()=>{r&&-1!==["action_save","action_publish"].indexOf(t)&&o.modal.popFormStackEntry()})):n()}handleClose(e){const{showingSubForm:t,onClose:n,actions:r}=this.props;t?r.modal.popFormStackEntry():(n(),this.closeModal()),e&&e.preventDefault()}openModal(){this.setState({openModal:!0})}closeModal(){this.setState({openModal:!1})}replaceFile(){const e=document.querySelector(".dz-input-PreviewImage");e&&e.click()}downloadFile(){!function(e,t){const n=document.createElement("a");n.download=t,n.href=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}(this.props.file.url,this.props.file.name),document.getElementById("Form_fileEditForm_PopoverActions").focus()}handleLoadingError(e){this.setState({loadingForm:!1,loadingError:e.errors[0]})}handleLoadingSuccess(){this.setState({loadingForm:!1,loadingError:null})}handleFetchingSchema(){this.setState({loadingForm:!0})}editorHeader(e){let{SchemaComponent:t,...n}=e;const{dialog:r,nextType:o,showingSubForm:i,actions:a,file:l}=this.props,u=this.getFormSchemaUrl();let d=g.buttonStates.SWITCH;r&&l&&"folder"!==l.type&&(d=i?g.buttonStates.ALWAYS_BACK:g.buttonStates.ONLY_BACK);const{formid:c}=n,p=o&&l&&"folder"!==l.type?()=>{a.modal.stashFormValues(c,u),a.modal.pushFormStackEntry(o)}:void 0,f={onCancel:this.handleClose,showButton:d,onDetails:p};return s.default.createElement(g.default,f,s.default.createElement(t,n))}createFn(e,t){if("AssetEditorHeaderFieldGroup"===t.name){const n=this.editorHeader,r={key:t.id,SchemaComponent:e,...t};return s.default.createElement(n,r)}return s.default.createElement(e,S({key:t.id},t))}render(){const e=this.getFormSchemaUrl(),t=`${this.props.addToCampaignSchemaUrl}/${this.props.fileId}`,n=(0,y.default)("panel","form--no-dividers","editor",{"editor--asset-dropzone--disable":!this.props.enableDropzone},this.props.className);let o=null;if(this.state.loadingError){let e=this.state.loadingError.value;404===this.state.loadingError.code&&(e=r.default._t("AssetAdmin.FILE_MISSING","File cannot be found")),e||(e=r.default._t("Admin.UNKNOWN_ERROR","An unknown error has occurred")),o=s.default.createElement("div",{className:"editor__file-preview-message--file-missing"},e)}const i=r.default._t("Admin.ADD_TO_CAMPAIGN","Add to campaign"),a=this.props.loadingComponent,{file:d}=this.props;return s.default.createElement("div",{className:n},s.default.createElement("div",{className:"editor__details fill-height"},s.default.createElement(l.default,{identifier:"AssetAdmin.EditForm",schemaUrl:e,onSubmit:this.handleSubmit,onAction:this.handleAction,onLoadingSuccess:this.handleLoadingSuccess,onLoadingError:this.handleLoadingError,onFetchingSchema:this.handleFetchingSchema,createFn:this.createFn,file:d}),o,s.default.createElement(u.default,{title:i,identifier:"AssetAdmin.AddToCampaign",isOpen:this.state.openModal,onClosed:this.closeModal,schemaUrl:t,bodyClassName:"modal__dialog",responseClassBad:"modal__response modal__response--error",responseClassGood:"modal__response modal__response--good"}),this.state.loadingForm&&s.default.createElement(a,null)))}}t.Component=w,w.propTypes={file:c.default,className:p.default.string,fileId:p.default.number.isRequired,enableDropzone:p.default.bool,dialog:p.default.bool,onClose:p.default.func.isRequired,onSubmit:p.default.func.isRequired,schemaUrl:p.default.string.isRequired,schemaUrlQueries:p.default.arrayOf(p.default.shape({name:p.default.string,value:p.default.any})),addToCampaignSchemaUrl:p.default.string,actions:p.default.object,showingSubForm:p.default.bool,nextType:p.default.string};var F=(0,i.compose)((0,f.inject)(["Loading"],(e=>({loadingComponent:e})),(()=>"AssetAdmin.Editor")),(0,o.connect)((function(e){let{assetAdmin:{gallery:t,modal:n}}=e;return{enableDropzone:t.enableDropzone,nextType:n.formSchema&&n.formSchema.nextType,showingSubForm:n.formSchemaStack&&n.formSchemaStack.length>1}}),(function(e){return{actions:{unsavedForms:(0,i.bindActionCreators)(d,e),confirmDeletion:(0,i.bindActionCreators)(h,e),modal:(0,i.bindActionCreators)(m,e)}}})),(0,f.injectGraphql)("ReadOneFileQuery"))(w);t.default=F},1827:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.buttonStates=void 0;var r=u(n(7363)),o=u(n(4754)),i=u(n(5017)),s=u(n(5780)),a=u(n(7086)),l=u(n(7820));function u(e){return e&&e.__esModule?e:{default:e}}const d=e=>t=>{t.preventDefault(),e&&e()},c="ALWAYS_BACK",p="ALWAYS_CANCEL",f="SWITCH",h="ONLY_BACK",m="ONLY_CANCEL",g={ALWAYS_BACK:c,ALWAYS_CANCEL:p,SWITCH:f,ONLY_BACK:h,ONLY_CANCEL:m,NONE:"NONE"};t.buttonStates=g;const y=e=>{let{onCancel:t,onDetails:n,showButton:a,children:u}=e;const g=d(t),y=[c,f,h].indexOf(a)>=0,v=[p,f,m].indexOf(a)>=0,b=(0,l.default)("editor-header__back-button","btn--icon-xl",{"editor-header__back-button--md-below":[f,h].indexOf(a)>=0}),E=(0,l.default)("editor-header__cancel-button","btn--icon-xl",{"editor-header__cancel-button--lg-above":[f,m].indexOf(a)>=0});return r.default.createElement("div",{className:"editor-header"},y&&r.default.createElement(s.default,{className:b,onClick:g}),r.default.createElement("div",{className:"editor-header__field"},u),n&&r.default.createElement(i.default,{onClick:d(n),icon:"edit-list",className:"editor-header__edit",outline:!0},o.default._t("AssetAdmin.DETAILS","Details")),v&&r.default.createElement("div",null,r.default.createElement(i.default,{icon:"cancel",className:E,noText:!0,onClick:g},o.default._t("AssetAdmin.CANCEL"))))};y.propTypes={onCancel:a.default.func,onDetails:a.default.func,showButton:a.default.oneOf(Object.keys(g).map((e=>g[e]))),children:a.default.node};var v=y;t.default=v},4288:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.galleryViewPropTypes=t.galleryViewDefaultProps=t.default=t.Component=void 0;var r=D(n(5311)),o=D(n(4754)),i=x(n(7363)),s=D(n(394)),a=n(1624),l=n(2827),u=D(n(1856)),d=D(n(1783)),c=D(n(3298)),p=D(n(8697)),f=D(n(8264)),h=D(n(1971)),m=x(n(3669)),g=x(n(5123)),y=x(n(2986)),v=x(n(9194)),b=D(n(4093)),E=n(7588),_=n(8088),C=D(n(9900)),S=D(n(1338)),w=n(6648),F=D(n(7086)),O=D(n(4065)),I=D(n(35));function A(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(A=function(e){return e?n:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=A(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function D(e){return e&&e.__esModule?e:{default:e}}const P={DELETE:"delete",EDIT:"edit",MOVE:"move",PUBLISH:"publish",UNPUBLISH:"unpublish",INSERT:"insert",ADMIN:"admin",SELECT:"select"};class M extends i.Component{constructor(e){super(e),this.handleOpenFolder=this.handleOpenFolder.bind(this),this.handleOpenFile=this.handleOpenFile.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleAddedFile=this.handleAddedFile.bind(this),this.handlePreviewLoaded=this.handlePreviewLoaded.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this),this.handleRemoveErroredUpload=this.handleRemoveErroredUpload.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleSending=this.handleSending.bind(this),this.handleSort=this.handleSort.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.handleSuccessfulUpload=this.handleSuccessfulUpload.bind(this),this.handleQueueComplete=this.handleQueueComplete.bind(this),this.handleFailedUpload=this.handleFailedUpload.bind(this),this.handleClearSearch=this.handleClearSearch.bind(this),this.handleEnableDropzone=this.handleEnableDropzone.bind(this),this.handleMoveFiles=this.handleMoveFiles.bind(this),this.handleBulkEdit=this.handleBulkEdit.bind(this),this.handleBulkPublish=this.handleBulkPublish.bind(this),this.handleBulkUnpublish=this.handleBulkUnpublish.bind(this),this.handleBulkMove=this.handleBulkMove.bind(this),this.handleBulkInsert=this.handleBulkInsert.bind(this),this.handleBeginSelection=this.handleBeginSelection.bind(this),this.handleGroupSelect=this.handleGroupSelect.bind(this),this.handleClearSelection=this.handleClearSelection.bind(this),this.toggleSelectConcat=this.toggleSelectConcat.bind(this),this.getSelectableFiles=this.getSelectableFiles.bind(this)}componentDidMount(){this.initSortDropdown(),window.addEventListener("keydown",this.toggleSelectConcat),window.addEventListener("keyup",this.toggleSelectConcat)}componentWillReceiveProps(e){if("tile"!==e.view){this.getSortElement().off("change")}this.props.folderId!==e.folderId&&e.actions.queuedFiles.purgeUploadQueue()}componentDidUpdate(){this.initSortDropdown()}componentWillUnmount(){window.removeEventListener("keydown",this.toggleSelectConcat),window.removeEventListener("keyup",this.toggleSelectConcat)}getSortElement(){return(0,r.default)(s.default.findDOMNode(this)).find(".gallery__sort .dropdown")}getSearchMessage(e){const t=[];e.name&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEKEYWORDS","with keywords '{name}'")),e.lastEditedFrom&&e.lastEditedTo?t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEEDITEDBETWEEN","last edited between '{lastEditedFrom}' and '{lastEditedTo}'")):e.lastEditedFrom?t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEEDITEDFROM","last edited after '{lastEditedFrom}'")):e.lastEditedTo&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEEDITEDTO","last edited before '{lastEditedTo}'")),e.appCategory&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGECATEGORY","categorised as '{appCategory}'")),e.currentFolderOnly&&this.props.folder.title&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGELIMIT","limited to the folder '{folder}'"));const n=[t.slice(0,-1).join(`${o.default._t("AssetAdmin.JOIN",",")} `),t.slice(-1)].filter((e=>e)).join(` ${o.default._t("AssetAdmin.JOINLAST","and")} `);if(""===n)return"";const r={parts:o.default.inject(n,Object.assign({folder:this.props.folder.title},e,{appCategory:e.appCategory?e.appCategory.toLowerCase():void 0}))};return o.default.inject(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGE","Search results {parts}"),r)}getSelection(e,t){const n=this.getSelectableFiles(),r=[e,t].map((e=>n.findIndex((t=>t.id===e)))).filter((e=>-1!==e)).sort(((e,t)=>e-t));if(2!==r.length)return r.map((e=>n[e].id));const[o,i]=r;return n.filter(((e,t)=>t>=o&&t<=i)).map((e=>e.id))}getSelectableFiles(){const e=this.props.files.filter((e=>e.id));return this.props.type===P.SELECT?e.filter((e=>"folder"!==e.type)):e}handleBulkInsert(e,t){this.props.onInsertMany(e,t)}handleBulkPublish(e,t){const n=t.map((e=>e.id));return n.length?(this.props.actions.gallery.setLoading(!0),this.props.onPublish(n).then((e=>{this.props.actions.gallery.setLoading(!1),this.props.actions.toasts.success(o.default.sprintf(o.default._t("AssetAdmin.BULK_ACTIONS_PUBLISH_SUCCESS","%s folders/files were successfully published."),e.length)),this.props.actions.gallery.deselectFiles()}))):(this.props.actions.gallery.deselectFiles(),Promise.resolve(!0))}handleBulkUnpublish(e,t){const n=t.filter((e=>e.published)).map((e=>e.id));return n.length?(this.props.actions.gallery.setLoading(!0),this.props.onUnpublish(n).then((e=>{this.props.actions.gallery.setLoading(!1),this.props.actions.toasts.success(o.default.sprintf(o.default._t("AssetAdmin.BULK_ACTIONS_UNPUBLISH_SUCCESS","%s folders/files were successfully unpublished."),e.length)),this.props.actions.gallery.deselectFiles()}))):(this.props.actions.gallery.deselectFiles(),Promise.resolve(!0))}initSortDropdown(){if("tile"===this.props.view){const e=this.getSortElement();e.chosen({allow_single_deselect:!0,disable_search_threshold:20}),e.off("change"),e.on("change",(()=>e.find(":selected")[0].click()))}}handleSort(e){this.props.actions.queuedFiles.purgeUploadQueue(),this.props.onSort(e)}handleSetPage(e){this.props.onSetPage(e)}handleCancelUpload(e){e.xhr.abort(),this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)}handleRemoveErroredUpload(e){this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)}handleAddedFile(e){this.props.actions.queuedFiles.addQueuedFile(e)}handlePreviewLoaded(e,t){this.props.actions.queuedFiles.updateQueuedFile(e.queuedId,t)}handleSending(e,t){this.props.actions.queuedFiles.updateQueuedFile(e._queuedId,{xhr:t})}handleUploadProgress(e,t){this.props.actions.queuedFiles.updateQueuedFile(e._queuedId,{progress:t})}handleSuccessfulUpload(e){const t=JSON.parse(e.xhr.response);if(void 0!==t[0].error)return void this.handleFailedUpload(e);this.props.actions.queuedFiles.succeedUpload(e._queuedId,t[0]),this.props.onSuccessfulUpload&&this.props.onSuccessfulUpload(t);const n=this.props.queuedFiles.items.reduce(((e,t)=>100!==t.progress?e+1:e),0);if(!this.props.fileId&&!this.props.selectedFiles.length&&0===n){const e=t.pop();this.props.onOpenFile(e.id)}}handleQueueComplete(){this.props.onSuccessfulUploadQueue&&this.props.onSuccessfulUploadQueue()}handleFailedUpload(e,t){const n=e.xhr&&e.xhr.status?(0,S.default)(e.xhr.status):"";this.props.actions.queuedFiles.failUpload(e._queuedId,t,n)}itemIsSelected(e){return this.props.selectedFiles.indexOf(e)>-1}toggleSelectConcat(e){this.props.actions.gallery.setConcatenateSelect(this.isConcat(e))}isConcat(e){return e.metaKey||e.ctrlKey||e.shiftKey}itemIsHighlighted(e){return this.props.fileId===e}hasOpenedItem(){return!!this.props.fileId}handleClearSearch(e){this.props.onClearSearch(e)}handleGroupSelect(e,t){const{setSelectedFiles:n,selectFiles:r}=this.props.actions.gallery,o=this.getSelectableFiles(),i=e.filter(((t,n)=>e.indexOf(t)===n&&o.find((e=>e.id===t)))),s=this.props.concatenateSelect||this.isConcat(t);if(null!==this.props.maxFilesSelect){let e=i.length;if(s){e=this.props.selectedFiles.filter((e=>!this.props.selectedFiles.includes(e))).concat(this.props.selectedFiles).length}if(e>=this.props.maxFilesSelect)return}s?r(i):n(i)}handleClearSelection(){this.props.actions.gallery.deselectFiles()}handleBeginSelection(e){let t=e.target;for(;t;){if(t.classList.contains("griddle-footer"))return!1;if(t.classList.contains("gallery__main--selectable"))break;t=t.parentNode}return!0}handleOpenFolder(e,t){e.preventDefault(),this.props.onOpenFolder(t.id)}handleOpenFile(e,t){e.preventDefault(),null!==t.created&&(this.props.selectedFiles.length&&1!==this.props.maxFilesSelect||this.props.type!==P.SELECT||this.handleSelect(e,t),this.props.onOpenFile(t.id,t))}handleSelect(e,t){const n=this.props.maxFilesSelect;let r=this.getSelectableFiles().filter((e=>e.id===t.id)).map((e=>e.id));if(1!==n)if(-1===this.props.selectedFiles.indexOf(t.id)){e.shiftKey&&(r=this.getSelection(this.props.lastSelected,t.id));if(this.props.selectedFiles.filter((e=>!r.includes(e))).concat(r).length>n&&null!==n)return;this.props.actions.gallery.selectFiles(r),this.props.actions.gallery.setLastSelected(t.id)}else this.props.actions.gallery.deselectFiles([t.id]),e.shiftKey&&this.props.actions.gallery.setLastSelected(null);else this.props.actions.gallery.setSelectedFiles(r)}handleEnableDropzone(e){this.props.actions.gallery.setEnableDropzone(e)}handleMoveFiles(e,t){this.props.actions.files.moveFiles(e,t).then((()=>{const n=f.default.MOVE_SUCCESS_DURATION,r=`+${t.length}`;this.props.actions.gallery.setFileBadge(e,r,"success",n),"function"==typeof this.props.onMoveFilesSuccess&&this.props.onMoveFilesSuccess(e,t)})).catch((()=>{this.props.actions.toasts.error(o.default._t("AssetAdmin.FAILED_MOVE","There was an error moving the selected items."))}))}handleBulkEdit(e,t){this.handleOpenFile(e,t[0])}handleBulkMove(){this.props.actions.gallery.activateModal(f.default.MODAL_MOVE)}renderTransitionBulkActions(){return this.renderBulkActions()}renderBulkActions(){const{type:e,dialog:t,maxFilesSelect:n,files:r,selectedFiles:o}=this.props,s=e===P.SELECT||t?e=>e.value===P.INSERT:e=>e.value!==P.INSERT,a=f.default.BULK_ACTIONS.filter(s).map((e=>{if(e.callback)return e;switch(e.value){case P.DELETE:return{...e,callback:(e,t)=>{this.props.actions.confirmDeletion.confirm(t)},confirm:void 0};case P.EDIT:return{...e,callback:this.handleBulkEdit};case P.MOVE:return{...e,callback:this.handleBulkMove};case P.PUBLISH:return{...e,callback:this.handleBulkPublish};case P.UNPUBLISH:return{...e,callback:this.handleBulkUnpublish};case P.INSERT:return{...e,callback:this.handleBulkInsert,color:"primary"};default:return e}})),l=o.map((e=>r.find((t=>t&&e===t.id)))).filter((e=>e));return l.length>0&&[P.ADMIN,P.SELECT].includes(e)?i.default.createElement(d.default,{actions:a,items:l,total:n,key:l.length>0,container:this.gallery,showCount:1!==n}):null}renderGalleryView(){const e="table"===this.props.view?p.default:c.default,t=this.props.files.map((e=>{const t=this.itemIsSelected(e.id),n=this.itemIsHighlighted(e.id),r=(e.queuedId?`queueId${e.queuedId}`:`id${e.id}`)+(t?"--selected":"");return{...e,selected:t,highlighted:n,key:r}})),{type:n,loading:r,dialog:o,page:s,totalCount:a,limit:l,sort:u,selectedFiles:d,badges:f,maxFilesSelect:h,sectionConfig:m}=this.props,g={selectableItems:n===P.SELECT||n===P.ADMIN&&(!h||h>1),selectableFolders:n!==P.SELECT&&!o,files:t,loading:r,page:s,totalCount:a,limit:l,sort:u,selectedFiles:d,badges:f,onSort:this.handleSort,onSetPage:this.handleSetPage,onOpenFile:this.handleOpenFile,onOpenFolder:this.handleOpenFolder,onSelect:this.handleSelect,onCancelUpload:this.handleCancelUpload,onDropFiles:this.handleMoveFiles,onRemoveErroredUpload:this.handleRemoveErroredUpload,onEnableDropzone:this.handleEnableDropzone,sectionConfig:m,canDrag:n===P.ADMIN,maxFilesSelect:h};return i.default.createElement(e,g)}renderToolbar(){const{GalleryToolbar:e,sort:t,view:n,folder:r,onCreateFolder:o,onOpenFolder:s,onViewChange:a}=this.props,l={onMoveFiles:this.handleMoveFiles,onSort:this.handleSort,onCreateFolder:o,onOpenFolder:s,onViewChange:a,view:n,sort:t,folder:r};return i.default.createElement(e,l)}render(){const{folder:e,loading:t,errorMessage:n,graphQLErrors:r,noticeMessage:s}=this.props,a=this.props.LoadingComponent,l=r&&r.length>0;if(!e)return n||l?i.default.createElement("div",{className:"gallery__error flexbox-area-grow"},i.default.createElement("div",{className:"gallery__error-message"},i.default.createElement("h3",null,o.default._t("AssetAdmin.DROPZONE_RESPONSE_ERROR","Server responded with an error.")),n&&i.default.createElement("p",null,n),l&&r.map(((e,t)=>i.default.createElement("p",{key:t},e))))):t?i.default.createElement("div",{className:"flexbox-area-grow"},i.default.createElement(a,null)):i.default.createElement("div",{className:"flexbox-area-grow"},i.default.createElement("div",{className:"editor__file-preview-message--file-missing m-t-3"},o.default._t("Admin.UNKNOWN_ERROR","An unknown error has occurred")));const d=i.default.createElement("div",{className:"gallery_messages"},n&&i.default.createElement(h.default,{value:n,type:"danger"}),s&&i.default.createElement(h.default,{value:s,type:"success"})),c={height:f.default.THUMBNAIL_HEIGHT,width:f.default.THUMBNAIL_WIDTH},p={url:this.props.createFileApiUrl,method:this.props.createFileApiMethod,paramName:"Upload",clickable:"#upload-button",...this.props.sectionConfig.dropzoneOptions},m=this.props.securityId,g=this.props.folder.canEdit&&this.props.enableDropzone,y=["panel","panel--padded","panel--scrollable","gallery__main","fill-height"];this.props.type===P.INSERT&&y.push("insert-media-modal__main");const v=y;return this.hasOpenedItem()&&v.push("gallery__main--has-opened-item"),i.default.createElement("div",{className:"flexbox-area-grow gallery__outer",ref:e=>{this.gallery=e}},this.renderTransitionBulkActions(),i.default.createElement(I.default,{className:y.join(" ")},this.renderToolbar(),i.default.createElement(_.SelectableGroup,{enabled:"tile"===this.props.view&&this.props.type===P.ADMIN,className:"flexbox-area-grow fill-height gallery__main--selectable",onSelection:this.handleGroupSelect,onNonItemClick:this.handleClearSelection,onBeginSelection:this.handleBeginSelection,preventDefault:!1,fixedPosition:!0},i.default.createElement(u.default,{name:"gallery-container",className:"flexbox-area-grow",canUpload:g,onAddedFile:this.handleAddedFile,onPreviewLoaded:this.handlePreviewLoaded,onError:this.handleFailedUpload,onSuccess:this.handleSuccessfulUpload,onQueueComplete:this.handleQueueComplete,onSending:this.handleSending,onUploadProgress:this.handleUploadProgress,preview:c,folderId:this.props.folderId,options:p,securityID:m,uploadButton:!1},d,this.renderGalleryView()))),this.props.loading&&i.default.createElement(a,null),i.default.createElement(O.default,{sectionConfig:this.props.sectionConfig,folderId:this.props.folderId,onSuccess:this.props.onMoveFilesSuccess,onOpenFolder:this.props.onOpenFolder}))}}t.Component=M;const R={page:1,limit:15},T={sectionConfig:C.default,loading:F.default.bool,sort:F.default.string,files:F.default.arrayOf(F.default.shape({id:F.default.number,parent:F.default.shape({id:F.default.number})})).isRequired,selectedFiles:F.default.arrayOf(F.default.number),totalCount:F.default.number,page:F.default.number,limit:F.default.number,badges:F.default.arrayOf(F.default.shape({id:F.default.number,message:F.default.node,status:F.default.string})),onOpenFile:F.default.func.isRequired,onOpenFolder:F.default.func.isRequired,onSort:F.default.func.isRequired,onSetPage:F.default.func.isRequired,maxFilesSelect:F.default.number},N=Object.assign({},R,{selectableItems:!1});t.galleryViewDefaultProps=N;const j=Object.assign({},T,{selectableItems:F.default.bool,selectableFolders:F.default.bool,onSelect:F.default.func,onCancelUpload:F.default.func,onRemoveErroredUpload:F.default.func,onEnableDropzone:F.default.func});t.galleryViewPropTypes=j,M.defaultProps=Object.assign({},R,{type:P.ADMIN,view:"tile",enableDropzone:!0,dialog:!1}),M.propTypes=Object.assign({},T,{onSuccessfulUpload:F.default.func,onSuccessfulUploadQueue:F.default.func,onCreateFolder:F.default.func,onMoveFilesSuccess:F.default.func,onPublish:F.default.func,onUnpublish:F.default.func,type:F.default.oneOf(["insert-media","insert-link",P.SELECT,P.ADMIN]),view:F.default.oneOf(["tile","table"]),lastSelected:F.default.number,dialog:F.default.bool,fileId:F.default.number,folderId:F.default.number.isRequired,folder:F.default.shape({id:F.default.number,title:F.default.string,parentId:F.default.number,canView:F.default.bool,canEdit:F.default.bool}),files:F.default.array,errorMessage:F.default.string,graphQLErrors:F.default.arrayOf(F.default.string),actions:F.default.object,securityId:F.default.string,onViewChange:F.default.func.isRequired,createFileApiUrl:F.default.string,createFileApiMethod:F.default.string,search:F.default.object,enableDropzone:F.default.bool,concatenateSelect:F.default.bool,GalleryToolbar:F.default.elementType,sorters:F.default.arrayOf(F.default.shape({field:F.default.string.isRequired,direction:F.default.oneOf(["asc","desc"]).isRequired,label:F.default.string.isRequired})).isRequired});var k=(0,l.compose)((0,w.inject)(["GalleryToolbar","Loading"],((e,t)=>({GalleryToolbar:e,LoadingComponent:t})),(()=>"AssetAdmin.Gallery")),(0,a.connect)((function(e,t){let{sort:n}=t;const{selectedFiles:r,errorMessage:o,noticeMessage:i,enableDropzone:s,badges:a,concatenateSelect:l,loading:u,sorters:d,lastSelected:c}=e.assetAdmin.gallery;return!n&&d&&d[0]&&(n=`${d[0].field},${d[0].direction}`),{lastSelected:c,selectedFiles:r,errorMessage:o,noticeMessage:i,enableDropzone:s,badges:a,concatenateSelect:l,loading:t.loading||u,queuedFiles:e.assetAdmin.queuedFiles,securityId:e.config.SecurityID,sorters:d,sort:n}}),(function(e){return{actions:{gallery:(0,l.bindActionCreators)(m,e),toasts:(0,l.bindActionCreators)(g,e),queuedFiles:(0,l.bindActionCreators)(y,e),confirmDeletion:(0,l.bindActionCreators)(v,e)}}})),b.default,(e=>(0,E.withApollo)(e)))(M);t.default=k},35:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=l(n(7820)),i=l(n(5710)),s=l(n(7086)),a=l(n(7431));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}class d extends r.Component{constructor(e){super(e),this.state={dragging:!1},this.mounted=!1,this.handleDrop=this.handleDrop.bind(this)}componentDidMount(){this.mounted=!0,window.addEventListener("drop",this.handleDrop,!0)}componentWillUpdate(){setTimeout((()=>{if(!this.mounted||!this.context.dragDropManager)return;const e=this.context.dragDropManager.monitor.isDragging();this.state.dragging!==e&&this.setState({dragging:e})}))}componentWillUnmount(){this.mounted=!1,window.removeEventListener("drop",this.handleDrop,!0)}handleDrop(){const e=this.context.dragDropManager,t=e&&e.backend;t&&t.isDraggingNativeItem()&&t.endDragNativeItem()}render(){const{className:e,children:t}=this.props;return r.default.createElement("div",{className:(0,o.default)(e,{"gallery__main--dragging":this.state.dragging})},t,r.default.createElement(i.default,null))}}d.contextTypes={dragDropManager:s.default.object},d.propTypes={className:s.default.string,children:s.default.oneOfType([s.default.arrayOf(s.default.node),s.default.node])};var c=(0,a.default)(d);t.default=c},7390:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=(r=n(7086))&&r.__esModule?r:{default:r};function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}class a extends o.Component{constructor(e){super(e),this.handleClick=this.handleClick.bind(this)}handleClick(e){e.preventDefault(),"function"==typeof this.props.onClick&&this.props.onClick(this.props.versionid)}render(){let e=null;return"Published"===this.props.status&&(e=o.default.createElement("p",null,o.default.createElement("span",{className:"history-item__status-flag"},this.props.status)," at ",this.props.date_formatted)),o.default.createElement("li",{className:"list-group-item history-item",onClick:this.handleClick},o.default.createElement("p",null,o.default.createElement("span",{className:"history-item__version"},"v.",this.props.versionid),o.default.createElement("span",{className:"history-item__date"},this.props.date_ago," ",this.props.author),this.props.summary),e)}}a.propTypes={versionid:i.default.number.isRequired,summary:i.default.oneOfType([i.default.bool,i.default.string]).isRequired,status:i.default.string,author:i.default.string,date_formatted:i.default.string,date_ago:i.default.string,onClick:i.default.func};var l=a;t.default=l},1204:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=n(1624),i=d(n(5159)),s=d(n(4510)),a=d(n(7390)),l=d(n(8238)),u=d(n(7086));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];return i.default.createEndpointFetcher(Object.assign({},e,t?{defaultData:{SecurityID:s.default.get("SecurityID")}}:{}))}(e.sectionConfig.historyEndpoint)}componentDidMount(){this.refreshHistoryIfNeeded()}componentWillReceiveProps(e){this.refreshHistoryIfNeeded(e)}componentWillUnmount(){clearTimeout(this.timer),this.timer=null}refreshHistoryIfNeeded(e){if(!e&&!this.state.loadedDetails||e.data.fileId!==this.props.data.fileId||e.data.latestVersionId!==this.props.data.latestVersionId){this.setState({loadedDetails:!1});const t=e?e.data.fileId:this.props.data.fileId;clearTimeout(this.timer),this.timer=setTimeout((()=>{this.api({fileId:t}).then((e=>{this.timer&&this.setState({history:e,loadedDetails:!0})}))}),250)}}handleClick(e){this.setState({viewDetails:e})}handleBack(e){e.preventDefault(),this.setState({viewDetails:null})}render(){if(!this.state.loadedDetails)return r.default.createElement("div",{className:"history-list history-list--loading"},"Loading...");if(this.state.viewDetails){const e=[this.props.historySchemaUrl,this.props.data.fileId,this.state.viewDetails].join("/"),t=["btn","btn-secondary","btn--icon-xl","btn--no-text","font-icon-left-open-big","history-list__back"].join(" ");return r.default.createElement("div",{className:"history-list"},r.default.createElement("a",{href:"#",className:t,onClick:this.handleBack}),r.default.createElement(l.default,{identifier:"AssetAdmin.HistoryList",schemaUrl:e,formTag:"div"}))}const e=this.state.history||[];return r.default.createElement("div",{className:"history-list"},r.default.createElement("ul",{className:"list-group list-group-flush history-list__list"},e.map((e=>r.default.createElement(a.default,p({key:e.versionid},e,{onClick:this.handleClick}))))))}}t.Component=f,f.propTypes={sectionConfig:u.default.shape({form:u.default.object,historyEndpoint:u.default.shape({url:u.default.string,method:u.default.string,responseFormat:u.default.string})}),historySchemaUrl:u.default.string,data:u.default.object},f.defaultProps={data:{fieldId:0}};var h=(0,o.connect)((function(e){const t=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));return{sectionConfig:t,historySchemaUrl:t.form.fileHistoryForm.schemaUrl}}))(f);t.default=h},2896:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=b(n(4754)),o=v(n(7363)),i=n(2827),s=n(1624),a=b(n(7056)),l=b(n(1746)),u=b(n(6513)),d=v(n(3669)),c=v(n(4478)),p=b(n(4912)),f=b(n(7820)),h=b(n(7086)),m=b(n(6019)),g=b(n(7902));function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(y=function(e){return e?n:t})(e)}function v(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=y(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function b(e){return e&&e.__esModule?e:{default:e}}class E extends o.Component{constructor(e){super(e),this.handleSubmit=this.handleSubmit.bind(this)}componentDidMount(){const{isOpen:e,onBrowse:t,setOverrides:n,fileAttributes:r,folderId:o}=this.props;e?"function"==typeof n&&r.ID&&(n(this.props),t(o,r.ID)):t(o||0)}componentWillReceiveProps(e){!e.isOpen&&this.props.isOpen&&(e.onBrowse(e.folderId),e.actions.gallery.deselectFiles()),"function"==typeof this.props.setOverrides&&e.isOpen&&!this.props.isOpen&&(this.props.setOverrides(e),e.onBrowse(e.folderId,e.fileAttributes?e.fileAttributes.ID:null))}getSectionProps(){return{...this.props,dialog:!0,toolbarChildren:this.renderToolbarChildren(),onSubmitEditor:this.handleSubmit,onReplaceUrl:this.props.onBrowse}}getModalProps(){const{onHide:e,onInsert:t,sectionConfig:n,schemaUrl:r,className:o,...i}=this.props;return{...i,className:(0,f.default)("insert-media-modal",o),size:"lg",showCloseButton:!1}}handleSubmit(e,t,n,r){return"action_insert"===t?this.props.onInsert(e,r):n()}renderToolbarChildren(){return o.default.createElement("button",{type:"button",className:"close modal__close-button insert-media-modal__close-button",onClick:this.props.onClosed,"aria-label":r.default._t("FormBuilderModal.CLOSE","Close")},o.default.createElement("span",{"aria-hidden":"true"},"×"))}render(){const e=this.getModalProps(),t=this.getSectionProps(),n=this.props.isOpen?o.default.createElement(a.default,t):null;return o.default.createElement(p.default,e,n)}}t.Component=E,E.propTypes={sectionConfig:h.default.shape({url:h.default.string,form:h.default.object}),type:h.default.oneOf(["insert-media","insert-link","select","admin"]),schemaUrl:h.default.string,isOpen:h.default.bool,setOverrides:h.default.func,onInsert:h.default.func.isRequired,fileAttributes:h.default.shape({ID:h.default.number,AltText:h.default.string,Width:h.default.number,Height:h.default.number,Loading:h.default.string,TitleTooltip:h.default.string,Alignment:h.default.string,Description:h.default.string,TargetBlank:h.default.bool}),requireLinkText:h.default.bool,folderId:h.default.number,fileId:h.default.number,viewAction:h.default.string,query:h.default.object,getUrl:h.default.func,onBrowse:h.default.func.isRequired,onClosed:h.default.func,className:h.default.string,actions:h.default.object,maxFiles:h.default.number,fileSelected:h.default.bool},E.defaultProps={className:"",fileAttributes:{},type:"insert-media",folderId:0,maxFiles:1};var _=(0,i.compose)(l.default,(0,s.connect)((function(e,t){const n=t.sectionConfig;if(!n)return{};let r=0;null!==t.folderId?r=t.folderId:t.folder&&(r=t.folder.id);const o=t.fileAttributes?t.fileAttributes.ID:t.fileId,i=e.assetAdmin.modal.formSchema,s={config:n,viewAction:t.viewAction,folderId:r,type:i&&i.type,fileId:o},{schemaUrl:a,targetId:l}=(0,m.default)(s);if(!a)return{};const u={};t.requireLinkText&&(u.requireLinkText=!0),t.fileSelected&&(u.fileSelected=!0);let d=g.default.stringify(u);return d=d?`?${d}`:"",{schemaUrl:`${a}/${l}${d}`,type:i&&i.type}}),(function(e){return{actions:{gallery:(0,i.bindActionCreators)(d,e),modal:(0,i.bindActionCreators)(c,e)}}})),u.default)(E);t.default=_},4065:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=h(n(7363)),o=n(1624),i=n(2827),s=h(n(4754)),a=h(n(8264)),l=h(n(7086)),u=n(3669),d=n(5123),c=h(n(4912)),p=h(n(9900)),f=h(n(4093));function h(e){return e&&e.__esModule?e:{default:e}}class m extends r.default.Component{constructor(e){super(e),this.handleSubmit=this.handleSubmit.bind(this),this.timeout=null}handleSubmit(e){let{FolderID:t}=e;const{moveFiles:n}=this.props.actions.files,{selectedFiles:r,onSuccess:o,onClosed:i,setNotice:l,setError:u,setBadge:d}=this.props;return n(t||0,r).then((e=>{let{data:{moveFiles:{id:n,filename:u}}}=e;"function"==typeof o&&o(t,r),d(n,`${r.length}`,"success",a.default.MOVE_SUCCESS_DURATION),l(s.default.sprintf(s.default._t("AssetAdmin.MOVED_ITEMS_TO","Moved %s item(s) to %s"),r.length,u),[{label:s.default._t("AssetAdmin.GO_TO_FOLDER","Go to folder"),onClick:()=>this.props.onOpenFolder(n)}]),i()})).catch((()=>{u(s.default._t("AssetAdmin.FAILED_MOVE","There was an error moving the selected items."))}))}render(){const{isOpen:e,onClosed:t,title:n,folderId:o,sectionConfig:i}=this.props,{schemaUrl:s}=i.form.moveForm;return r.default.createElement(c.default,{title:n,isOpen:e,onClosed:t,onSubmit:this.handleSubmit,identifier:"AssetAdmin.MoveForm",schemaUrl:`${s}/${o}`})}}m.propTypes={sectionConfig:p.default,folderId:l.default.number.isRequired,isOpen:l.default.bool,onClosed:l.default.func,setNotice:l.default.func,setBadge:l.default.func,setError:l.default.func,title:l.default.string,onSuccess:l.default.func,onOpenFolder:l.default.func.isRequired,selectedFiles:l.default.array.isRequired,actions:l.default.shape({files:l.default.shape({moveFiles:l.default.func})}).isRequired},m.defaultProps={isOpen:!1};var g=(0,i.compose)((0,o.connect)((function(e){const{modal:t,selectedFiles:n}=e.assetAdmin.gallery;return{isOpen:t===a.default.MODAL_MOVE,selectedFiles:n,title:s.default.sprintf(s.default._t("AssetAdmin.MOVE_ITEMS_TO","Move %s item(s) to..."),n.length)}}),(function(e){return{onClosed(){e((0,u.deactivateModal)())},setNotice(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e((0,d.display)({text:t,type:"success",actions:n}))},setError(t){e((0,d.display)({text:t,type:"error"}))},setBadge(){e((0,u.setFileBadge)(...arguments))}}})),f.default)(m);t.default=g},8697:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=f(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=p(n(7086)),i=p(n(8345)),s=p(n(4754)),a=p(n(9777)),l=n(4288),u=n(3069),d=n(6648),c=n(2827);function p(e){return e&&e.__esModule?e:{default:e}}function f(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(f=function(e){return e?n:t})(e)}class h extends r.Component{constructor(e){super(e),this.getColumns=this.getColumns.bind(this),this.handleSort=this.handleSort.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.handleRowClick=this.handleRowClick.bind(this),this.renderSelect=this.renderSelect.bind(this),this.renderTitle=this.renderTitle.bind(this),this.renderStatus=this.renderStatus.bind(this),this.renderNoItemsNotice=this.renderNoItemsNotice.bind(this)}getColumns(){const e=["thumbnail","title","status","size","lastEdited"];return this.props.selectableItems&&e.unshift("selected"),e}getColumnConfig(){return[{columnName:"selected",sortable:!1,displayName:"",cssClassName:"gallery__table-column--select",customComponent:this.renderSelect},{columnName:"thumbnail",sortable:!1,displayName:"",cssClassName:"gallery__table-column--image",customComponent:this.renderThumbnail},{columnName:"title",customCompareFn:()=>0,displayName:s.default._t("File.TITLE","Title"),cssClassName:"gallery__table-column--title",customComponent:this.renderTitle},{columnName:"status",sortable:!1,cssClassName:"sort--disabled",customComponent:this.renderStatus,displayName:s.default._t("File.STATUS","Status")},{columnName:"lastEdited",displayName:s.default._t("File.MODIFIED","Modified"),customComponent:this.renderDate},{columnName:"size",sortable:!1,displayName:s.default._t("File.SIZE","Size"),cssClassName:"sort--disabled",customComponent:this.renderSize}]}getRowMetadata(e){return"gallery__table-row "+(e.highlighted?"gallery__table-row--highlighted":"")}getTableProps(){const[e,t]=this.props.sort.split(",");return{tableClassName:"gallery__table table table-hover",gridClassName:"gallery__main-view--table",rowMetadata:{bodyCssClassName:this.getRowMetadata,key:"key"},sortAscendingComponent:"",sortDescendingComponent:"",useExternal:!0,externalSetPage:this.handleSetPage,externalChangeSort:this.handleSort,externalSetFilter:()=>null,externalSetPageSize:()=>null,externalCurrentPage:this.props.page-1,externalMaxPage:Math.ceil(this.props.totalCount/this.props.limit),externalSortColumn:e,externalSortAscending:"asc"===t,initialSort:e,columns:this.getColumns(),columnMetadata:this.getColumnConfig(),useGriddleStyles:!1,onRowClick:this.handleRowClick,results:this.props.files,customNoDataComponent:this.renderNoItemsNotice}}handleActivate(e,t){"folder"===t.type?this.props.onOpenFolder(e,t):this.props.onOpenFile(e,t)}handleRowClick(e,t){const n=e.props.data;t.currentTarget.classList.contains("gallery__table-column--select")&&(t.stopPropagation(),t.preventDefault(),"function"==typeof this.props.onSelect)?this.props.onSelect(t,n):this.handleActivate(t,n)}handleSort(e,t){const n=t?"asc":"desc";this.props.onSort(`${e},${n}`)}handleSetPage(e){this.props.onSetPage(e+1)}preventFocus(e){e.preventDefault()}renderNoItemsNotice(){return 0!==this.props.files.length||this.props.loading?null:r.default.createElement("p",{className:"gallery__no-item-notice"},s.default._t("AssetAdmin.NOITEMSFOUND"))}renderSize(e){if("folder"===e.rowData.type)return null;const t=(0,u.fileSize)(e.data);return r.default.createElement("span",null,t)}renderStatus(e){let t=[];const n=e.rowData,{VersionedBadge:o}=this.props;return"folder"!==n.type&&(n.draft?t.push({key:"status-draft",status:"draft"}):n.modified&&t.push({key:"status-modified",status:"modified"})),t=t.map((e=>{let{...t}=e;return r.default.createElement(o,t)})),t?r.default.createElement("span",null,t):null}renderProgressBar(e){if(!e.queuedId||e.message&&"error"===e.message.type)return null;if(e.id>0)return r.default.createElement("div",{className:"gallery__progress-bar--complete"});const t={className:"gallery__progress-bar-progress",style:{width:`${e.progress}%`}};return r.default.createElement("div",{className:"gallery__progress-bar"},r.default.createElement("div",t))}renderRestrictedAccess(e){const{hasRestrictedAccess:t}=e,n={fileID:e.id,placement:"top",hasRestrictedAccess:t};return r.default.createElement(a.default,n)}renderTrackedFormUpload(e){const{isTrackedFormUpload:t,hasRestrictedAccess:n}=e,o={fileID:e.id,placement:"top",isTrackedFormUpload:t,hasRestrictedAccess:n};return r.default.createElement(a.default,o)}renderTitle(e){const t=this.renderProgressBar(e.rowData);return r.default.createElement("div",{className:"fill-width"},r.default.createElement("div",{className:"flexbox-area-grow"},r.default.createElement("span",null,e.data),e.rowData.hasRestrictedAccess&&this.renderRestrictedAccess(e.rowData),e.rowData.isTrackedFormUpload&&this.renderTrackedFormUpload(e.rowData)),t)}renderSelect(e){if(this.props.selectableItems&&(this.props.selectableFolders||"folder"!==e.rowData.type)){const t={type:"checkbox",title:s.default._t("AssetAdmin.SELECT"),defaultChecked:e.data,tabIndex:-1,onMouseDown:this.preventFocus};return![null,1].includes(this.props.maxFilesSelect)&&this.props.selectedFiles.length>=this.props.maxFilesSelect&&!e.data&&(t.disabled=!0),r.default.createElement("input",t)}return null}renderDate(e){return"folder"===e.rowData.type?null:(moment.locale(s.default.detectLocale()),r.default.createElement("span",null,moment(e.data).format("L LT")))}renderThumbnail(e){const t=e.data||e.rowData.url,n=e.rowData.queuedId&&!e.rowData.id,o=e.rowData.category||"false",i="gallery__table-image",s=[i],a={};return s.push(`${i}--${o}`),"image"===o&&t&&(a.backgroundImage=`url("${t}")`),n||t||"folder"===o||s.push(`${i}--error`),r.default.createElement("div",{className:s.join(" "),style:a})}render(){return r.default.createElement(i.default,this.getTableProps())}}t.Component=h,h.defaultProps=l.galleryViewDefaultProps,h.propTypes={...l.galleryViewPropTypes,sort:o.default.string.isRequired,VersionedBadge:o.default.elementType};var m=(0,c.compose)((0,d.inject)(["VersionedBadge"],(e=>({VersionedBadge:e}))))(h);t.default=m},3298:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=d(n(4754)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=n(6648),s=n(4288),a=d(n(8345)),l=d(n(7086));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function d(e){return e&&e.__esModule?e:{default:e}}class c extends o.Component{constructor(e){super(e),this.renderItem=this.renderItem.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.handlePrevPage=this.handlePrevPage.bind(this),this.handleNextPage=this.handleNextPage.bind(this),this.handleDrag=this.handleDrag.bind(this)}handleDrag(e){this.props.onEnableDropzone(!e)}handleSetPage(e){this.props.onSetPage(e+1)}handleNextPage(){const e=this.props.page-1;this.handleSetPage(e+1)}handlePrevPage(){const e=this.props.page-1;0!==e?this.handleSetPage(e-1):this.handleSetPage(e)}folderFilter(e){return"folder"===e.type}fileFilter(e){return"folder"!==e.type}renderPagination(){if(this.props.totalCount<=this.props.limit)return null;const e={setPage:this.handleSetPage,maxPage:Math.ceil(this.props.totalCount/this.props.limit),next:this.handleNextPage,nextText:r.default._t("AssetAdmin.NEXT","Next"),previous:this.handlePrevPage,previousText:r.default._t("AssetAdmin.PREVIOUS","Previous"),currentPage:this.props.page-1,useGriddleStyles:!1};return o.default.createElement("div",{className:"griddle-footer"},o.default.createElement(a.default.GridPagination,e))}renderItem(e){const{File:t,Folder:n,badges:r,sectionConfig:i,selectedFiles:s,selectableItems:a,selectableFolders:l}=this.props,u=r.find((t=>t.id===e.id));let d={sectionConfig:i,key:e.key,selectableKey:e.id,item:e,selectedFiles:s,onDrag:this.handleDrag,badge:u,canDrag:this.props.canDrag};if(e.queuedId&&!e.id){const{onCancelUpload:e,onRemoveErroredUpload:t}=this.props;d={...d,onCancelUpload:e,onRemoveErroredUpload:t}}else{const{onOpenFolder:t,onOpenFile:n}=this.props;d={...d,onActivate:"folder"===e.type?t:n}}if(a&&(l||"folder"!==e.type)){const e=![null,1].includes(this.props.maxFilesSelect)&&this.props.selectedFiles.length>=this.props.maxFilesSelect,t=1===this.props.maxFilesSelect?d.onActivate:this.props.onSelect;d={...d,selectable:!0,onSelect:t,maxSelected:e}}if("folder"===e.type){const{onDropFiles:e}=this.props;return d={...d,onDropFiles:e},o.default.createElement(n,d)}return o.default.createElement(t,d)}render(){return o.default.createElement("div",{className:"gallery__main-view--tile"},o.default.createElement("div",{className:"gallery__folders"},this.props.files.filter(this.folderFilter).map(this.renderItem)),o.default.createElement("div",{className:"gallery__files"},this.props.files.filter(this.fileFilter).map(this.renderItem)),0===this.props.files.length&&!this.props.loading&&o.default.createElement("p",{className:"gallery__no-item-notice"},r.default._t("AssetAdmin.NOITEMSFOUND")),o.default.createElement("div",{className:"gallery__load"},this.renderPagination()))}}t.Component=c,c.defaultProps=s.galleryViewDefaultProps,c.propTypes={...s.galleryViewPropTypes,File:l.default.elementType.isRequired,Folder:l.default.elementType.isRequired};var p=(0,i.inject)(["GalleryItemFile","GalleryItemFolder"],((e,t)=>({File:e,Folder:t})),(()=>"AssetAdmin.Gallery.ThumbnailView"))(c);t.default=p},788:function(e,t,n){"use strict";var r=l(n(5311)),o=l(n(7363)),i=n(745),s=n(6602),a=n(6648);function l(e){return e&&e.__esModule?e:{default:e}}function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e(".js-injector-boot input.entwine-uploadfield").entwine({Component:null,ReactRoot:null,getContainer(){let t=this.siblings(".uploadfield-holder")[0];if(!t){const n=e('
');this.before(n),t=n[0]}return t},onunmatch(){this._super();const e=this.getReactRoot();e&&(e.unmount(),this.setReactRoot(null))},onmatch(){const e=this.closest(".cms-content").attr("id"),t=e?{context:e}:{},n=(0,a.loadComponent)("UploadField",t);this.setComponent(n),this._super(),this.hide(),this.refresh()},onclick(e){e.preventDefault()},refresh(){const t=this.getAttributes(),n=e(this).closest("form"),r=this.getComponent();let s=this.getReactRoot();s||(s=(0,i.createRoot)(this.getContainer()),this.setReactRoot(s)),s.render(o.default.createElement(r,u({},t,{onChange:()=>{setTimeout((()=>{n.trigger("change")}),0)},noHolder:!0})))},getAttributes(){const t=e(this).data("state"),n=e(this).data("schema");return(0,s.schemaMerge)(n,t)}})}))},9900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(7086))&&r.__esModule?r:{default:r};var i=o.default.shape({url:o.default.string,limit:o.default.number,imageRetry:o.default.shape({minRetry:o.default.number,maxRetry:o.default.number,expiry:o.default.number}),form:o.default.object,dropzoneOptions:o.default.object});t.default=i},2214:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fileInterface=t.file=void 0;t.fileInterface="\n fragment FileInterfaceFields on FileInterface {\n canDelete\n canEdit\n canView\n category\n exists\n filename\n id\n lastEdited\n name\n parentId\n title\n type\n url\n visibility\n hasRestrictedAccess\n }\n";t.file="\n fragment FileFields on File {\n draft\n extension\n published\n modified\n size\n smallThumbnail\n thumbnail\n version\n isTrackedFormUpload\n }\n"},4744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(7086))&&r.__esModule?r:{default:r};var i=o.default.shape({canEdit:o.default.bool,canDelete:o.default.bool,canView:o.default.bool,exists:o.default.bool,type:o.default.string,smallThumbnail:o.default.string,thumbnail:o.default.string,width:o.default.number,height:o.default.number,category:o.default.oneOfType([o.default.bool,o.default.string]),id:o.default.number,url:o.default.string,title:o.default.string,progress:o.default.number,visibility:o.default.string,hasRestrictedAccess:o.default.bool,isTrackedFormUpload:o.default.bool});t.default=i},5488:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=(0,((r=n(7752))&&r.__esModule?r:{default:r}).default)({name:null,canDelete:!1,canEdit:!1,category:null,created:null,extension:null,filename:null,id:0,lastEdited:null,messages:null,owner:{id:0,title:null},parent:{filename:null,id:0,title:null},queuedId:null,size:null,title:null,type:null,url:null,xhr:null,thumbnail:null,smallThumbnail:null,height:null,width:null});t.default=o},6019:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){let{config:{form:t},viewAction:n,folderId:r,fileId:o,type:a}=e,l=null,u=null;if(n===i)return l=t.folderCreateForm.schemaUrl,u=r,{schemaUrl:l,targetId:u};if(n===s&&o){switch(a){case"insert-media":l=t.fileInsertForm.schemaUrl;break;case"insert-link":l=t.fileEditorLinkForm.schemaUrl;break;case"select":l=t.fileSelectForm.schemaUrl;break;default:l=t.fileEditForm.schemaUrl}return u=o,{schemaUrl:l,targetId:u}}return{}};var r,o=(r=n(8264))&&r.__esModule?r:{default:r};const{CREATE_FOLDER:i,EDIT_FILE:s}=o.default.ACTIONS},1338:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(413===e)return o.default._t("AssetAdmin.ERROR_FILE_SIZE","File size limit exceeded");return o.default._t("AssetAdmin.ERROR_DEFAULT","Something went wrong, please try again")};var r,o=(r=n(4754))&&r.__esModule?r:{default:r}},9712:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={CONFIRM_DELETION_ASK:"CONFIRM_DELETION_ASK",CONFIRM_DELETION_CONFIRM:"CONFIRM_DELETION_CONFIRM",CONFIRM_DELETION_CANCEL:"CONFIRM_DELETION_CANCEL",CONFIRM_DELETION_RESET:"CONFIRM_DELETION_RESET",CONFIRM_DELETION_MODAL_CLOSE:"CONFIRM_DELETION_MODAL_CLOSE"}},9194:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cancel=function(){return{type:o.default.CONFIRM_DELETION_CANCEL,payload:{}}},t.confirm=function(e){return{type:o.default.CONFIRM_DELETION_ASK,payload:{files:e}}},t.deleting=function(){return{type:o.default.CONFIRM_DELETION_CONFIRM,payload:{}}},t.modalClose=function(){return{type:o.default.CONFIRM_DELETION_MODAL_CLOSE,payload:{}}},t.reset=function(){return{type:o.default.CONFIRM_DELETION_RESET,payload:{}}};var r,o=(r=n(9712))&&r.__esModule?r:{default:r}},6529:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initialState=t.default=void 0;var r,o=(r=n(9712))&&r.__esModule?r:{default:r},i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(602));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}const a={showConfirmation:!1,files:[],transition:i.NO_TRANSITION};t.initialState=a;var l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case o.default.CONFIRM_DELETION_ASK:return{...a,showConfirmation:!0,files:t.payload.files};case o.default.CONFIRM_DELETION_CANCEL:if(e.showConfirmation)return{...e,transition:i.CANCELING};break;case o.default.CONFIRM_DELETION_CONFIRM:if(e.showConfirmation)return{...e,transition:i.DELETING};break;case o.default.CONFIRM_DELETION_MODAL_CLOSE:return{...e,showConfirmation:!1,transition:i.NO_TRANSITION};case o.default.CONFIRM_DELETION_RESET:return a}return e};t.default=l},602:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NO_TRANSITION=t.DELETING=t.CANCELING=void 0;t.NO_TRANSITION=!1;t.CANCELING="canceling";t.DELETING="deleting"},5327:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={TOGGLE_SEARCH:"TOGGLE_SEARCH",OPEN_SEARCH:"OPEN_SEARCH",CLOSE_SEARCH:"CLOSE_SEARCH"}},469:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.closeSearch=function(){return{type:o.default.CLOSE_SEARCH,payload:null}},t.openSearch=function(){return{type:o.default.OPEN_SEARCH,payload:null}},t.toggleSearch=function(){return{type:o.default.TOGGLE_SEARCH,payload:null}};var r,o=(r=n(5327))&&r.__esModule?r:{default:r}},325:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(7752)),o=i(n(5327));function i(e){return e&&e.__esModule?e:{default:e}}const s={isOpen:!1};var a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case o.default.TOGGLE_SEARCH:return(0,r.default)({...e,isOpen:!e.isOpen});case o.default.OPEN_SEARCH:return(0,r.default)({...e,isOpen:!0});case o.default.CLOSE_SEARCH:return(0,r.default)({...e,isOpen:!1});default:return e}};t.default=a},5380:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(1075),o=n(6648);const i={options(e){let{sectionConfig:t,folderId:n,fileId:o,query:i}=e;const s=Object.assign({},i.filter),a=Object.assign({},s,{parentId:void 0,recursive:(0,r.hasFilters)(s),currentFolderOnly:void 0}),l=(0,r.hasFilters)(s)?null:o||null,u={id:l?null:n||0,anyChildId:l},[d,c]=i.sort?i.sort.split(","):["",""],p=i.limit||t.limit;return{variables:{rootFilter:u,childrenFilter:a,limit:p,offset:((i.page||1)-1)*p,sortBy:d&&c?[{field:d,direction:c.toUpperCase()}]:void 0}}},props(e){let{data:{error:t,refetch:n,readFiles:r,loading:o},ownProps:{actions:i}}=e;const s=r&&r.nodes[0]?r.nodes[0]:null,a=s&&s.children?s.children.nodes.filter((e=>e)):[],l=s&&s.children?s.children.pageInfo.totalCount:0,u=s&&!s.children;return{loading:o||u,folder:s,files:a,filesTotalCount:l,graphQLErrors:t&&t.graphQLErrors&&t.graphQLErrors.map((e=>e.message)),actions:Object.assign({},i,{files:Object.assign({},i.files,{readFiles:n})})}}},{READ:s}=o.graphqlTemplates;var a={apolloConfig:i,templateName:s,pluralName:"Files",pagination:!1,params:{limit:"Int!",offset:"Int!",rootFilter:"FileFilterInput",childrenFilter:"FileFilterInput",sortBy:"[ChildrenSortInputType]"},args:{root:{filter:"rootFilter"},"root/nodes/...on Folder/children":{limit:"limit",offset:"offset",filter:"childrenFilter",sortBy:"sortBy"}},fragments:["FileInterfaceFields","FileFields"],fields:["pageInfo",["totalCount"],"nodes",["...FileInterfaceFields","...FileFields","...on Folder",["children",["pageInfo",["totalCount"],"nodes",["...FileInterfaceFields","...FileFields"]],"parents",["id","title"]]]]};t.default=a},7298:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(6648);const o={options(e){let{fileId:t}=e;return{variables:{rootFilter:{id:t}}}},props(e){let{data:{error:t,readFiles:n,loading:r}}=e;return{loading:r,file:n&&n.nodes[0]?n.nodes[0]:null,graphQLErrors:t&&t.graphQLErrors&&t.graphQLErrors.map((e=>e.message))}}},{READ:i}=r.graphqlTemplates;var s={apolloConfig:o,templateName:i,pluralName:"Files",pagination:!1,params:{rootFilter:"FileFilterInput"},args:{root:{filter:"rootFilter"}},fragments:["FileInterfaceFields","FileFields"],fields:["nodes",["...FileInterfaceFields","...FileFields"]]};t.default=s},6821:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(1306))&&r.__esModule?r:{default:r},i=n(2214);var s=e=>{const t=e.charAt(0).toUpperCase()+e.slice(1),n=o.default` +!function(){var e,t,n={4811:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=s(n(6648)),o=s(n(3466)),i=s(n(4026));function s(e){return e&&e.__esModule?e:{default:e}}var a=()=>{r.default.transform("move-form-disabled",(e=>{e.component("TreeDropdownField.AssetAdmin.MoveForm",i.default)})),r.default.transform("owner-unpublishing",(e=>{e.component("FormAction.AssetAdmin.EditForm.action_unpublish",o.default)}))};t.default=a},7274:function(e,t,n){"use strict";var r=c(n(4510)),o=c(n(2873)),i=c(n(6290)),s=c(n(4811)),a=c(n(4180)),l=c(n(9521)),u=c(n(6154)),d=n(4845);function c(e){return e&&e.__esModule?e:{default:e}}document.addEventListener("DOMContentLoaded",(()=>{(0,l.default)(),(0,s.default)();const e=r.default.getSection("SilverStripe\\AssetAdmin\\Controller\\AssetAdmin").reactRoutePath;o.default.add({path:"/",routes:[{path:(0,d.joinUrlPaths)(e,"show/:folderId/:viewAction/:fileId"),component:i.default},{path:(0,d.joinUrlPaths)(e,"show/:folderId/:viewAction"),component:i.default},{path:(0,d.joinUrlPaths)(e,"show/:folderId"),component:i.default},{path:e,component:i.default}]}),(0,u.default)(),(0,a.default)()}))},9521:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=f(n(6648)),o=f(n(6334)),i=f(n(614)),s=f(n(1856)),a=f(n(2896)),l=f(n(8962)),u=f(n(8278)),d=f(n(1204)),c=f(n(6505)),p=n(197);function f(e){return e&&e.__esModule?e:{default:e}}var h=()=>{r.default.component.registerMany({UploadField:o.default,UploadFieldItem:i.default,PreviewImageField:l.default,HistoryList:d.default,ProportionConstraintField:u.default,AssetDropzone:s.default,InsertMediaModal:a.default,GalleryToolbar:c.default,GalleryItemFile:p.File,GalleryItemFolder:p.Folder})};t.default=h},6154:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(6648)),o=n(2214),i=c(n(7100)),s=c(n(1280)),a=c(n(5380)),l=c(n(8115)),u=c(n(7298)),d=c(n(1421));function c(e){return e&&e.__esModule?e:{default:e}}const p=!!document.body.getAttribute("data-graphql-legacy");var f=()=>{r.default.query.registerFragment("FileInterfaceFields",o.fileInterface),r.default.query.registerFragment("FileFields",o.file),r.default.query.register("ReadFilesQuery",p?a.default:i.default),r.default.query.register("readDescendantFileCountsQuery",l.default),r.default.query.register("ReadOneFileQuery",p?u.default:s.default),r.default.query.register("readFileUsageQuery",d.default)};t.default=f},4180:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=f(n(6648)),o=n(2827),i=f(n(3627)),s=f(n(5456)),a=f(n(7437)),l=f(n(4350)),u=f(n(4694)),d=f(n(325)),c=f(n(6529)),p=f(n(7897));function f(e){return e&&e.__esModule?e:{default:e}}var h=()=>{r.default.reducer.register("assetAdmin",(0,o.combineReducers)({gallery:i.default,queuedFiles:s.default,uploadField:a.default,previewField:l.default,imageLoad:u.default,displaySearch:d.default,confirmDeletion:c.default,modal:p.default}))};t.default=h},1856:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=d(n(394)),i=d(n(4754)),s=d(n(247)),a=d(n(5311)),l=n(3069),u=d(n(7086));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}let p=0;class f extends r.Component{constructor(e){super(e),this.dropzone=null,this.dragging=!1,this.handleAccept=this.handleAccept.bind(this),this.handleAddedFile=this.handleAddedFile.bind(this),this.handleDragEnter=this.handleDragEnter.bind(this),this.handleDragLeave=this.handleDragLeave.bind(this),this.handleDrop=this.handleDrop.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleUploadComplete=this.handleUploadComplete.bind(this),this.handleError=this.handleError.bind(this),this.handleSending=this.handleSending.bind(this),this.handleSuccess=this.handleSuccess.bind(this),this.handleQueueComplete=this.handleQueueComplete.bind(this),this.loadImage=this.loadImage.bind(this),this.handleMaxFilesExceeded=this.handleMaxFilesExceeded.bind(this)}componentDidMount(){this.dropzone=new s.default(o.default.findDOMNode(this),Object.assign({},this.getDefaultOptions(),this.props.options));const{name:e}=this.props;e&&this.dropzone.hiddenFileInput&&this.dropzone.hiddenFileInput.classList.add(`dz-input-${e}`),void 0!==this.props.promptOnRemove&&this.setPromptOnRemove(this.props.promptOnRemove)}componentWillReceiveProps(e){e.canUpload&&this.dropzone&&(this.dropzone.enable(),this.dropzone.options=Object.assign({},this.getDefaultOptions(),this.dropzone.options,this.props.options))}componentDidUpdate(){const{name:e}=this.props;e&&this.dropzone.hiddenFileInput&&this.dropzone.hiddenFileInput.classList.add(`dz-input-${e}`)}componentWillUnmount(){this.dropzone.files=[],this.dropzone.destroy()}getDefaultOptions(){let e=null,t=this.props.uploadSelector;if(!t&&this.props.uploadButton&&(t=".asset-dropzone__upload-button"),t){const n=(0,a.default)(o.default.findDOMNode(this)).find(t);n&&n.length&&(e=n.toArray())}return{accept:this.handleAccept,addedfile:this.handleAddedFile,dragenter:this.handleDragEnter,dragleave:this.handleDragLeave,drop:this.handleDrop,maxfilesexceeded:this.handleMaxFilesExceeded,uploadprogress:this.handleUploadProgress,complete:this.handleUploadComplete,dictDefaultMessage:i.default._t("AssetAdmin.DROPZONE_DEFAULT_MESSAGE","Drop files here to upload"),dictFallbackMessage:i.default._t("AssetAdmin.DROPZONE_FALLBACK_MESSAGE","Your browser does not support drag'n'drop file uploads."),dictFallbackText:i.default._t("AssetAdmin.DROPZONE_FALLBACK_TEXT","Please use the fallback form below to upload your files like in the olden days."),dictInvalidFileType:i.default._t("AssetAdmin.DROPZONE_INVALID_FILE_TYPE","You can't upload files of this type."),dictResponseError:i.default._t("AssetAdmin.DROPZONE_RESPONSE_ERROR","Server responded with an error."),dictCancelUpload:i.default._t("AssetAdmin.DROPZONE_CANCEL_UPLOAD","Cancel upload"),dictCancelUploadConfirmation:i.default._t("AssetAdmin.DROPZONE_CANCEL_UPLOAD_CONFIRMATION","Are you sure you want to cancel this upload?"),dictRemoveFile:i.default._t("AssetAdmin.DROPZONE_REMOVE_FILE","Remove file"),dictMaxFilesExceeded:i.default._t("AssetAdmin.DROPZONE_MAX_FILES_EXCEEDED","You can not upload any more files."),error:this.handleError,sending:this.handleSending,success:this.handleSuccess,queuecomplete:this.handleQueueComplete,thumbnailHeight:150,thumbnailWidth:200,timeout:0,clickable:e}}getFileCategory(e){return e.split("/")[0]}getLoadPreview(e){return new Promise((t=>{const n=new FileReader;n.onload=n=>{if("image"===this.getFileCategory(e.type)){const e=new Image;t(this.loadImage(e,n.target.result))}else t({})},n.readAsDataURL(e)}))}getFileTitle(e){return e.replace(/[.][^.]+$/,"").replace(/-_/," ")}setPromptOnRemove(e){this.dropzone.options.dictRemoveFileConfirmation=e}handleDragEnter(e){this.props.canUpload&&(this.dragging=!0,this.forceUpdate(),"function"==typeof this.props.onDragEnter&&this.props.onDragEnter(e))}handleDragLeave(e){const t=o.default.findDOMNode(this);this.props.canUpload&&e.target===t&&(this.dragging=!1,this.forceUpdate(),"function"==typeof this.props.onDragLeave&&this.props.onDragLeave(e,t))}handleUploadProgress(e,t,n){"function"==typeof this.props.onUploadProgress&&this.props.onUploadProgress(e,t,n)}handleUploadComplete(e){"function"==typeof this.props.onUploadComplete&&this.props.onUploadComplete(e.status)}handleDrop(e){this.dragging=!1,this.forceUpdate(),"function"==typeof this.props.onDrop&&this.props.onDrop(e)}handleSending(e,t,n){"function"==typeof this.props.updateFormData&&this.props.updateFormData(n),n.append("SecurityID",this.props.securityID),n.append("ParentID",this.props.folderId);const r=Object.assign({},t,{abort:()=>{this.dropzone.cancelUpload(e),t.abort()}});"function"==typeof this.props.onSending&&this.props.onSending(e,r,n)}handleMaxFilesExceeded(e){return"function"!=typeof this.props.onMaxFilesExceeded||this.props.onMaxFilesExceeded(e)}generateQueuedId(){return p+=1,p}handleAccept(e,t){return("function"!=typeof this.props.canFileUpload||this.props.canFileUpload(e))&&this.props.canUpload?t():t(i.default._t("AssetAdmin.DROPZONE_CANNOT_UPLOAD","Uploading not permitted."))}handleAddedFile(e){e._queuedId=this.generateQueuedId();const t={category:this.getFileCategory(e.type),filename:e.name,queuedId:e._queuedId,size:e.size,title:this.getFileTitle(e.name),extension:(0,l.getFileExtension)(e.name),type:e.type,uploadedToFolderId:this.props.folderId};this.props.onAddedFile(t);return this.getLoadPreview(e).then((e=>{const n={height:e.height,width:e.width,url:e.thumbnailURL,thumbnail:e.thumbnailURL,smallThumbnail:e.thumbnailURL};return"function"==typeof this.props.onPreviewLoaded&&this.props.onPreviewLoaded(t,n),{...t,...n}}))}loadImage(e,t){return new Promise((n=>{const r=document.createElement("canvas"),o=r.getContext("2d");e.onload=()=>{const t=2*this.props.preview.width,i=2*this.props.preview.height,s=e.naturalWidth/e.naturalHeight;e.naturalWidtht.value===e))}handleChangeValue(e){let t=null;const n=this.getOptionByValue(e.target.value);return null===n?null:(t="function"==typeof n.confirm?n.confirm(this.props.items).then((()=>n.callback(e,this.props.items))).catch((e=>{if("cancelled"!==e)throw e})):n.callback(e,this.props.items)||Promise.resolve(),t)}renderChild(e,t){const n=(0,l.default)("bulk-actions__action",e.className||"font-icon-info-circled",{btn:t<2,"bulk-actions__action--more":t>2});return t<2?o.default.createElement(a.Button,{className:n,key:e.value,onClick:this.handleChangeValue,value:e.value,color:e.color},e.label):o.default.createElement(a.DropdownItem,{type:"button",className:n,key:e.value,onClick:this.handleChangeValue,value:e.value},e.label)}render(){if(!this.props.items.length)return null;let e=this.props.actions.filter((e=>!e.canApply||e.canApply(this.props.items)));if(e=e.map(this.renderChild),!e.length)return null;const{ActionMenu:t,showCount:n}=this.props,r=this.props.items.length;return o.default.createElement("div",{className:"bulk-actions fieldholder-small"},n&&o.default.createElement("div",{className:"bulk-actions-counter"},r),e.slice(0,2),e.length>2&&t?o.default.createElement(t,{id:"BulkActions",className:"bulk-actions__more-actions-menu"},e.slice(2)):e.slice(2))}}t.Component=p,p.propTypes={items:u.default.array,actions:u.default.arrayOf(u.default.shape({value:u.default.string.isRequired,label:u.default.string.isRequired,className:u.default.string,destructive:u.default.bool,callback:u.default.func,canApply:u.default.func,confirm:u.default.func})),ActionMenu:u.default.elementType,showCount:u.default.bool},p.defaultProps={items:[],actions:[],ActionMenu:null,total:null,showCount:!0,totalReachedMessage:r.default._t("")};const f=(0,i.connect)((function(e){return{gallery:e.assetAdmin.gallery}}))(p);var h=(0,s.inject)(["ActionMenu"],(e=>({ActionMenu:e})),(()=>"BulkActions"))(f);t.default=h},197:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Folder=t.File=t.Component=void 0;var r=_(n(4754)),o=E(n(7363)),i=_(n(7820)),s=_(n(8264)),a=_(n(4744)),l=_(n(4271)),u=_(n(8729)),d=_(n(7241)),c=_(n(9777)),p=_(n(9900)),f=n(1624),h=n(2827),m=n(8088),g=E(n(3521)),y=_(n(2175)),v=_(n(7086));function b(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(b=function(e){return e?n:t})(e)}function E(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=b(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function _(e){return e&&e.__esModule?e:{default:e}}function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e.preventDefault()};class F extends o.Component{constructor(e){super(e),this.handleSelect=this.handleSelect.bind(this),this.handleActivate=this.handleActivate.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this)}componentWillReceiveProps(e){S(e)&&e.actions.imageLoad.loadImage(e.item.thumbnail,e.sectionConfig.imageRetry)}getThumbnailStyles(){const{item:{thumbnail:e,version:t},bustCache:n}=this.props;if(!this.isImage()||!e||this.missing())return{};const r=!1===n||!t||e.startsWith("data:image/")?e:`${e}?vid=${t}`;switch(this.props.loadState){case y.default.SUCCESS:case y.default.DISABLED:return{backgroundImage:`url(${r})`};default:return{}}}getErrorMessage(){let e=null;const{item:t,loadState:n}=this.props;if(this.hasError()?e=t.message.value:this.missing()?e=r.default._t("AssetAdmin.FILE_MISSING","File cannot be found"):n===y.default.FAILED&&(e=r.default._t("AssetAdmin.FILE_LOAD_ERROR","Thumbnail not available")),null!==e){return e=this.getItemFunction("updateErrorMessage")(e,this.props),o.default.createElement("span",{className:"gallery-item__error-message"},e)}return null}getThumbnailClassNames(){const e=["gallery-item__thumbnail"];switch(this.isImageSmallerThanThumbnail()&&e.push("gallery-item__thumbnail--small"),!this.props.item.thumbnail&&this.isImage()&&e.push("gallery-item__thumbnail--no-preview"),this.props.loadState){case y.default.LOADING:case y.default.WAITING:e.push("gallery-item__thumbnail--loading");break;case y.default.FAILED:e.push("gallery-item__thumbnail--error")}return e.join(" ")}getItemClassNames(){const e=this.props.item.category||"false",t=this.props.selectable&&(this.props.item.selected||this.props.isDragging);return(0,i.default)({"gallery-item":!0,[`gallery-item--${e}`]:!0,"gallery-item--max-selected":this.props.maxSelected&&!t,"gallery-item--missing":this.missing(),"gallery-item--selectable":this.props.selectable,"gallery-item--selected":t,"gallery-item--dropping":this.props.isDropping,"gallery-item--highlighted":this.props.item.highlighted,"gallery-item--error":this.hasError(),"gallery-item--dragging":this.props.isDragging})}getItemFunction(e){const{item:t}=this.props;return"function"==typeof t[e]?t[e]:this.props[e]}getStatusFlags(){let e=[];const{item:t}=this.props;"folder"!==t.type&&(t.draft?e.push({key:"status-draft",title:r.default._t("File.DRAFT","Draft"),className:"gallery-item--draft"}):t.modified&&e.push({key:"status-modified",title:r.default._t("File.MODIFIED","Modified"),className:"gallery-item--modified"}));return e=this.getItemFunction("updateStatusFlags")(e,this.props),o.default.createElement("div",{className:"gallery-item__status-flags"},e.map((e=>o.default.createElement("span",e))))}getStatusIcons(){const{item:e}=this.props,t=[];return e.hasRestrictedAccess&&t.push({key:"status-restricted",fileID:e.id,hasRestrictedAccess:!0,placement:"top",disableTooltip:"folder"===e.type,includeBackground:"folder"!==e.type}),e.isTrackedFormUpload&&"folder"!==e.type&&t.push({key:"status-tracked-form-upload",fileID:e.id,isTrackedFormUpload:!0,hasRestrictedAccess:e.hasRestrictedAccess,placement:"top",includeBackground:!0}),o.default.createElement("div",{className:"gallery-item__status-icons"},t.map((e=>o.default.createElement(c.default,e))))}getProgressBar(){let e=null;const{item:t}=this.props,n={className:"gallery-item__progress-bar",style:{width:`${t.progress}%`}};this.hasError()||!this.uploading()||this.complete()||(e=o.default.createElement("div",{className:"gallery-item__upload-progress"},o.default.createElement("div",n)));return e=this.getItemFunction("updateProgressBar")(e,this.props),e}isImageSmallerThanThumbnail(){if(!this.isImage()||this.missing())return!1;const e=this.props.item.width,t=this.props.item.height;return t&&e&&t0}missing(){return!this.exists()&&this.saved()}uploading(){return this.props.item.queuedId&&!this.saved()}exists(){return this.props.item.exists}isImage(){return"image"===this.props.item.category}canBatchSelect(){return this.props.selectable&&this.props.item.canEdit}hasError(){let e=!1;return this.props.item.message&&(e="error"===this.props.item.message.type),e}handleActivate(e){e.stopPropagation(),"function"==typeof this.props.onActivate&&this.saved()&&this.props.onActivate(e,this.props.item)}handleSelect(e){e.stopPropagation(),e.preventDefault(),"function"==typeof this.props.onSelect&&this.props.onSelect(e,this.props.item)}handleKeyDown(e){s.default.SPACE_KEY_CODE===e.keyCode&&(e.preventDefault(),this.canBatchSelect()&&this.handleSelect(e)),s.default.RETURN_KEY_CODE===e.keyCode&&this.handleActivate(e)}handleCancelUpload(e){e.stopPropagation(),e.preventDefault(),this.hasError()?this.props.onRemoveErroredUpload(this.props.item):this.props.onCancelUpload&&this.props.onCancelUpload(this.props.item)}render(){let e=null,t=null,n=null;const{id:i,queuedId:s}=this.props.item,a=i?`item-${i}`:`queued-${s}`;if(this.props.selectable&&(this.canBatchSelect()&&(e=this.handleSelect),t="font-icon-tick"),this.uploading())e=this.handleCancelUpload,t="font-icon-cancel";else if(this.exists()){const e=r.default._t("AssetAdmin.VIEW","View");n=o.default.createElement("div",{className:"gallery-item--overlay font-icon-eye"},e)}const l=this.props.badge,u={className:"gallery-item__checkbox",type:"checkbox",title:r.default._t("AssetAdmin.SELECT","Select"),tabIndex:-1,onMouseDown:w,id:a},c=["gallery-item__checkbox-label",t];this.canBatchSelect()||(u.disabled=!0,c.push("gallery-item__checkbox-label--disabled"));const p={className:c.join(" "),onClick:e};return o.default.createElement("div",{className:this.getItemClassNames(),"data-id":this.props.item.id,tabIndex:0,role:"button",onKeyDown:this.handleKeyDown,onClick:this.handleActivate},!!l&&o.default.createElement(d.default,{className:"gallery-item__badge",status:l.status,message:l.message}),o.default.createElement("div",{ref:e=>{this.thumbnail=e},className:this.getThumbnailClassNames(),style:this.getThumbnailStyles()},n,this.getStatusFlags(),this.getStatusIcons()),this.getProgressBar(),this.getErrorMessage(),this.props.children,o.default.createElement("div",{className:"gallery-item__title",ref:e=>{this.title=e}},o.default.createElement("label",C({},p,{htmlFor:a}),o.default.createElement("input",u)),this.props.item.title))}}t.Component=F,F.propTypes={sectionConfig:p.default,item:a.default,loadState:v.default.oneOf(Object.values(y.default)),bustCache:v.default.bool,highlighted:v.default.bool,selected:v.default.bool,isDropping:v.default.bool,isDragging:v.default.bool,message:v.default.shape({value:v.default.string,type:v.default.string}),selectable:v.default.bool,onActivate:v.default.func,onSelect:v.default.func,onCancelUpload:v.default.func,onRemoveErroredUpload:v.default.func,badge:v.default.shape({status:v.default.string,message:v.default.string}),updateStatusFlags:v.default.func,updateProgressBar:v.default.func,updateErrorMessage:v.default.func},F.defaultProps={item:{},sectionConfig:{imageRetry:{}},updateStatusFlags:e=>e,updateProgressBar:e=>e,updateErrorMessage:e=>e,bustCache:!0};const O=(0,f.connect)((function(e,t){const{bustCache:n}=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));let r=y.default.DISABLED;if(S(t)){const n=e.assetAdmin.imageLoad.files.find((e=>t.item.thumbnail===e.url));r=n&&n.status||y.default.NONE}return{bustCache:n,loadState:r}}),(function(e){return{actions:{imageLoad:(0,h.bindActionCreators)(g,e)}}}))(F),I="GalleryItem",A=(0,m.createSelectable)((0,l.default)(I)(O));t.File=A;const x=(0,m.createSelectable)((0,u.default)(I)(A));t.Folder=x;var D=O;t.default=D},5710:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=l(n(7086)),i=n(2084),s=l(n(197)),a=l(n(7241));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function d(){return d=Object.assign?Object.assign.bind():function(e){for(var t=1;t1?r.default.createElement("div",{key:"1",className:"gallery-item__drag-shadow"}):null,t>2?r.default.createElement("div",{key:"2",className:"gallery-item__drag-shadow gallery-item__drag-shadow--second"}):null];return r.default.createElement("div",{className:"gallery-item__drag-layer"},r.default.createElement("div",{className:"gallery-item__drag-layer-item",style:this.getOffset()},r.default.createElement("div",{className:"gallery-item__drag-layer-preview"},n,r.default.createElement(s.default,d({},e.props,{isDragging:!0}))),t>1?r.default.createElement(a.default,{className:"gallery-item__drag-layer-count",status:"info",message:`${t}`}):null))}}c.propTypes={item:o.default.object,offset:o.default.shape({x:o.default.number.isRequired,y:o.default.number.isRequired}),isDragging:o.default.bool.isRequired};var p=(0,i.DragLayer)((e=>({item:e.getItem(),offset:e.getInitialClientOffset(),dragged:e.getDifferenceFromInitialOffset(),isDragging:e.isDragging()})))(c);t.default=p},4271:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={canDrag(e){return e.canDrag},beginDrag(e){const{id:t}=e.item;"function"==typeof e.onDrag&&e.onDrag(!0,t);const n=e.selectedFiles.concat([]);return n.includes(t)||n.push(t),{selected:n,props:e}},endDrag(e){const{id:t}=e.item;"function"==typeof e.onDrag&&e.onDrag(!1,t)}},n=(0,s.DragSource)(e,t,((e,t)=>({connectDragPreview:e.dragPreview(),connectDragSource:e.dragSource(),isDragging:t.isDragging()})));return e=>{class t extends o.Component{componentDidMount(){this.props.connectDragPreview((0,a.getEmptyImage)(),{captureDraggingState:!0})}render(){const{connectDragSource:t}=this.props,n=o.default.createElement(e,this.props);return"string"==typeof n.type?t(n):t(o.default.createElement("div",{className:"gallery-item__draggable"},n))}}return t.propTypes={connectDragSource:i.default.func.isRequired,connectDragPreview:i.default.func.isRequired,item:i.default.shape({id:i.default.number.isRequired}).isRequired,onDrag:i.default.func,selectedFiles:i.default.arrayOf(i.default.number)},n(t)}};var r,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=l(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=(r=n(7086))&&r.__esModule?r:{default:r},s=n(2084),a=n(1211);function l(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(l=function(e){return e?n:t})(e)}},8729:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){const t={drop(e,t){if(t.canDrop()){const n=t.getItem();e.onDropFiles(e.item.id,n.selected)}},canDrop(e,t){return!t.getItem().selected.includes(e.item.id)}},n=(0,s.DropTarget)(e,t,((e,t)=>{const n=t.isOver();return{isDropping:n&&t.canDrop(),connectDropTarget:e.dropTarget(),isOver:n}}));return e=>{class t extends o.Component{render(){const{connectDropTarget:t}=this.props,n=o.default.createElement(e,this.props);return"string"==typeof n.type?t(n):t(o.default.createElement("div",{className:"gallery-item__droppable"},n))}}return t.propTypes={connectDropTarget:i.default.func.isRequired,item:i.default.shape({id:i.default.number.isRequired}).isRequired},n(t)}};var r,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=(r=n(7086))&&r.__esModule?r:{default:r},s=n(2084);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}},5529:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=s(n(7086)),i=s(n(4754));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}class l extends r.Component{constructor(){super(),this.handleCreateFolder=this.handleCreateFolder.bind(this)}handleCreateFolder(e){const{onCreateFolder:t}=this.props;e.preventDefault(),"function"==typeof t&&t()}render(){const{canEdit:e}=this.props;return r.default.createElement("button",{id:"add-folder-button",className:"btn btn-secondary font-icon-folder-add btn--icon-xl",type:"button",onClick:this.handleCreateFolder,disabled:!e},r.default.createElement("span",{className:"btn__text btn__title"},i.default._t("AssetAdmin.ADD_FOLDER_BUTTON")))}}l.propTypes={canEdit:o.default.bool.isRequired,onCreateFolder:o.default.func.isRequired};var u=l;t.default=u},9539:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=s(n(7086)),i=s(n(3667));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}class l extends r.Component{constructor(e){super(e),this.handleBackClick=this.handleBackClick.bind(this)}handleBackClick(e){const{onOpenFolder:t,folder:n}=this.props;e.preventDefault(),"function"==typeof t&&t(n.parentId)}render(){const{folder:e,badges:t,onMoveFiles:n}=this.props,{parentId:o}=e;if(null===o)return null;const s=t.find((e=>e.id===o));return r.default.createElement("div",{className:"gallery__back-container"},r.default.createElement(i.default,{item:{id:o},onClick:this.handleBackClick,onDropFiles:n,badge:s}))}}l.propTypes={folder:o.default.shape({id:o.default.number,title:o.default.string,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool}).isRequired,badges:o.default.arrayOf(o.default.shape({id:o.default.number,message:o.default.node,status:o.default.string})).isRequired,onOpenFolder:o.default.func.isRequired,onMoveFiles:o.default.func.isRequired};var u=l;t.default=u},9617:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=s(n(4754)),i=s(n(7086));function s(e){return e&&e.__esModule?e:{default:e}}function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}class l extends r.Component{render(){const{canEdit:e}=this.props;return r.default.createElement("button",{id:"upload-button",className:"btn btn-secondary font-icon-upload btn--icon-xl",type:"button",disabled:!e},r.default.createElement("span",{className:"btn__text btn__title"},o.default._t("AssetAdmin.DROPZONE_UPLOAD")))}}l.defaultProps={canEdit:i.default.func.isRequired};var u=l;t.default=u},6505:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=u(n(7086)),i=n(1624),s=u(n(9539)),a=u(n(9617)),l=u(n(5529));function u(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}class c extends r.Component{constructor(e){super(e),this.handleSelectSort=this.handleSelectSort.bind(this),this.handleViewChange=this.handleViewChange.bind(this)}handleSelectSort(e){this.props.onSort(e.currentTarget.value)}handleViewChange(e){const t=e.currentTarget.value;this.props.onViewChange(t)}renderSort(){return"tile"!==this.props.view?null:r.default.createElement("div",{className:"gallery__sort fieldholder-small"},r.default.createElement("select",{className:"dropdown no-change-track no-chzn",tabIndex:"0",style:{width:"160px"},defaultValue:this.props.sort},this.props.sorters.map((e=>{const t=e.label.replace(/^\w|[\s\-]+\w/g,(e=>e.toUpperCase()));return r.default.createElement("option",{key:`${e.field}-${e.direction}`,onClick:this.handleSelectSort,"data-field":e.field,"data-direction":e.direction,value:`${e.field},${e.direction}`},t)}))))}renderViewChangeButtons(){return["tile","table"].map((e=>{const t="table"===e?"list":"thumbnails",n=["gallery__view-change-button","btn btn-secondary","btn--icon-sm","btn--no-text"];return e===this.props.view?null:(n.push(`font-icon-${t}`),r.default.createElement("button",{id:`button-view-${e}`,key:e,className:n.join(" "),type:"button",title:"Change view gallery/list",onClick:this.handleViewChange,value:e}))}))}render(){const{badges:e,children:t,folder:n,onMoveFiles:o,onOpenFolder:i,onCreateFolder:s,BackButton:a,UploadButton:l,AddFolderButton:u}=this.props,{canEdit:d}=n;return r.default.createElement("div",{className:"toolbar--content toolbar--space-save"},r.default.createElement("div",{className:"fill-width"},r.default.createElement("div",{className:"gallery__btn-toolbar flexbox-area-grow"},r.default.createElement("div",{className:"btn-toolbar"},r.default.createElement(a,{folder:n,badges:e,onOpenFolder:i,onMoveFiles:o}),r.default.createElement(l,{canEdit:d}),r.default.createElement(u,{canEdit:d,onCreateFolder:s}),t)),r.default.createElement("div",{className:"gallery__state-buttons"},this.renderSort(),r.default.createElement("div",{className:"btn-group",role:"group","aria-label":"View mode"},this.renderViewChangeButtons()))))}}t.Component=c,c.propTypes={onMoveFiles:o.default.func.isRequired,onCreateFolder:o.default.func.isRequired,onViewChange:o.default.func.isRequired,onOpenFolder:o.default.func.isRequired,onSort:o.default.func.isRequired,folder:o.default.shape({id:o.default.number,title:o.default.string,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool}).isRequired,view:o.default.oneOf(["tile","table"]),sort:o.default.string,badges:o.default.arrayOf(o.default.shape({id:o.default.number,message:o.default.node,status:o.default.string})),BackButton:o.default.elementType,UploadButton:o.default.elementType,AddFolderButton:o.default.elementType},c.defaultProps={view:"tile",BackButton:s.default,UploadButton:a.default,AddFolderButton:l.default};var p=(0,i.connect)((function(e,t){let{sort:n}=t;const{badges:r,sorters:o}=e.assetAdmin.gallery;return""===n&&(n=`${o[0].field},${o[0].direction}`),{badges:r,sorters:o,sort:n}}))(c);t.default=p},961:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=f(n(4754)),o=p(n(7363)),i=n(2827),s=n(1624),a=f(n(4912)),l=p(n(3573)),u=f(n(7086)),d=n(4845);function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}function p(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function f(e){return e&&e.__esModule?e:{default:e}}class h extends o.Component{constructor(e){super(e),this.handleSubmit=this.handleSubmit.bind(this)}componentWillMount(){this.setOverrides(this.props)}componentWillReceiveProps(e){e.isOpen&&!this.props.isOpen&&this.setOverrides(e)}componentWillUnmount(){this.clearOverrides()}setOverrides(e){if(this.props.schemaUrl!==e.schemaUrl&&this.clearOverrides(),e.schemaUrl){const t=Object.assign({},e.fileAttributes);delete t.ID;const n={fields:Object.entries(t).map((e=>{const[t,n]=e;return{name:t,value:n}}))};this.props.actions.schema.setSchemaStateOverrides(e.schemaUrl,n)}}getModalProps(){const e=Object.assign({onSubmit:this.handleSubmit,onLoadingError:this.handleLoadingError,showErrorMessage:!0,responseClassBad:"alert alert-danger",identifier:"AssetAdmin.InsertEmbedModal"},this.props,{className:`insert-embed-modal ${this.props.className}`,size:"lg",onClosed:this.props.onClosed,title:this.props.targetUrl?r.default._t("AssetAdmin.EditTitle","Media from the web"):r.default._t("AssetAdmin.CreateTitle","Insert new media from the web")});return delete e.sectionConfig,delete e.onInsert,delete e.fileAttributes,e}clearOverrides(){this.props.actions.schema.setSchemaStateOverrides(this.props.schemaUrl,null)}handleLoadingError(e){"function"==typeof this.props.onLoadingError&&this.props.onLoadingError(e)}handleSubmit(e,t){switch(t){case"action_addmedia":this.props.onCreate(e);break;case"action_insertmedia":this.props.onInsert(e);break;case"action_cancel":this.props.onClosed()}return Promise.resolve()}render(){return o.default.createElement(a.default,this.getModalProps())}}t.Component=h,h.propTypes={sectionConfig:u.default.shape({url:u.default.string,form:u.default.object}),isOpen:u.default.bool,onInsert:u.default.func.isRequired,onCreate:u.default.func.isRequired,fileAttributes:u.default.shape({Url:u.default.string,CaptionText:u.default.string,PreviewUrl:u.default.string,Placement:u.default.string,Width:u.default.number,Height:u.default.number}),onClosed:u.default.func.isRequired,className:u.default.string,actions:u.default.object,schemaUrl:u.default.string.isRequired,targetUrl:u.default.string,onLoadingError:u.default.func},h.defaultProps={className:"",fileAttributes:{}};var m=(0,s.connect)((function(e,t){const n=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name)),r=t.fileAttributes?t.fileAttributes.Url:"",o=n.form.remoteEditForm.schemaUrl,i=r&&(0,d.joinUrlPaths)(o,`/?embedurl=${encodeURIComponent(r)}`),s=n.form.remoteCreateForm.schemaUrl;return{sectionConfig:n,schemaUrl:i||s,targetUrl:r}}),(function(e){return{actions:{schema:(0,i.bindActionCreators)(l,e)}}}))(h);t.default=m},8962:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=b(n(4754)),o=v(n(7363)),i=b(n(1856)),s=b(n(8264)),a=n(1624),l=n(2827),u=n(5762),d=v(n(7513)),c=n(3069),p=b(n(720)),f=b(n(7820)),h=b(n(7086)),m=b(n(1872)),g=b(n(7902));function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(y=function(e){return e?n:t})(e)}function v(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=y(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function b(e){return e&&e.__esModule?e:{default:e}}class E extends o.Component{constructor(e){super(e),this.handleAddedFile=this.handleAddedFile.bind(this),this.handleFailedUpload=this.handleFailedUpload.bind(this),this.handleSuccessfulUpload=this.handleSuccessfulUpload.bind(this),this.handleSending=this.handleSending.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleUploadComplete=this.handleUploadComplete.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this),this.handleRemoveErroredUpload=this.handleRemoveErroredUpload.bind(this),this.canFileUpload=this.canFileUpload.bind(this),this.updateFormData=this.updateFormData.bind(this),this.cacheBustUrl=this.cacheBustUrl.bind(this)}componentDidUpdate(e){(e.data.url&&this.props.data.url!==e.data.url||e.data.version&&this.props.data.version!==e.data.version)&&this.props.actions.previewField.removeFile(e.id)}componentWillUnmount(){this.props.actions.previewField.removeFile(this.props.id)}getDropzoneProps(){const e=this.props.data.uploadFileEndpoint,t=this.props.name,n={url:e&&e.url,method:e&&e.method,paramName:"Upload",clickable:!0,maxFiles:1},r={height:s.default.THUMBNAIL_HEIGHT,width:s.default.THUMBNAIL_WIDTH},o=this.props.securityID;return{name:t,className:["asset-dropzone--button","preview-image-field__container",this.props.className,this.props.extraClass].join(" "),canUpload:e&&this.canEdit(),preview:r,folderId:this.props.data.parentid,options:n,securityID:o,uploadButton:!1,onAddedFile:this.handleAddedFile,onError:this.handleFailedUpload,onSuccess:this.handleSuccessfulUpload,onSending:this.handleSending,onUploadProgress:this.handleUploadProgress,onUploadComplete:this.handleUploadComplete,canFileUpload:this.canFileUpload,updateFormData:this.updateFormData}}getButtonClasses(e){return(0,f.default)([`preview-image-field__toolbar-button--${e}`,"preview-image-field__toolbar-button"])}updateFormData(e){e.append("ID",this.props.data.id),e.append("Name",this.props.nameValue)}handleSending(e,t){this.props.actions.previewField.updateFile(this.props.id,{xhr:t})}handleSuccessfulUpload(e){const t=JSON.parse(e.xhr.response);"function"==typeof this.props.onAutofill&&(this.props.onAutofill("FileFilename",t.Filename),this.props.onAutofill("FileHash",t.Hash),this.props.onAutofill("FileVariant",t.Variant),t.Name&&this.props.onAutofill(this.props.data.nameField,t.Name))}handleFailedUpload(e,t){this.props.actions.previewField.failUpload(this.props.id,t)}handleAddedFile(e){this.props.actions.previewField.addFile(this.props.id,e)}handleRemoveErroredUpload(){if("function"==typeof this.props.onAutofill){const e=this.props.data.initialValues;this.props.onAutofill("FileFilename",e.FileFilename),this.props.onAutofill("FileHash",e.FileHash),this.props.onAutofill("FileVariant",e.FileVariant)}this.props.actions.previewField.removeFile(this.props.id)}handleCancelUpload(){this.props.upload.xhr&&this.props.upload.xhr.abort(),this.handleRemoveErroredUpload()}canFileUpload(e){const t=this.props.data.initialValues.FileFilename,n=(0,c.getFileExtension)(t),o=(0,c.getFileExtension)(e.name);if(!n||n===o)return!0;const i=r.default._t("AssetAdmin.CONFIRM_CHANGE_EXTENSION","Are you sure you want upload a file with a different extension?");return this.props.confirm(i)}preventDefault(e){e.preventDefault()}canEdit(){return!this.props.readOnly&&!this.props.disabled&&"folder"!==this.props.data.category}handleUploadProgress(e,t){this.props.actions.previewField.updateFile(this.props.id,{progress:t})}handleUploadComplete(e){this.props.actions.previewField.updateStatus(this.props.id,{status:e})}preview(e,t,n){if(e&&"image"!==e)return s.default.DEFAULT_PREVIEW;const r=t.url||n.preview||n.url;if(r){return r.startsWith("data:image/")?r:this.cacheBustUrl(r,n.version)}return null}cacheBustUrl(e){const t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||this.props.data.version;if(!1===this.props.bustCache||!t)return e;const n=m.default.parse(e),r={...g.default.parse(n.query),vid:t};return m.default.format({...n,search:g.default.stringify(r)})}renderImage(){const{data:e,upload:t}=this.props;if(!e.mock&&!e.exists&&!t.url)return o.default.createElement("div",{className:"editor__file-preview-message--file-missing"},r.default._t("AssetAdmin.FILE_MISSING","File cannot be found"));const{category:n,progress:i,message:s}=t,a=t.errors?t.errors[0]:null,l=t.status?t.status:null,u=this.preview(n,t,e),d=o.default.createElement("img",{alt:"preview",src:u,className:"editor__thumbnail"}),c=e.url&&!i?o.default.createElement("a",{className:"editor__file-preview-link",href:this.cacheBustUrl(e.url),target:"_blank",rel:"noopener noreferrer"},d):null,p=i>0&&i<100?o.default.createElement("div",{className:"preview-image-field__progress"},o.default.createElement("div",{className:"preview-image-field__progress-bar",style:{width:`${i}%`}})):null;let f=null;if(a||"error"===l){const e=a&&a.value?a.value:r.default._t("AssetAdmin.DROPZONE_RESPONSE_ERROR","Server responded with an error."),t=a&&a.type?a.type:"error";f=o.default.createElement("div",{className:`preview-image-field__message preview-image-field__message--${t}`},e)}else s?f=o.default.createElement("div",{className:`preview-image-field__message preview-image-field__message--${s.type}`},s.value):100===i&&"success"===l&&(f=o.default.createElement("div",{className:"preview-image-field__message preview-image-field__message--success"},r.default._t("AssetAdmin.REPlACE_FILE_SUCCESS","Upload successful, the file will be replaced when you Save."),(i||s)&&o.default.createElement("button",{onClick:this.handleCancelUpload,className:"preview-image-field__message-button btn btn-outline-light",type:"button"},r.default._t("AssetAdmin.REPLACE_FILE_UNDO","Undo"))));return o.default.createElement("div",{className:"editor__thumbnail-container"},c||d,p,f)}render(){const e=this.getDropzoneProps();if(this.canEdit())return o.default.createElement(i.default,e,this.renderImage());const t=["preview-image-field__container",this.props.className,this.props.extraClass];return o.default.createElement("div",{className:t.join(" ")},this.renderImage())}}t.Component=E,E.propTypes={id:h.default.string.isRequired,name:h.default.string,className:h.default.string,extraClass:h.default.string,readOnly:h.default.bool,disabled:h.default.bool,bustCache:h.default.bool,onAutofill:h.default.func,formid:h.default.string,nameValue:h.default.string,data:h.default.shape({id:h.default.number,parentid:h.default.number,version:h.default.number,url:h.default.string,mock:h.default.bool,exists:h.default.bool,preview:h.default.string,category:h.default.string,nameField:h.default.string,uploadFileEndpoint:h.default.shape({url:h.default.string.isRequired,method:h.default.string.isRequired,payloadFormat:h.default.string}),initialValues:h.default.object}).isRequired,upload:h.default.shape({url:h.default.string,progress:h.default.number,xhr:h.default.object,category:h.default.string,message:h.default.shape({type:h.default.string.isRequired,value:h.default.string.isRequired}),status:h.default.string}),actions:h.default.object,securityID:h.default.string,confirm:h.default.func},E.defaultProps={extraClass:"",className:"",data:{},upload:{},confirm:e=>window.confirm(e),bustCache:!0};var _=(0,a.connect)((function(e,t){const n=e.config.SecurityID,r=t.id,o=e.assetAdmin.previewField[r]||{},i=(0,u.formValueSelector)(t.formid,p.default),{bustCache:s}=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));return{securityID:n,upload:o,nameValue:i(e,"Name"),bustCache:s}}),(function(e){return{actions:{previewField:(0,l.bindActionCreators)(d,e)}}}))(E);t.default=_},4678:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(7363)),o=a(n(7086)),i=n(8127),s=a(n(4754));function a(e){return e&&e.__esModule?e:{default:e}}function l(){return l=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{onSelect:t,currentWidth:n,originalWidth:o,width:a,text:l}=e;return r.default.createElement(i.Button,{color:"link",size:"sm",onClick:()=>t(a||o),disabled:os.default.inject(s.default._t("AssetAdmin.SET_IMAGE_SIZE_TO",'Set image size to "{preset}"'),{preset:e}))(l)),r.default.createElement("span",{"aria-hidden":"true"},l))},d=e=>{let{imageSizePresets:t,...n}=e;return t?r.default.createElement("ul",{className:"image-size-preset-list"},t.map((e=>r.default.createElement("li",{key:e.text,className:"image-size-preset-list__list-item"},r.default.createElement(u,l({},e,n)))))):null};d.propTypes={onSelect:o.default.func,imageSizePresets:o.default.arrayOf(o.default.shape({text:o.default.string,width:o.default.number})),currentWidth:o.default.number,originalWidth:o.default.number.isRequired};var c=d;t.default=c},8278:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=c(n(7086)),i=n(6648),s=c(n(4678)),a=n(5762),l=c(n(720)),u=n(1624),d=n(2827);function c(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t0&&this.syncFields(e,r)}syncFields(e,t){const{children:n,active:r,onAutofill:o,data:{ratio:i}}=this.props,s=0===e?1:0,a=n[e].props.name,l=n[s].props.name,u=0===e?1/i:i;o(a,t),r&&o(l,Math.round(t*u))}handlePresetSelect(e){this.syncFields(0,e);const{key:t}=this.props.children[0],n=document.getElementById(t);n&&n.focus()}handleBlur(e,t){this.setState({hasFocus:!1});const n=parseInt(t&&t.target&&t.target.value,10);(!n||n<=0)&&(t.preventDefault(),this.resetDimensions())}handleFocus(){this.setState({hasFocus:!0})}defaultWidth(){const{imageSizePresets:e,data:{originalWidth:t}}=this.props,n=e&&e.find((e=>e.default)),r=n&&n.width||t||600;return t&&t(0,r.cloneElement)(e,{onChange:(e,n)=>this.handleChange(t,e,n),onBlur:e=>this.handleBlur(t,e),onFocus:()=>this.handleFocus(),key:t},e.props.children))),!n&&r.default.createElement(s.default,{originalWidth:parseInt(t,10),currentWidth:o,imageSizePresets:i,onSelect:this.handlePresetSelect})))}}t.Component=h,h.propTypes={children:o.default.array,onAutofill:o.default.func,active:o.default.bool,data:o.default.shape({ratio:o.default.number.isRequired,isRemoteFile:o.default.bool,originalWidth:o.default.number,originalHeight:o.default.number}),current:o.default.shape({width:o.default.oneOfType([o.default.number,o.default.string]),height:o.default.oneOfType([o.default.number,o.default.string])}).isRequired,FieldGroup:o.default.elementType.isRequired,imageSizePresets:o.default.arrayOf(o.default.shape({width:o.default.number,text:o.default.string,default:o.default.bool}))},h.defaultProps={active:!0};var m=(0,d.compose)((0,u.connect)((function(e,t){let{formid:n}=t;const r=(0,a.formValueSelector)(n,l.default),o=r(e,"Width"),i=r(e,"Height");return{current:{width:o?parseInt(o,10):void 0,heigth:i?parseInt(i,10):void 0},imageSizePresets:e.assetAdmin.modal.imageSizePresets}})),(0,i.inject)(["FieldGroup"]))(h);t.default=m},6334:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.ConnectedUploadField=t.Component=void 0;var r=v(n(4754)),o=y(n(7363)),i=n(1624),s=n(2827),a=n(6648),l=v(n(8264)),u=v(n(1042)),d=v(n(4744)),c=v(n(1338)),p=y(n(4504)),f=y(n(4478)),h=v(n(7086)),m=v(n(8214));function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(g=function(e){return e?n:t})(e)}function y(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=g(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function v(e){return e&&e.__esModule?e:{default:e}}class b extends o.Component{constructor(e){super(e),this.getMaxFiles=this.getMaxFiles.bind(this),this.getFolderId=this.getFolderId.bind(this),this.renderChild=this.renderChild.bind(this),this.handleAddShow=this.handleAddShow.bind(this),this.handleHide=this.handleHide.bind(this),this.handleAddInsert=this.handleAddInsert.bind(this),this.handleInsertMany=this.handleInsertMany.bind(this),this.handleAddedFile=this.handleAddedFile.bind(this),this.handleSending=this.handleSending.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleFailedUpload=this.handleFailedUpload.bind(this),this.handleSuccessfulUpload=this.handleSuccessfulUpload.bind(this),this.handleItemRemove=this.handleItemRemove.bind(this),this.handleReplaceShow=this.handleReplaceShow.bind(this),this.handleChange=this.handleChange.bind(this),this.handleReplace=this.handleReplace.bind(this),this.canEdit=this.canEdit.bind(this),this.canAttach=this.canAttach.bind(this),this.canUpload=this.canUpload.bind(this),this.state={selecting:!1,selectingItem:null}}componentDidMount(){const{id:e,formSchemaFilesHash:t,data:n,value:r,actions:o,files:i}=this.props,s=(0,m.default)(JSON.stringify(r.Files)).toString();if(t!==s)return o.uploadField.setFormSchemaFilesHash(e,s),void o.uploadField.setFiles(e,n.files);o.uploadField.setFiles(e,i)}componentWillReceiveProps(e){(function(e,t){if(e.length!==t.length)return!0;for(let n=0;n!u.includes(e))).length)return;const d=o.map((e=>e.id));d.length===i.length&&0===d.filter((e=>!i.includes(e))).length||a(t,r.files)}getMaxFiles(){const e=this.props.data.multi?this.props.data.maxFiles:1;if(null==e)return null;const t=this.props.files.filter((e=>e.id>0&&(!e.message||"error"!==e.message.type))).length;return Math.max(e-t,0)}getMaxFilesize(){return this.props.data.maxFilesize||null}getFolderId(){const{selectingItem:e}=this.state;return e&&"object"==typeof e?e.parent.id:this.props.data.parentid||0}handleAddedFile(e){const t={...e,uploaded:!0};this.props.actions.uploadField.addFile(this.props.id,t)}handleSending(e,t){this.props.actions.uploadField.updateQueuedFile(this.props.id,e._queuedId,{xhr:t})}handleUploadProgress(e,t){this.props.actions.uploadField.updateQueuedFile(this.props.id,e._queuedId,{progress:t})}handleSuccessfulUpload(e){const t=JSON.parse(e.xhr.response);void 0===t[0].error?this.props.actions.uploadField.succeedUpload(this.props.id,e._queuedId,t[0]):this.handleFailedUpload(e)}handleFailedUpload(e,t){const n=e.xhr&&e.xhr.status?(0,c.default)(e.xhr.status):"";this.props.actions.uploadField.failUpload(this.props.id,e._queuedId,t,n)}handleItemRemove(e,t){this.props.actions.uploadField.removeFile(this.props.id,t)}handleReplaceShow(e,t){this.props.actions.modal.initFormStack("select","admin"),this.setState({selecting:!0,selectingItem:t})}handleChange(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.props;if("function"==typeof t.onChange){const n={Files:t.files.filter((e=>e.id)).map((e=>e.id))};t.onChange(e,{id:t.id,value:n})}}handleUploadButton(e){e.preventDefault()}handleAddShow(e){e.preventDefault(),this.props.actions.modal.initFormStack("select","admin"),this.setState({selecting:!0,selectingItem:null})}handleHide(){this.props.actions.modal.reset(),this.setState({selecting:!1,selectingItem:null})}handleAddInsert(e,t,n){return this.props.actions.uploadField.addFile(this.props.id,n),this.handleHide(),Promise.resolve({})}handleInsertMany(e,t){const{selectingItem:n}=this.state;n?this.handleReplace(e,null,t[0]):t.forEach((t=>{this.handleAddInsert(e,null,t)}))}handleReplace(e,t,n){const{selectingItem:r}=this.state,{id:o,actions:{uploadField:{addFile:i,removeFile:s}}}=this.props;if(!r)throw new Error("Tried to replace a file when none was selected.");return s(o,r),i(o,n),this.handleHide(),Promise.resolve({})}canEdit(){return!this.props.disabled&&!this.props.readOnly&&(this.props.data.canUpload||this.props.data.canAttach)}canUpload(){return this.canEdit()&&this.props.data.canUpload}canAttach(){return this.canEdit()&&this.props.data.canAttach}renderDropzone(){const{AssetDropzone:e}=this.props;if(!this.props.data.createFileEndpoint)return null;const t={height:l.default.SMALL_THUMBNAIL_HEIGHT,width:l.default.SMALL_THUMBNAIL_WIDTH},n=this.getMaxFiles(),i=this.getMaxFilesize(),s={url:this.props.data.createFileEndpoint.url,method:this.props.data.createFileEndpoint.method,paramName:"Upload",maxFiles:n,maxFilesize:i,thumbnailWidth:l.default.SMALL_THUMBNAIL_WIDTH,thumbnailHeight:l.default.SMALL_THUMBNAIL_HEIGHT},a=["uploadfield__dropzone"];if(0===n&&a.push("uploadfield__dropzone--hidden"),!this.canEdit())return this.props.files.length?null:o.default.createElement("p",null,r.default._t("AssetAdmin.EMPTY","No files"));const u=this.props.securityId,d=[];return this.canUpload()&&d.push(o.default.createElement("button",{key:"uploadbutton",type:"button",onClick:this.handleUploadButton,className:"uploadfield__upload-button"},r.default._t("AssetAdmin.UPLOADFIELD_UPLOAD_NEW","Upload new"))),this.canAttach()&&(d.length&&d.push(o.default.createElement("span",{key:"uploadjoin",className:"uploadfield__join"},r.default._t("AssetAdmin.OR","or"))),d.push(o.default.createElement("button",{key:"attachbutton",type:"button",onClick:this.handleAddShow,className:"uploadfield__add-button"},r.default._t("AssetAdmin.UPLOADFIELD_CHOOSE_EXISTING","Choose existing")))),o.default.createElement(e,{name:this.props.name,canUpload:this.canUpload(),uploadButton:!1,uploadSelector:".uploadfield__upload-button, .uploadfield__backdrop",folderId:this.props.data.parentid,onAddedFile:this.handleAddedFile,onError:this.handleFailedUpload,onSuccess:this.handleSuccessfulUpload,onSending:this.handleSending,onUploadProgress:this.handleUploadProgress,preview:t,options:s,securityID:u,className:a.join(" ")},o.default.createElement("div",{className:"uploadfield__backdrop"}),o.default.createElement("span",{className:"uploadfield__droptext"},d))}renderModal(){const{InsertMediaModal:e}=this.props,{selecting:t,selectingItem:n}=this.state,r=this.getMaxFiles(),i=this.getFolderId();return o.default.createElement(e,{title:!1,isOpen:t,onInsert:n?this.handleReplace:this.handleAddInsert,onClosed:this.handleHide,onInsertMany:this.handleInsertMany,maxFiles:n?1:r,type:"select",bodyClassName:"modal__dialog",className:"insert-media-react__dialog-wrapper",fileAttributes:n?{ID:n.id}:null,folderId:i})}renderChild(e,t){const{UploadFieldItem:n}=this.props,r={key:e.id?`file-${e.id}`:`queued-${e.queuedId}`,item:e,name:this.props.name,onRemove:this.handleItemRemove,canEdit:this.canEdit(),onView:this.handleReplaceShow},i=this.props.getItemProps(r,t,this.props);return o.default.createElement(n,i)}render(){return o.default.createElement("div",{className:"uploadfield"},this.renderDropzone(),this.props.files.map(this.renderChild),this.renderModal())}}t.Component=b,b.propTypes={id:h.default.string.isRequired,name:h.default.string.isRequired,onChange:h.default.func,value:h.default.shape({Files:h.default.arrayOf(h.default.number)}),files:h.default.arrayOf(d.default),formSchemaFilesHash:h.default.string,readOnly:h.default.bool,disabled:h.default.bool,data:h.default.shape({files:h.default.arrayOf(d.default),createFileEndpoint:h.default.shape({url:h.default.string.isRequired,method:h.default.string.isRequired,payloadFormat:h.default.string.isRequired}),multi:h.default.bool,parentid:h.default.number,canUpload:h.default.bool,canAttach:h.default.bool,maxFiles:h.default.number}),UploadFieldItem:h.default.elementType,AssetDropzone:h.default.elementType,InsertMediaModal:h.default.elementType,getItemProps:h.default.func},b.defaultProps={value:{Files:[]},className:"",getItemProps:e=>e};const E=(0,i.connect)((function(e,t){const n=t.id;let r=[],o=null;return e.assetAdmin&&e.assetAdmin.uploadField&&e.assetAdmin.uploadField.fields&&e.assetAdmin.uploadField.fields[n]&&(r=e.assetAdmin.uploadField.fields[n].files||[],o=e.assetAdmin.uploadField.fields[n].formSchemaFilesHash||null),{files:r,securityId:e.config.SecurityID,formSchemaFilesHash:o}}),(function(e){return{actions:{uploadField:(0,s.bindActionCreators)(p,e),modal:(0,s.bindActionCreators)(f,e)}}}))(b);t.ConnectedUploadField=E;var _=(0,s.compose)((0,a.inject)(["UploadFieldItem","AssetDropzone","InsertMediaModal"]),u.default)(E);t.default=_},614:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=c(n(4754)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=c(n(8264)),s=c(n(4744)),a=n(3069),l=c(n(7086)),u=c(n(9777));function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}function c(e){return e&&e.__esModule?e:{default:e}}class p extends o.Component{constructor(e){super(e),this.handleRemove=this.handleRemove.bind(this),this.handleItemClick=this.handleItemClick.bind(this),this.handleView=this.handleView.bind(this)}getThumbnailStyles(){if(this.isImage()&&(this.exists()||this.uploading())){return{backgroundImage:`url(${this.props.item.smallThumbnail||this.props.item.url||""})`}}return{}}getThumbnailClassNames(){const e=["uploadfield-item__thumbnail"];return this.isImageSmallerThanThumbnail()&&e.push("uploadfield-item__thumbnail--small"),e.join(" ")}getItemClassNames(){const e=["fill-width","uploadfield-item",`uploadfield-item--${this.props.item.category||"none"}`];return this.missing()&&e.push("uploadfield-item--missing"),this.hasError()&&e.push("uploadfield-item--error"),e.join(" ")}hasError(){return!!this.props.item.message&&"error"===this.props.item.message.type}isImage(){return"image"===this.props.item.category}exists(){return this.props.item.exists}uploading(){return this.props.item.queuedId&&!this.saved()}complete(){return this.props.item.queuedId&&this.saved()}saved(){return this.props.item.id>0}missing(){return!this.exists()&&this.saved()}isImageSmallerThanThumbnail(){if(!this.isImage()||this.missing())return!1;const e=this.props.item.width,t=this.props.item.height;return t&&e&&te.every((e=>e&&e.canDelete))},{value:"edit",label:o.default._t("AssetAdmin.BULK_ACTIONS_EDIT","Edit"),className:"font-icon-edit",destructive:!1,canApply:e=>1===e.length,callback:null},{value:"move",label:o.default._t("AssetAdmin.BULK_ACTIONS_MOVE","Move"),className:"font-icon-folder-move",canApply:e=>e.every((e=>e&&e.canEdit)),destructive:!1,callback:null},{value:"publish",label:o.default._t("AssetAdmin.BULK_ACTIONS_PUBLISH","Publish"),className:"font-icon-rocket",destructive:!1,callback:null,canApply:e=>e.some((e=>e&&e.modified))&&e.every((e=>e.canEdit&&"folder"!==e.type)),confirm:null},{value:"unpublish",label:o.default._t("AssetAdmin.BULK_ACTIONS_UNPUBLISH","Unpublish"),className:"font-icon-cancel-circled",destructive:!1,callback:null,canApply:e=>e.some((e=>e.published))&&e.every((e=>e.canEdit&&"folder"!==e.type)),confirm:null},{value:"insert",label:o.default._t("AssetAdmin.BULK_ACTIONS_INSERT","Insert"),className:"font-icon-plus-circled btn-primary",destructive:!1,callback:null,canApply:e=>e.length,confirm:null}],BULK_ACTIONS_PLACEHOLDER:o.default._t("AssetAdmin.BULK_ACTIONS_PLACEHOLDER"),SPACE_KEY_CODE:32,RETURN_KEY_CODE:13,DEFAULT_PREVIEW:"framework/client/dist/images/app_icons/generic_92.png",MODAL_MOVE:"MODAL_MOVE"};t.default=i},7056:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=M(n(7363)),o=D(n(7086)),i=n(1624),s=n(2827),a=D(n(5159)),l=D(n(4754)),u=D(n(7820)),d=M(n(3669)),c=M(n(5123)),p=M(n(2986)),f=M(n(469)),h=D(n(2234)),m=D(n(4288)),g=D(n(6071)),y=n(7588),v=M(n(1075)),b=D(n(6635)),E=D(n(8493)),_=D(n(168)),C=D(n(6307)),S=D(n(8264)),w=D(n(9900)),F=n(6648),O=M(n(9194)),I=D(n(6019)),A=D(n(7882)),x=D(n(5809));function D(e){return e&&e.__esModule?e:{default:e}}function P(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(P=function(e){return e?n:t})(e)}function M(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=P(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}class R extends r.Component{constructor(e){super(e),this.state||(this.state={}),this.handleOpenFile=this.handleOpenFile.bind(this),this.handleCloseFile=this.handleCloseFile.bind(this),this.handleDelete=this.handleDelete.bind(this),this.doPublish=this.doPublish.bind(this),this.doUnpublish=this.doUnpublish.bind(this),this.handleUnpublish=this.handleUnpublish.bind(this),this.handleDoSearch=this.handleDoSearch.bind(this),this.handleClearSearch=this.handleClearSearch.bind(this),this.handleSubmitEditor=this.handleSubmitEditor.bind(this),this.handleOpenFolder=this.handleOpenFolder.bind(this),this.handleSort=this.handleSort.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.createEndpoint=this.createEndpoint.bind(this),this.handleBackButtonClick=this.handleBackButtonClick.bind(this),this.handleFolderIcon=this.handleFolderIcon.bind(this),this.handleBrowse=this.handleBrowse.bind(this),this.handleViewChange=this.handleViewChange.bind(this),this.handleUpload=this.handleUpload.bind(this),this.handleUploadQueue=this.handleUploadQueue.bind(this),this.handleCreateFolder=this.handleCreateFolder.bind(this),this.handleMoveFilesSuccess=this.handleMoveFilesSuccess.bind(this)}static getDerivedStateFromProps(e){return!e.loading&&e.folder&&e.folderId!==e.folder.id&&e.onReplaceUrl(e.folder.id,e.fileId,e.query,e.viewAction),null}getFolderId(){return null!==this.props.folderId?this.props.folderId:this.props.folder?this.props.folder.id:0}getFiles(){const{files:e,queuedFiles:t,folderId:n}=this.props,r=[...t.items.filter((t=>!(t.id&&e.find((e=>e.id===t.id))||t.hasOwnProperty("uploadedToFolderId")&&t.uploadedToFolderId!==n))),...e],o=r.filter((e=>"folder"===e.type)),i=r.filter((e=>"folder"!==e.type));return o.concat(i)}handleBrowse(e,t,n){"function"==typeof this.props.onBrowse&&this.props.onBrowse(e,t,n),e!==this.getFolderId()&&this.props.actions.gallery.deselectFiles()}handleSetPage(e){this.handleBrowse(this.getFolderId(),this.props.fileId,Object.assign({},this.props.query,{page:e}))}handleDoSearch(e){this.props.actions.gallery.deselectFiles(),this.props.actions.queuedFiles.purgeUploadQueue(),this.props.actions.files.readFiles(),this.handleBrowse(e.currentFolderOnly?this.getFolderId():0,null,{filter:e,view:this.props.query.view})}handleClearSearch(e){this.props.actions.displaySearch.closeSearch(),this.props.actions.gallery.deselectFiles(),this.props.actions.queuedFiles.purgeUploadQueue(),this.props.actions.files.readFiles(),this.handleOpenFolder(e,this.props.folder)}handleSort(e){this.handleBrowse(this.getFolderId(),this.props.fileId,{...this.props.query,sort:e,limit:void 0,page:void 0})}handleViewChange(e){this.handleBrowse(this.getFolderId(),this.props.fileId,Object.assign({},this.props.query,{view:e}))}createEndpoint(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return a.default.createEndpointFetcher(Object.assign({},e,t?{defaultData:{SecurityID:this.props.securityId}}:{}))}handleBackButtonClick(e){e.preventDefault(),this.props.actions.gallery.deselectFiles(),this.props.folder?this.handleOpenFolder(this.props.folder.parentId||0):this.handleOpenFolder(0)}resetFile(e){e.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(e.queuedId),this.props.fileId===e.id&&this.props.resetFileDetails(this.getFolderId(),e.id,this.props.query)}handleFolderIcon(){this.handleOpenFile(this.getFolderId())}handleOpenFile(e){this.handleBrowse(this.getFolderId(),e,this.props.query)}handleSubmitEditor(e,t,n){let r=null;if("action_insert"===t&&"select"===this.props.type){const t=this.getFiles().find((t=>t.id===parseInt(e.ID,10)));return this.props.onInsertMany(null,[t]),Promise.resolve()}if("function"==typeof this.props.onSubmitEditor){const o=this.findFile(this.props.fileId);r=this.props.onSubmitEditor(e,t,n,o)}else r=n();if(!r)throw new Error("Promise was not returned for submitting");return r.then((e=>("action_createfolder"===t&&"admin"===this.props.type&&this.handleOpenFile(e.record.id),this.props.actions.files.readFiles().then((()=>("action_createfolder"===t&&"admin"!==this.props.type&&this.handleOpenFolder(this.getFolderId()),e))))))}handleCloseFile(){this.handleBrowse(this.getFolderId(),null,this.props.query)}handleOpenFolder(e){const{page:t,filter:n,...r}=this.props.query;this.handleBrowse(e,null,r)}handleDelete(e){this.props.actions.confirmDeletion.deleting();const t=e.map((e=>{const t=this.findFile(e);if(!t)throw new Error(`File selected for deletion cannot be found: ${e}`);return t.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(t.queuedId),t})).map((e=>e.id)),n=this.props.folder?this.props.folder.id:0;return this.props.actions.files.deleteFiles(t,n).then((e=>{let{data:{deleteFiles:r}}=e;this.handleBrowse(n,null,this.props.query);return this.props.queuedFiles.items.filter((e=>t.includes(e.id))).forEach((e=>{e.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)})),this.props.actions.files.readFiles(),r})).then((t=>{const n=t.filter((e=>e)).length;return n!==e.length?this.props.actions.toasts.error(l.default.sprintf(l.default._t("AssetAdmin.BULK_ACTIONS_DELETE_FAIL","%s folders/files were successfully deleted, but %s files were not able to be deleted."),n,e.length-n)):(this.props.actions.toasts.success(l.default.sprintf(l.default._t("AssetAdmin.BULK_ACTIONS_DELETE_SUCCESS","%s folders/files were successfully deleted."),n)),this.props.actions.gallery.deselectFiles()),t})).finally(this.props.actions.confirmDeletion.reset)}doUnpublish(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=e.map((e=>{const t=this.findFile(e);if(!t)throw new Error(`File selected for unpublishing cannot be found: ${e}`);if("folder"===t.type)throw new Error("Cannot unpublish folders");return t})).map((e=>e.id));return this.props.actions.files.unpublishFiles(n,t).then((e=>{let{data:{unpublishFiles:t}}=e;const n=t.filter((e=>"File"===e.__typename)),r=t.filter((e=>"PublicationNotice"===e.__typename&&"HAS_OWNERS"===e.noticeType)),o=n.map((e=>(this.resetFile(e),e))),i=r.slice(0,4),s=r.slice(5),a=i.map((e=>e.message));if(s.length&&a.push(l.default.inject(l.default._t("AssetAdmin.BULK_OWNED_WARNING_REMAINING","And {count} other file(s)"),{count:s.length})),i.length){const e=[l.default.inject(l.default._t("AssetAdmin.BULK_OWNED_WARNING_HEADING","{count} file(s) are being used by other published content."),{count:r.length}),a.join("\n"),l.default._t("AssetAdmin.BULK_OWNED_WARNING_FOOTER","Unpublishing will only remove files from the published version of the content. They will remain on the draft version. Unpublish anyway?")];if(confirm(e.join("\n\n"))){const e=r.reduce(((e,t)=>e.concat(t.ids)),[]);return this.doUnpublish(e,!0).then((e=>o.concat(e)))}}return o}))}handleUnpublish(e){return this.doUnpublish(e).then((e=>{const{fileId:t}=this.props;this.props.actions.files.readFiles().then((()=>{t&&e.find((e=>e.id===t))&&this.props.resetFileDetails(this.getFolderId(),t,this.props.query)}))}))}doPublish(e){const t=e.map((e=>{const t=this.findFile(e);if(!t)throw new Error(`File selected for publishing cannot be found: ${e}`);if("folder"===t.type)throw new Error("Cannot publish folders");return t})).map((e=>e.id));return this.props.actions.files.publishFiles(t).then((e=>{let{data:{publishFiles:t}}=e;return t.filter((e=>"File"===e.__typename)).map((e=>(this.resetFile(e),e)))}))}findFile(e){return this.getFiles().find((t=>t.id===parseInt(e,10)))}handleUpload(){}handleUploadQueue(){this.props.fileId&&this.props.actions.files.readFiles()}handleCreateFolder(){this.props.onBrowse(this.getFolderId(),null,this.props.query,S.default.ACTIONS.CREATE_FOLDER)}handleMoveFilesSuccess(e,t){this.props.queuedFiles.items.filter((e=>t.includes(e.id))).forEach((e=>{e.queuedId&&this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)})),this.props.actions.gallery.deselectFiles(),this.props.actions.files.readFiles()}renderGallery(){const e=this.props.sectionConfig,t=e.createFileEndpoint.url,n=e.createFileEndpoint.method,o=this.props.query&&parseInt(this.props.query.limit||e.limit,10),i=this.props.query&&parseInt(this.props.query.page||1,10),s=this.props.query&&this.props.query.sort,a=this.props.query&&this.props.query.view,l=this.props.query.filter||{};return r.default.createElement(m.default,{files:this.getFiles(),fileId:this.props.fileId,folderId:this.getFolderId(),folder:this.props.folder,type:this.props.type,limit:o,page:i,totalCount:this.props.filesTotalCount,view:a,filters:l,graphQLErrors:this.props.graphQLErrors,createFileApiUrl:t,createFileApiMethod:n,onInsertMany:this.props.onInsertMany,onPublish:this.doPublish,onUnpublish:this.doUnpublish,onOpenFile:this.handleOpenFile,onOpenFolder:this.handleOpenFolder,onSuccessfulUpload:this.handleUpload,onSuccessfulUploadQueue:this.handleUploadQueue,onCreateFolder:this.handleCreateFolder,onMoveFilesSuccess:this.handleMoveFilesSuccess,onClearSearch:this.handleClearSearch,onSort:this.handleSort,onSetPage:this.handleSetPage,onViewChange:this.handleViewChange,sort:s,sectionConfig:e,loading:this.props.loading,maxFilesSelect:this.props.maxFiles,dialog:this.props.dialog})}renderEditor(){const{sectionConfig:e,viewAction:t,type:n,fileId:o,dialog:i,requireLinkText:s,fileSelected:a}=this.props,{schemaUrl:l,targetId:u}=(0,I.default)({config:e,viewAction:t,folderId:this.getFolderId(),type:n,fileId:o});if(!l)return null;const d=[];s&&d.push({name:"requireLinkText",value:!0}),a&&d.push({name:"fileSelected",value:!0});const c={dialog:i,fileId:u,schemaUrl:l,schemaUrlQueries:d,onClose:this.handleCloseFile,onSubmit:this.handleSubmitEditor,onUnpublish:this.handleUnpublish,addToCampaignSchemaUrl:e.form.addToCampaignForm.schemaUrl};return r.default.createElement(h.default,c)}render(){const{folder:e,folderId:t,query:n,getUrl:o,type:i,maxFiles:s,toolbarChildren:a}=this.props,l=Boolean(t||(0,v.hasFilters)(n.filter)),d=this.props.sectionConfig.form.fileSearchForm.schemaUrl,c=n.filter||{},p=(0,u.default)("fill-height asset-admin","select"===i&&{"asset-admin--single-select":1===s,"asset-admin--multi-select":1!==s}),f=(0,v.hasFilters)(n.filter)||this.props.showSearch,h=this.props.actions.displaySearch?this.props.actions.displaySearch.toggleSearch:void 0,m={folder:e,query:n,getUrl:o,onBrowse:this.handleBrowse,onFolderIcon:this.handleFolderIcon};return r.default.createElement("div",{className:p},r.default.createElement(g.default,{showBackButton:l,onBackButtonClick:this.handleBackButtonClick},r.default.createElement(x.default,m),r.default.createElement("div",{className:"asset-admin__toolbar-extra pull-xs-right fill-width vertical-align-items"},r.default.createElement(b.default,{toggled:f,onToggle:h}),a)),f&&r.default.createElement(v.default,{onSearch:this.handleDoSearch,id:"AssetSearchForm",formSchemaUrl:d,onHide:this.handleClearSearch,displayBehavior:"HIDEABLE",filters:c,name:"name"}),r.default.createElement("div",{className:"flexbox-area-grow fill-width fill-height gallery"},this.renderGallery(),this.renderEditor()),r.default.createElement(A.default,{onConfirm:this.handleDelete}))}}t.Component=R,R.propTypes={dialog:o.default.bool,sectionConfig:w.default,fileId:o.default.number,folderId:o.default.number,resetFileDetails:o.default.func,onBrowse:o.default.func,onReplaceUrl:o.default.func,onInsertMany:o.default.func,graphQLErrors:o.default.arrayOf(o.default.string),getUrl:o.default.func,query:o.default.shape({sort:o.default.string,limit:o.default.oneOfType([o.default.number,o.default.string]),page:o.default.oneOfType([o.default.number,o.default.string]),filter:o.default.object}),onSubmitEditor:o.default.func,type:o.default.oneOf(["insert-media","insert-link","select","admin"]),files:o.default.array,queuedFiles:o.default.shape({items:o.default.array.isRequired}),filesTotalCount:o.default.number,folder:o.default.shape({id:o.default.number,title:o.default.string,parents:o.default.array,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool}),loading:o.default.bool,actions:o.default.object,maxFiles:o.default.number,fileSelected:o.default.bool},R.defaultProps={type:"admin",query:{sort:"",limit:null,page:0,filter:{}},maxFiles:null};var T=(0,s.compose)((0,i.connect)((function(e,t){const{formSchema:n}=e.assetAdmin.modal;return{securityId:e.config.SecurityID,queuedFiles:e.assetAdmin.queuedFiles,showSearch:e.assetAdmin.displaySearch.isOpen,type:n&&n.type||t.type}}),(function(e){return{actions:{gallery:(0,s.bindActionCreators)(d,e),toasts:(0,s.bindActionCreators)(c,e),displaySearch:(0,s.bindActionCreators)(f,e),queuedFiles:(0,s.bindActionCreators)(p,e),confirmDeletion:(0,s.bindActionCreators)(O,e)}}})),(0,F.injectGraphql)("ReadFilesQuery"),E.default,_.default,C.default,y.withApollo)(R);t.default=T},5809:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(7363)),o=l(n(7086)),i=l(n(4754)),s=n(7803),a=n(1075);function l(e){return e&&e.__esModule?e:{default:e}}const u=e=>{let{folder:t,query:n,getUrl:o,onBrowse:l,onFolderIcon:u}=e;const d=function(){for(var e=arguments.length,t=new Array(e),n=0;n{e.preventDefault(),l(...t)}},c=function(){return o&&o(...arguments)},p=[{text:i.default._t("AssetAdmin.FILES","Files"),href:c(0,null,n),onClick:d(0,null,n)}];if(t&&t.id){t.parents&&t.parents.forEach((e=>{p.push({text:e.title,href:c(e.id,null,n),onClick:d(e.id,null,n)})}));const e=[{className:"icon font-icon-edit-list",onClick:e=>{e.preventDefault(),u()}}];t.hasRestrictedAccess&&e.push({nodeName:"FileStatusIcon",hasRestrictedAccess:!0}),p.push({text:t.title,href:c(t.id,null,n),onClick:d(t.id,null,n),icons:e})}return(0,a.hasFilters)(n.filter)&&p.push({text:i.default._t("LeftAndMain.SEARCHRESULTS","Search results")}),r.default.createElement(s.Component,{multiline:!0,crumbs:p})};u.propTypes={onBrowse:o.default.func,onFolderIcon:o.default.func,getUrl:o.default.func,query:o.default.shape({sort:o.default.string,limit:o.default.oneOfType([o.default.number,o.default.string]),page:o.default.oneOfType([o.default.number,o.default.string]),filter:o.default.object,view:o.default.string}),folder:o.default.shape({id:o.default.number,title:o.default.string,parents:o.default.array,parentId:o.default.number,canView:o.default.bool,canEdit:o.default.bool})};var d=u;t.default=d},6290:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Component=void 0,t.buildUrl=y,t.default=void 0;var r=m(n(7363)),o=n(6188),i=n(1624),s=m(n(7432)),a=f(n(7056)),l=n(3069),u=f(n(7902)),d=f(n(8264)),c=f(n(9900)),p=n(4845);function f(e){return e&&e.__esModule?e:{default:e}}function h(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(h=function(e){return e?n:t})(e)}function m(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=h(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}const g=Object.keys(d.default.ACTIONS).map((e=>d.default.ACTIONS[e]));function y(e){let{base:t,folderId:n,fileId:r,query:o,action:i}=e;if(i&&-1===g.indexOf(i))throw new Error(`Invalid action provided: ${i}`);let s=null;s=r?(0,p.joinUrlPaths)(t,`show/${n}/${d.default.ACTIONS.EDIT_FILE}/${r}`):n?(0,p.joinUrlPaths)(t,`show/${n}`):t,i===d.default.ACTIONS.CREATE_FOLDER&&(s=(0,p.joinUrlPaths)(t,`show/${n||0}/${i}`));return o&&Object.keys(o).length>0&&(s=`${s}?${u.default.stringify(o)}`),s}class v extends r.Component{constructor(e){super(e),this.handleBrowse=this.handleBrowse.bind(this),this.handleReplaceUrl=this.handleReplaceUrl.bind(this),this.handleResetDetails=this.handleResetDetails.bind(this),this.getUrl=this.getUrl.bind(this)}getUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:d.default.ACTIONS.EDIT_FILE;const o=parseInt(e||0,10),i=parseInt(t||0,10),s=o!==this.getFolderId(),a=Object.assign({},n);return(s||a.page<=1)&&delete a.page,y({base:`/${this.props.sectionConfig.reactRoutePath}`,folderId:o,fileId:i,query:a,action:r})}getFolderId(){return this.props.router.params&&this.props.router.params.folderId?parseInt(this.props.router.params.folderId,10):0}getFileId(){return this.props.router.params&&this.props.router.params.fileId?parseInt(this.props.router.params.fileId,10):0}getViewAction(){return this.props.router.params&&this.props.router.params.viewAction?this.props.router.params.viewAction:d.default.ACTIONS.EDIT_FILE}getSectionProps(){return{sectionConfig:this.props.sectionConfig,type:"admin",folderId:this.getFolderId(),viewAction:this.getViewAction(),fileId:this.getFileId(),query:this.getQuery(),getUrl:this.getUrl,onBrowse:this.handleBrowse,onReplaceUrl:this.handleReplaceUrl,resetFileDetails:this.handleResetDetails}}getQuery(){return(0,l.decodeQuery)(this.props.router.location.search)}handleBrowse(e,t,n,r){const o=this.getUrl(e,t,n,r);this.props.router.navigate(o)}handleReplaceUrl(e,t,n,r){const o=this.getUrl(e,t,n,r);this.props.router.navigate(o,{replace:!0})}handleResetDetails(e,t,n){const r=this.getUrl(e,t,n),o=this.getUrl(e,null,n);this.props.router.navigate(o,{replace:!0,state:{reset:!0,resetPath:r}})}render(){const e=this.props.router.location.state;return e&&e&&e.reset?r.default.createElement(o.Navigate,{to:e.resetPath,replace:!0}):this.props.sectionConfig?r.default.createElement(a.default,this.getSectionProps()):null}}t.Component=v,v.propTypes={sectionConfig:c.default,router:s.routerPropTypes};var b=(0,s.default)((0,i.connect)((function(e){return{sectionConfig:e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name))}}))(v));t.default=b},1746:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.AssetAdminStateRouter=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=d(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=u(n(7086)),i=n(1624),s=n(6290),a=u(n(8264)),l=n(4478);function u(e){return e&&e.__esModule?e:{default:e}}function d(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(d=function(e){return e?n:t})(e)}const c={folderId:null,fileId:null,query:{},action:a.default.ACTIONS.EDIT_FILE};class p extends r.Component{constructor(e){super(e),this.handleBrowse=this.handleBrowse.bind(this),this.getUrl=this.getUrl.bind(this),this.state=Object.assign({},c,{folderId:e.folderId})}getUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.default.ACTIONS.EDIT_FILE;const o=parseInt(e||0,10),i=parseInt(t||0,10),l=this.getFolderId(),u=o!==l&&null!==l,d=Object.assign({},n);return(u||d.page<=1)&&delete d.page,(0,s.buildUrl)({base:this.props.sectionConfig.reactRoutePath,folderId:o,fileId:i,query:d,action:r})}getFolderId(){return null===this.state.folderId?null:parseInt(this.state.folderId||0,10)}getFileId(){return parseInt(this.state.fileId||this.props.fileId||0,10)}getViewAction(){return this.state.action||a.default.ACTIONS.EDIT_FILE}getSectionProps(){const e=Object.assign({},this.props,{folderId:this.getFolderId(),fileId:this.getFileId(),viewAction:this.getViewAction(),query:this.state.query,getUrl:this.getUrl,onBrowse:this.handleBrowse});return delete e.Component,e}handleBrowse(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:a.default.ACTIONS.EDIT_FILE;if(r&&-1===Object.values(a.default.ACTIONS).indexOf(r))throw new Error(`Invalid action provided: ${r}`);this.state.fileId!==t&&this.props.actions.resetFormStack(),this.setState({folderId:e,fileId:t,query:n,action:r})}render(){const e=this.getSectionProps(),t=this.props.Component;return r.default.createElement(t,e)}}function f(e){return{actions:{resetFormStack:()=>e((0,l.resetFormStack)())}}}t.AssetAdminStateRouter=p,p.propTypes={Component:o.default.elementType,sectionConfig:o.default.shape({url:o.default.string.isRequired}).isRequired,fileId:o.default.number};var h=function(e){return(0,i.connect)((function(t){const n=t.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));return{Component:e,sectionConfig:n}}),f)(p)};t.default=h},7882:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=v(n(7363)),o=n(2827),i=n(1624),s=v(n(7086)),a=n(7588),l=n(6648),u=y(n(9194)),d=y(n(602)),c=v(n(4754)),p=v(n(4744)),f=v(n(4764)),h=v(n(5482)),m=n(4267);function g(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(g=function(e){return e?n:t})(e)}function y(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=g(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function v(e){return e&&e.__esModule?e:{default:e}}function b(){return b=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{loading:t,LoadingComponent:n,transition:o,files:i,descendantFileCounts:s,onModalClose:a,onCancel:l,onConfirm:u}=e,p=null,g=[{label:c.default._t("AssetAdmin.DELETE","Delete"),handler:()=>u(i.map((e=>{let{id:t}=e;return t}))),color:"danger"},{label:c.default._t("AssetAdmin.CANCEL","Cancel"),handler:l}];if(t)p=r.default.createElement(n,null);else{const e=Object.keys(s).length,t=(0,m.getFolderDescendantFileTotals)(i,s),n=(0,m.getFileTotalItems)(i),o={folderCount:e,folderDescendantFileTotals:t,fileTotalItems:n};p=r.default.createElement(h.default,o),(t.totalItems||n)&&(g=[{label:c.default._t("AssetAdmin.CANCEL","Cancel"),handler:l,color:"primary"},{label:c.default._t("AssetAdmin.DELETE","Delete"),handler:()=>u(i.map((e=>{let{id:t}=e;return t}))),color:"danger"}])}const y=![d.CANCELING,d.DELETING].includes(o);return r.default.createElement(f.default,{body:p,isOpen:y,actions:g,onCancel:l,onClosed:a})};t.Component=E,E.propTypes={loading:s.default.bool.isRequired,LoadingComponent:s.default.elementType,transition:s.default.oneOf(["canceling","deleting",!1]),files:s.default.arrayOf(p.default),descendantFileCounts:s.default.object,onCancel:s.default.func.isRequired,onModalClose:s.default.func.isRequired,onConfirm:s.default.func.isRequired};const _=(0,o.compose)((0,l.inject)(["Loading"],(e=>({LoadingComponent:e}))),(0,l.injectGraphql)("readDescendantFileCountsQuery"),a.withApollo)(E),C={onCancel:u.cancel,onModalClose:u.modalClose};var S=(0,o.compose)((0,i.connect)((e=>{let{assetAdmin:{confirmDeletion:t}}=e;return t}),C))((e=>{let{showConfirmation:t,files:n,...o}=e;return t&&n.length>0?r.default.createElement(_,b({},o,{files:n})):null}));t.default=S},5482:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=l(n(4754)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=a(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=l(n(7086)),s=n(4267);function a(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(a=function(e){return e?n:t})(e)}function l(e){return e&&e.__esModule?e:{default:e}}const u=e=>{let{folderCount:t,folderDescendantFileTotals:n,fileTotalItems:i}=e;return o.default.createElement(o.Fragment,null,o.default.createElement("p",null,((e,t,n)=>{const o=t.totalCount+n;return o>0?r.default.sprintf(r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_ITEMS_CONFIRM",["You're about to delete %s file(s) which may be used in your site's content.","Carefully check the file usage on the files before deleting the folder."].join(" ")),o):1===e?r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_FOLDER_CONFIRM","Are you sure you want to delete this folder?"):r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_FOLDERS_CONFIRM","Are you sure you want to delete these folders?")})(t,n,i)),(n.totalItems>0||i>0)&&o.default.createElement("p",null,r.default._t("AssetAdmin.BULK_ACTIONS_DELETE_WARNING","Ensure files are removed from content areas prior to deleting them, otherwise they will appear as broken links.")))};u.propTypes={folderCount:i.default.number,folderDescendantFileTotals:s.descendantFileTotalsShape,fileTotalItems:i.default.number},u.defaultProps={folderCount:0,folderDescendantFileTotals:{totalItems:0,totalCount:0},fileTotalItems:0};var d=u;t.default=d},4764:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=a(n(4754)),o=a(n(7363)),i=a(n(7086)),s=n(8127);function a(e){return e&&e.__esModule?e:{default:e}}const l=e=>{let{isOpen:t,body:n,onCancel:i,actions:a}=e;return o.default.createElement(s.Modal,{isOpen:t,toggle:i},o.default.createElement(s.ModalHeader,{toggle:i},r.default._t("AssetAdmin.CONFIRM_FILE_DELETION","Confirm deletion")),o.default.createElement(s.ModalBody,null,n),o.default.createElement(s.ModalFooter,null,a.map((e=>{let{label:t,handler:n,color:r}=e;return o.default.createElement(s.Button,{key:t,color:r,onClick:n},t)}))))};l.propTypes={isOpen:i.default.bool.isRequired,body:i.default.node.isRequired,onCancel:i.default.func.isRequired,actions:i.default.arrayOf(i.default.shape({label:i.default.string.isRequired,handler:i.default.func,color:i.default.string}))};var u=l;t.default=u},4267:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getFolderDescendantFileTotals=t.getFileTotalItems=t.descendantFileTotalsShape=void 0;var r,o=(r=n(7086))&&r.__esModule?r:{default:r};const i=e=>{let{type:t}=e;return"folder"===t},s=e=>!i(e),a={totalItems:0,totalCount:0},l=o.default.shape({totalItems:o.default.number,totalCount:o.default.number});t.descendantFileTotalsShape=l;t.getFolderDescendantFileTotals=(e,t)=>{return e.filter(i).reduce((n=t,(e,t)=>{let{id:r}=t;return n[r]>0?{totalItems:e.totalItems+1,totalCount:e.totalCount+n[r]}:e}),a);var n};t.getFileTotalItems=e=>e.filter(s).length},2234:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=C(n(4754)),o=n(1624),i=n(2827),s=_(n(7363)),a=C(n(8264)),l=C(n(8238)),u=C(n(4912)),d=_(n(5910)),c=C(n(4744)),p=C(n(7086)),f=n(6648),h=_(n(9194)),m=_(n(4478)),g=_(n(1827)),y=C(n(7820)),v=C(n(1872)),b=C(n(7902));function E(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(E=function(e){return e?n:t})(e)}function _(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=E(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function C(e){return e&&e.__esModule?e:{default:e}}function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{name:n,value:r}=t;return{...e,[n]:r}}),{});return v.default.format({...r,pathname:`${r.path}/${n}`,search:b.default.stringify(o)})}handleAction(e){switch(e.currentTarget.name){case"action_addtocampaign":this.openModal(),e.preventDefault();break;case"action_replacefile":this.replaceFile(),e.preventDefault();break;case"action_downloadfile":this.downloadFile(),e.preventDefault();break;case"action_delete":this.props.actions.confirmDeletion.confirm([this.props.file]),e.preventDefault()}}handleCancelKeyDown(e){e.keyCode!==a.default.SPACE_KEY_CODE&&e.keyCode!==a.default.RETURN_KEY_CODE||this.handleClose(e)}handleSubmit(e,t,n){const{showingSubForm:r,actions:o}=this.props;return"function"==typeof this.props.onSubmit?this.props.onSubmit(e,t,n).finally((()=>{r&&-1!==["action_save","action_publish"].indexOf(t)&&o.modal.popFormStackEntry()})):n()}handleClose(e){const{showingSubForm:t,onClose:n,actions:r}=this.props;t?r.modal.popFormStackEntry():(n(),this.closeModal()),e&&e.preventDefault()}openModal(){this.setState({openModal:!0})}closeModal(){this.setState({openModal:!1})}replaceFile(){const e=document.querySelector(".dz-input-PreviewImage");e&&e.click()}downloadFile(){!function(e,t){const n=document.createElement("a");n.download=t,n.href=e,document.body.appendChild(n),n.click(),document.body.removeChild(n)}(this.props.file.url,this.props.file.name),document.getElementById("Form_fileEditForm_PopoverActions").focus()}handleLoadingError(e){this.setState({loadingForm:!1,loadingError:e.errors[0]})}handleLoadingSuccess(){this.setState({loadingForm:!1,loadingError:null})}handleFetchingSchema(){this.setState({loadingForm:!0})}editorHeader(e){let{SchemaComponent:t,...n}=e;const{dialog:r,nextType:o,showingSubForm:i,actions:a,file:l}=this.props,u=this.getFormSchemaUrl();let d=g.buttonStates.SWITCH;r&&l&&"folder"!==l.type&&(d=i?g.buttonStates.ALWAYS_BACK:g.buttonStates.ONLY_BACK);const{formid:c}=n,p=o&&l&&"folder"!==l.type?()=>{a.modal.stashFormValues(c,u),a.modal.pushFormStackEntry(o)}:void 0,f={onCancel:this.handleClose,showButton:d,onDetails:p};return s.default.createElement(g.default,f,s.default.createElement(t,n))}createFn(e,t){if("AssetEditorHeaderFieldGroup"===t.name){const n=this.editorHeader,r={key:t.id,SchemaComponent:e,...t};return s.default.createElement(n,r)}return s.default.createElement(e,S({key:t.id},t))}render(){const e=this.getFormSchemaUrl(),t=`${this.props.addToCampaignSchemaUrl}/${this.props.fileId}`,n=(0,y.default)("panel","form--no-dividers","editor",{"editor--asset-dropzone--disable":!this.props.enableDropzone},this.props.className);let o=null;if(this.state.loadingError){let e=this.state.loadingError.value;404===this.state.loadingError.code&&(e=r.default._t("AssetAdmin.FILE_MISSING","File cannot be found")),e||(e=r.default._t("Admin.UNKNOWN_ERROR","An unknown error has occurred")),o=s.default.createElement("div",{className:"editor__file-preview-message--file-missing"},e)}const i=r.default._t("Admin.ADD_TO_CAMPAIGN","Add to campaign"),a=this.props.loadingComponent,{file:d}=this.props;return s.default.createElement("div",{className:n},s.default.createElement("div",{className:"editor__details fill-height"},s.default.createElement(l.default,{identifier:"AssetAdmin.EditForm",schemaUrl:e,onSubmit:this.handleSubmit,onAction:this.handleAction,onLoadingSuccess:this.handleLoadingSuccess,onLoadingError:this.handleLoadingError,onFetchingSchema:this.handleFetchingSchema,createFn:this.createFn,file:d}),o,s.default.createElement(u.default,{title:i,identifier:"AssetAdmin.AddToCampaign",isOpen:this.state.openModal,onClosed:this.closeModal,schemaUrl:t,bodyClassName:"modal__dialog",responseClassBad:"modal__response modal__response--error",responseClassGood:"modal__response modal__response--good"}),this.state.loadingForm&&s.default.createElement(a,null)))}}t.Component=w,w.propTypes={file:c.default,className:p.default.string,fileId:p.default.number.isRequired,enableDropzone:p.default.bool,dialog:p.default.bool,onClose:p.default.func.isRequired,onSubmit:p.default.func.isRequired,schemaUrl:p.default.string.isRequired,schemaUrlQueries:p.default.arrayOf(p.default.shape({name:p.default.string,value:p.default.any})),addToCampaignSchemaUrl:p.default.string,actions:p.default.object,showingSubForm:p.default.bool,nextType:p.default.string};var F=(0,i.compose)((0,f.inject)(["Loading"],(e=>({loadingComponent:e})),(()=>"AssetAdmin.Editor")),(0,o.connect)((function(e){let{assetAdmin:{gallery:t,modal:n}}=e;return{enableDropzone:t.enableDropzone,nextType:n.formSchema&&n.formSchema.nextType,showingSubForm:n.formSchemaStack&&n.formSchemaStack.length>1}}),(function(e){return{actions:{unsavedForms:(0,i.bindActionCreators)(d,e),confirmDeletion:(0,i.bindActionCreators)(h,e),modal:(0,i.bindActionCreators)(m,e)}}})),(0,f.injectGraphql)("ReadOneFileQuery"))(w);t.default=F},1827:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.buttonStates=void 0;var r=u(n(7363)),o=u(n(4754)),i=u(n(5017)),s=u(n(5780)),a=u(n(7086)),l=u(n(7820));function u(e){return e&&e.__esModule?e:{default:e}}const d=e=>t=>{t.preventDefault(),e&&e()},c="ALWAYS_BACK",p="ALWAYS_CANCEL",f="SWITCH",h="ONLY_BACK",m="ONLY_CANCEL",g={ALWAYS_BACK:c,ALWAYS_CANCEL:p,SWITCH:f,ONLY_BACK:h,ONLY_CANCEL:m,NONE:"NONE"};t.buttonStates=g;const y=e=>{let{onCancel:t,onDetails:n,showButton:a,children:u}=e;const g=d(t),y=[c,f,h].indexOf(a)>=0,v=[p,f,m].indexOf(a)>=0,b=(0,l.default)("editor-header__back-button","btn--icon-xl",{"editor-header__back-button--md-below":[f,h].indexOf(a)>=0}),E=(0,l.default)("editor-header__cancel-button","btn--icon-xl",{"editor-header__cancel-button--lg-above":[f,m].indexOf(a)>=0});return r.default.createElement("div",{className:"editor-header"},y&&r.default.createElement(s.default,{className:b,onClick:g}),r.default.createElement("div",{className:"editor-header__field"},u),n&&r.default.createElement(i.default,{onClick:d(n),icon:"edit-list",className:"editor-header__edit",outline:!0},o.default._t("AssetAdmin.DETAILS","Details")),v&&r.default.createElement("div",null,r.default.createElement(i.default,{icon:"cancel",className:E,noText:!0,onClick:g},o.default._t("AssetAdmin.CANCEL"))))};y.propTypes={onCancel:a.default.func,onDetails:a.default.func,showButton:a.default.oneOf(Object.keys(g).map((e=>g[e]))),children:a.default.node};var v=y;t.default=v},4288:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.galleryViewPropTypes=t.galleryViewDefaultProps=t.default=t.Component=void 0;var r=D(n(5311)),o=D(n(4754)),i=x(n(7363)),s=D(n(394)),a=n(1624),l=n(2827),u=D(n(1856)),d=D(n(1783)),c=D(n(3298)),p=D(n(8697)),f=D(n(8264)),h=D(n(1971)),m=x(n(3669)),g=x(n(5123)),y=x(n(2986)),v=x(n(9194)),b=D(n(4093)),E=n(7588),_=n(8088),C=D(n(9900)),S=D(n(1338)),w=n(6648),F=D(n(7086)),O=D(n(4065)),I=D(n(35));function A(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(A=function(e){return e?n:t})(e)}function x(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=A(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function D(e){return e&&e.__esModule?e:{default:e}}const P={DELETE:"delete",EDIT:"edit",MOVE:"move",PUBLISH:"publish",UNPUBLISH:"unpublish",INSERT:"insert",ADMIN:"admin",SELECT:"select"};class M extends i.Component{constructor(e){super(e),this.handleOpenFolder=this.handleOpenFolder.bind(this),this.handleOpenFile=this.handleOpenFile.bind(this),this.handleSelect=this.handleSelect.bind(this),this.handleAddedFile=this.handleAddedFile.bind(this),this.handlePreviewLoaded=this.handlePreviewLoaded.bind(this),this.handleCancelUpload=this.handleCancelUpload.bind(this),this.handleRemoveErroredUpload=this.handleRemoveErroredUpload.bind(this),this.handleUploadProgress=this.handleUploadProgress.bind(this),this.handleSending=this.handleSending.bind(this),this.handleSort=this.handleSort.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.handleSuccessfulUpload=this.handleSuccessfulUpload.bind(this),this.handleQueueComplete=this.handleQueueComplete.bind(this),this.handleFailedUpload=this.handleFailedUpload.bind(this),this.handleClearSearch=this.handleClearSearch.bind(this),this.handleEnableDropzone=this.handleEnableDropzone.bind(this),this.handleMoveFiles=this.handleMoveFiles.bind(this),this.handleBulkEdit=this.handleBulkEdit.bind(this),this.handleBulkPublish=this.handleBulkPublish.bind(this),this.handleBulkUnpublish=this.handleBulkUnpublish.bind(this),this.handleBulkMove=this.handleBulkMove.bind(this),this.handleBulkInsert=this.handleBulkInsert.bind(this),this.handleBeginSelection=this.handleBeginSelection.bind(this),this.handleGroupSelect=this.handleGroupSelect.bind(this),this.handleClearSelection=this.handleClearSelection.bind(this),this.toggleSelectConcat=this.toggleSelectConcat.bind(this),this.getSelectableFiles=this.getSelectableFiles.bind(this)}componentDidMount(){this.initSortDropdown(),window.addEventListener("keydown",this.toggleSelectConcat),window.addEventListener("keyup",this.toggleSelectConcat)}componentWillReceiveProps(e){if("tile"!==e.view){this.getSortElement().off("change")}this.props.folderId!==e.folderId&&e.actions.queuedFiles.purgeUploadQueue()}componentDidUpdate(){this.initSortDropdown()}componentWillUnmount(){window.removeEventListener("keydown",this.toggleSelectConcat),window.removeEventListener("keyup",this.toggleSelectConcat)}getSortElement(){return(0,r.default)(s.default.findDOMNode(this)).find(".gallery__sort .dropdown")}getSearchMessage(e){const t=[];e.name&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEKEYWORDS","with keywords '{name}'")),e.lastEditedFrom&&e.lastEditedTo?t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEEDITEDBETWEEN","last edited between '{lastEditedFrom}' and '{lastEditedTo}'")):e.lastEditedFrom?t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEEDITEDFROM","last edited after '{lastEditedFrom}'")):e.lastEditedTo&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGEEDITEDTO","last edited before '{lastEditedTo}'")),e.appCategory&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGECATEGORY","categorised as '{appCategory}'")),e.currentFolderOnly&&this.props.folder.title&&t.push(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGELIMIT","limited to the folder '{folder}'"));const n=[t.slice(0,-1).join(`${o.default._t("AssetAdmin.JOIN",",")} `),t.slice(-1)].filter((e=>e)).join(` ${o.default._t("AssetAdmin.JOINLAST","and")} `);if(""===n)return"";const r={parts:o.default.inject(n,Object.assign({folder:this.props.folder.title},e,{appCategory:e.appCategory?e.appCategory.toLowerCase():void 0}))};return o.default.inject(o.default._t("AssetAdmin.SEARCHRESULTSMESSAGE","Search results {parts}"),r)}getSelection(e,t){const n=this.getSelectableFiles(),r=[e,t].map((e=>n.findIndex((t=>t.id===e)))).filter((e=>-1!==e)).sort(((e,t)=>e-t));if(2!==r.length)return r.map((e=>n[e].id));const[o,i]=r;return n.filter(((e,t)=>t>=o&&t<=i)).map((e=>e.id))}getSelectableFiles(){const e=this.props.files.filter((e=>e.id));return this.props.type===P.SELECT?e.filter((e=>"folder"!==e.type)):e}handleBulkInsert(e,t){this.props.onInsertMany(e,t)}handleBulkPublish(e,t){const n=t.map((e=>e.id));return n.length?(this.props.actions.gallery.setLoading(!0),this.props.onPublish(n).then((e=>{this.props.actions.gallery.setLoading(!1),this.props.actions.toasts.success(o.default.sprintf(o.default._t("AssetAdmin.BULK_ACTIONS_PUBLISH_SUCCESS","%s folders/files were successfully published."),e.length)),this.props.actions.gallery.deselectFiles()}))):(this.props.actions.gallery.deselectFiles(),Promise.resolve(!0))}handleBulkUnpublish(e,t){const n=t.filter((e=>e.published)).map((e=>e.id));return n.length?(this.props.actions.gallery.setLoading(!0),this.props.onUnpublish(n).then((e=>{this.props.actions.gallery.setLoading(!1),this.props.actions.toasts.success(o.default.sprintf(o.default._t("AssetAdmin.BULK_ACTIONS_UNPUBLISH_SUCCESS","%s folders/files were successfully unpublished."),e.length)),this.props.actions.gallery.deselectFiles()}))):(this.props.actions.gallery.deselectFiles(),Promise.resolve(!0))}initSortDropdown(){if("tile"===this.props.view){const e=this.getSortElement();e.chosen({allow_single_deselect:!0,disable_search_threshold:20}),e.off("change"),e.on("change",(()=>e.find(":selected")[0].click()))}}handleSort(e){this.props.actions.queuedFiles.purgeUploadQueue(),this.props.onSort(e)}handleSetPage(e){this.props.onSetPage(e)}handleCancelUpload(e){e.xhr.abort(),this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)}handleRemoveErroredUpload(e){this.props.actions.queuedFiles.removeQueuedFile(e.queuedId)}handleAddedFile(e){this.props.actions.queuedFiles.addQueuedFile(e)}handlePreviewLoaded(e,t){this.props.actions.queuedFiles.updateQueuedFile(e.queuedId,t)}handleSending(e,t){this.props.actions.queuedFiles.updateQueuedFile(e._queuedId,{xhr:t})}handleUploadProgress(e,t){this.props.actions.queuedFiles.updateQueuedFile(e._queuedId,{progress:t})}handleSuccessfulUpload(e){const t=JSON.parse(e.xhr.response);if(void 0!==t[0].error)return void this.handleFailedUpload(e);this.props.actions.queuedFiles.succeedUpload(e._queuedId,t[0]),this.props.onSuccessfulUpload&&this.props.onSuccessfulUpload(t);const n=this.props.queuedFiles.items.reduce(((e,t)=>100!==t.progress?e+1:e),0);if(!this.props.fileId&&!this.props.selectedFiles.length&&0===n){const e=t.pop();this.props.onOpenFile(e.id)}}handleQueueComplete(){this.props.onSuccessfulUploadQueue&&this.props.onSuccessfulUploadQueue()}handleFailedUpload(e,t){const n=e.xhr&&e.xhr.status?(0,S.default)(e.xhr.status):"";this.props.actions.queuedFiles.failUpload(e._queuedId,t,n)}itemIsSelected(e){return this.props.selectedFiles.indexOf(e)>-1}toggleSelectConcat(e){this.props.actions.gallery.setConcatenateSelect(this.isConcat(e))}isConcat(e){return e.metaKey||e.ctrlKey||e.shiftKey}itemIsHighlighted(e){return this.props.fileId===e}hasOpenedItem(){return!!this.props.fileId}handleClearSearch(e){this.props.onClearSearch(e)}handleGroupSelect(e,t){const{setSelectedFiles:n,selectFiles:r}=this.props.actions.gallery,o=this.getSelectableFiles(),i=e.filter(((t,n)=>e.indexOf(t)===n&&o.find((e=>e.id===t)))),s=this.props.concatenateSelect||this.isConcat(t);if(null!==this.props.maxFilesSelect){let e=i.length;if(s){e=this.props.selectedFiles.filter((e=>!this.props.selectedFiles.includes(e))).concat(this.props.selectedFiles).length}if(e>=this.props.maxFilesSelect)return}s?r(i):n(i)}handleClearSelection(){this.props.actions.gallery.deselectFiles()}handleBeginSelection(e){let t=e.target;for(;t;){if(t.classList.contains("griddle-footer"))return!1;if(t.classList.contains("gallery__main--selectable"))break;t=t.parentNode}return!0}handleOpenFolder(e,t){e.preventDefault(),this.props.onOpenFolder(t.id)}handleOpenFile(e,t){e.preventDefault(),null!==t.created&&(this.props.selectedFiles.length&&1!==this.props.maxFilesSelect||this.props.type!==P.SELECT||this.handleSelect(e,t),this.props.onOpenFile(t.id,t))}handleSelect(e,t){const n=this.props.maxFilesSelect;let r=this.getSelectableFiles().filter((e=>e.id===t.id)).map((e=>e.id));if(1!==n)if(-1===this.props.selectedFiles.indexOf(t.id)){e.shiftKey&&(r=this.getSelection(this.props.lastSelected,t.id));if(this.props.selectedFiles.filter((e=>!r.includes(e))).concat(r).length>n&&null!==n)return;this.props.actions.gallery.selectFiles(r),this.props.actions.gallery.setLastSelected(t.id)}else this.props.actions.gallery.deselectFiles([t.id]),e.shiftKey&&this.props.actions.gallery.setLastSelected(null);else this.props.actions.gallery.setSelectedFiles(r)}handleEnableDropzone(e){this.props.actions.gallery.setEnableDropzone(e)}handleMoveFiles(e,t){this.props.actions.files.moveFiles(e,t).then((()=>{const n=f.default.MOVE_SUCCESS_DURATION,r=`+${t.length}`;this.props.actions.gallery.setFileBadge(e,r,"success",n),"function"==typeof this.props.onMoveFilesSuccess&&this.props.onMoveFilesSuccess(e,t)})).catch((()=>{this.props.actions.toasts.error(o.default._t("AssetAdmin.FAILED_MOVE","There was an error moving the selected items."))}))}handleBulkEdit(e,t){this.handleOpenFile(e,t[0])}handleBulkMove(){this.props.actions.gallery.activateModal(f.default.MODAL_MOVE)}renderTransitionBulkActions(){return this.renderBulkActions()}renderBulkActions(){const{type:e,dialog:t,maxFilesSelect:n,files:r,selectedFiles:o}=this.props,s=e===P.SELECT||t?e=>e.value===P.INSERT:e=>e.value!==P.INSERT,a=f.default.BULK_ACTIONS.filter(s).map((e=>{if(e.callback)return e;switch(e.value){case P.DELETE:return{...e,callback:(e,t)=>{this.props.actions.confirmDeletion.confirm(t)},confirm:void 0};case P.EDIT:return{...e,callback:this.handleBulkEdit};case P.MOVE:return{...e,callback:this.handleBulkMove};case P.PUBLISH:return{...e,callback:this.handleBulkPublish};case P.UNPUBLISH:return{...e,callback:this.handleBulkUnpublish};case P.INSERT:return{...e,callback:this.handleBulkInsert,color:"primary"};default:return e}})),l=o.map((e=>r.find((t=>t&&e===t.id)))).filter((e=>e));return l.length>0&&[P.ADMIN,P.SELECT].includes(e)?i.default.createElement(d.default,{actions:a,items:l,total:n,key:l.length>0,container:this.gallery,showCount:1!==n}):null}renderGalleryView(){const e="table"===this.props.view?p.default:c.default,t=this.props.files.map((e=>{const t=this.itemIsSelected(e.id),n=this.itemIsHighlighted(e.id),r=(e.queuedId?`queueId${e.queuedId}`:`id${e.id}`)+(t?"--selected":"");return{...e,selected:t,highlighted:n,key:r}})),{type:n,loading:r,dialog:o,page:s,totalCount:a,limit:l,sort:u,selectedFiles:d,badges:f,maxFilesSelect:h,sectionConfig:m}=this.props,g={selectableItems:n===P.SELECT||n===P.ADMIN&&(!h||h>1),selectableFolders:n!==P.SELECT&&!o,files:t,loading:r,page:s,totalCount:a,limit:l,sort:u,selectedFiles:d,badges:f,onSort:this.handleSort,onSetPage:this.handleSetPage,onOpenFile:this.handleOpenFile,onOpenFolder:this.handleOpenFolder,onSelect:this.handleSelect,onCancelUpload:this.handleCancelUpload,onDropFiles:this.handleMoveFiles,onRemoveErroredUpload:this.handleRemoveErroredUpload,onEnableDropzone:this.handleEnableDropzone,sectionConfig:m,canDrag:n===P.ADMIN,maxFilesSelect:h};return i.default.createElement(e,g)}renderToolbar(){const{GalleryToolbar:e,sort:t,view:n,folder:r,onCreateFolder:o,onOpenFolder:s,onViewChange:a}=this.props,l={onMoveFiles:this.handleMoveFiles,onSort:this.handleSort,onCreateFolder:o,onOpenFolder:s,onViewChange:a,view:n,sort:t,folder:r};return i.default.createElement(e,l)}render(){const{folder:e,loading:t,errorMessage:n,graphQLErrors:r,noticeMessage:s}=this.props,a=this.props.LoadingComponent,l=r&&r.length>0;if(!e)return n||l?i.default.createElement("div",{className:"gallery__error flexbox-area-grow"},i.default.createElement("div",{className:"gallery__error-message"},i.default.createElement("h3",null,o.default._t("AssetAdmin.DROPZONE_RESPONSE_ERROR","Server responded with an error.")),n&&i.default.createElement("p",null,n),l&&r.map(((e,t)=>i.default.createElement("p",{key:t},e))))):t?i.default.createElement("div",{className:"flexbox-area-grow"},i.default.createElement(a,null)):i.default.createElement("div",{className:"flexbox-area-grow"},i.default.createElement("div",{className:"editor__file-preview-message--file-missing m-t-3"},o.default._t("Admin.UNKNOWN_ERROR","An unknown error has occurred")));const d=i.default.createElement("div",{className:"gallery_messages"},n&&i.default.createElement(h.default,{value:n,type:"danger"}),s&&i.default.createElement(h.default,{value:s,type:"success"})),c={height:f.default.THUMBNAIL_HEIGHT,width:f.default.THUMBNAIL_WIDTH},p={url:this.props.createFileApiUrl,method:this.props.createFileApiMethod,paramName:"Upload",clickable:"#upload-button",...this.props.sectionConfig.dropzoneOptions},m=this.props.securityId,g=this.props.folder.canEdit&&this.props.enableDropzone,y=["panel","panel--padded","panel--scrollable","gallery__main","fill-height"];this.props.type===P.INSERT&&y.push("insert-media-modal__main");const v=y;return this.hasOpenedItem()&&v.push("gallery__main--has-opened-item"),i.default.createElement("div",{className:"flexbox-area-grow gallery__outer",ref:e=>{this.gallery=e}},this.renderTransitionBulkActions(),i.default.createElement(I.default,{className:y.join(" ")},this.renderToolbar(),i.default.createElement(_.SelectableGroup,{enabled:"tile"===this.props.view&&this.props.type===P.ADMIN,className:"flexbox-area-grow fill-height gallery__main--selectable",onSelection:this.handleGroupSelect,onNonItemClick:this.handleClearSelection,onBeginSelection:this.handleBeginSelection,preventDefault:!1,fixedPosition:!0},i.default.createElement(u.default,{name:"gallery-container",className:"flexbox-area-grow",canUpload:g,onAddedFile:this.handleAddedFile,onPreviewLoaded:this.handlePreviewLoaded,onError:this.handleFailedUpload,onSuccess:this.handleSuccessfulUpload,onQueueComplete:this.handleQueueComplete,onSending:this.handleSending,onUploadProgress:this.handleUploadProgress,preview:c,folderId:this.props.folderId,options:p,securityID:m,uploadButton:!1},d,this.renderGalleryView()))),this.props.loading&&i.default.createElement(a,null),i.default.createElement(O.default,{sectionConfig:this.props.sectionConfig,folderId:this.props.folderId,onSuccess:this.props.onMoveFilesSuccess,onOpenFolder:this.props.onOpenFolder}))}}t.Component=M;const R={page:1,limit:15},T={sectionConfig:C.default,loading:F.default.bool,sort:F.default.string,files:F.default.arrayOf(F.default.shape({id:F.default.number,parent:F.default.shape({id:F.default.number})})).isRequired,selectedFiles:F.default.arrayOf(F.default.number),totalCount:F.default.number,page:F.default.number,limit:F.default.number,badges:F.default.arrayOf(F.default.shape({id:F.default.number,message:F.default.node,status:F.default.string})),onOpenFile:F.default.func.isRequired,onOpenFolder:F.default.func.isRequired,onSort:F.default.func.isRequired,onSetPage:F.default.func.isRequired,maxFilesSelect:F.default.number},N=Object.assign({},R,{selectableItems:!1});t.galleryViewDefaultProps=N;const j=Object.assign({},T,{selectableItems:F.default.bool,selectableFolders:F.default.bool,onSelect:F.default.func,onCancelUpload:F.default.func,onRemoveErroredUpload:F.default.func,onEnableDropzone:F.default.func});t.galleryViewPropTypes=j,M.defaultProps=Object.assign({},R,{type:P.ADMIN,view:"tile",enableDropzone:!0,dialog:!1}),M.propTypes=Object.assign({},T,{onSuccessfulUpload:F.default.func,onSuccessfulUploadQueue:F.default.func,onCreateFolder:F.default.func,onMoveFilesSuccess:F.default.func,onPublish:F.default.func,onUnpublish:F.default.func,type:F.default.oneOf(["insert-media","insert-link",P.SELECT,P.ADMIN]),view:F.default.oneOf(["tile","table"]),lastSelected:F.default.number,dialog:F.default.bool,fileId:F.default.number,folderId:F.default.number.isRequired,folder:F.default.shape({id:F.default.number,title:F.default.string,parentId:F.default.number,canView:F.default.bool,canEdit:F.default.bool}),files:F.default.array,errorMessage:F.default.string,graphQLErrors:F.default.arrayOf(F.default.string),actions:F.default.object,securityId:F.default.string,onViewChange:F.default.func.isRequired,createFileApiUrl:F.default.string,createFileApiMethod:F.default.string,search:F.default.object,enableDropzone:F.default.bool,concatenateSelect:F.default.bool,GalleryToolbar:F.default.elementType,sorters:F.default.arrayOf(F.default.shape({field:F.default.string.isRequired,direction:F.default.oneOf(["asc","desc"]).isRequired,label:F.default.string.isRequired})).isRequired});var k=(0,l.compose)((0,w.inject)(["GalleryToolbar","Loading"],((e,t)=>({GalleryToolbar:e,LoadingComponent:t})),(()=>"AssetAdmin.Gallery")),(0,a.connect)((function(e,t){let{sort:n}=t;const{selectedFiles:r,errorMessage:o,noticeMessage:i,enableDropzone:s,badges:a,concatenateSelect:l,loading:u,sorters:d,lastSelected:c}=e.assetAdmin.gallery;return!n&&d&&d[0]&&(n=`${d[0].field},${d[0].direction}`),{lastSelected:c,selectedFiles:r,errorMessage:o,noticeMessage:i,enableDropzone:s,badges:a,concatenateSelect:l,loading:t.loading||u,queuedFiles:e.assetAdmin.queuedFiles,securityId:e.config.SecurityID,sorters:d,sort:n}}),(function(e){return{actions:{gallery:(0,l.bindActionCreators)(m,e),toasts:(0,l.bindActionCreators)(g,e),queuedFiles:(0,l.bindActionCreators)(y,e),confirmDeletion:(0,l.bindActionCreators)(v,e)}}})),b.default,(e=>(0,E.withApollo)(e)))(M);t.default=k},35:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=l(n(7820)),i=l(n(5710)),s=l(n(7086)),a=l(n(7431));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}class d extends r.Component{constructor(e){super(e),this.state={dragging:!1},this.mounted=!1,this.handleDrop=this.handleDrop.bind(this)}componentDidMount(){this.mounted=!0,window.addEventListener("drop",this.handleDrop,!0)}componentWillUpdate(){setTimeout((()=>{if(!this.mounted||!this.context.dragDropManager)return;const e=this.context.dragDropManager.monitor.isDragging();this.state.dragging!==e&&this.setState({dragging:e})}))}componentWillUnmount(){this.mounted=!1,window.removeEventListener("drop",this.handleDrop,!0)}handleDrop(){const e=this.context.dragDropManager,t=e&&e.backend;t&&t.isDraggingNativeItem()&&t.endDragNativeItem()}render(){const{className:e,children:t}=this.props;return r.default.createElement("div",{className:(0,o.default)(e,{"gallery__main--dragging":this.state.dragging})},t,r.default.createElement(i.default,null))}}d.contextTypes={dragDropManager:s.default.object},d.propTypes={className:s.default.string,children:s.default.oneOfType([s.default.arrayOf(s.default.node),s.default.node])};var c=(0,a.default)(d);t.default=c},7390:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=(r=n(7086))&&r.__esModule?r:{default:r};function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}class a extends o.Component{constructor(e){super(e),this.handleClick=this.handleClick.bind(this)}handleClick(e){e.preventDefault(),"function"==typeof this.props.onClick&&this.props.onClick(this.props.versionid)}render(){let e=null;return"Published"===this.props.status&&(e=o.default.createElement("p",null,o.default.createElement("span",{className:"history-item__status-flag"},this.props.status)," at ",this.props.date_formatted)),o.default.createElement("li",{className:"list-group-item history-item",onClick:this.handleClick},o.default.createElement("p",null,o.default.createElement("span",{className:"history-item__version"},"v.",this.props.versionid),o.default.createElement("span",{className:"history-item__date"},this.props.date_ago," ",this.props.author),this.props.summary),e)}}a.propTypes={versionid:i.default.number.isRequired,summary:i.default.oneOfType([i.default.bool,i.default.string]).isRequired,status:i.default.string,author:i.default.string,date_formatted:i.default.string,date_ago:i.default.string,onClick:i.default.func};var l=a;t.default=l},1204:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=c(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=n(1624),i=d(n(5159)),s=d(n(4510)),a=d(n(7390)),l=d(n(8238)),u=d(n(7086));function d(e){return e&&e.__esModule?e:{default:e}}function c(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(c=function(e){return e?n:t})(e)}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t1&&void 0!==arguments[1])||arguments[1];return i.default.createEndpointFetcher(Object.assign({},e,t?{defaultData:{SecurityID:s.default.get("SecurityID")}}:{}))}(e.sectionConfig.historyEndpoint)}componentDidMount(){this.refreshHistoryIfNeeded()}componentWillReceiveProps(e){this.refreshHistoryIfNeeded(e)}componentWillUnmount(){clearTimeout(this.timer),this.timer=null}refreshHistoryIfNeeded(e){if(!e&&!this.state.loadedDetails||e.data.fileId!==this.props.data.fileId||e.data.latestVersionId!==this.props.data.latestVersionId){this.setState({loadedDetails:!1});const t=e?e.data.fileId:this.props.data.fileId;clearTimeout(this.timer),this.timer=setTimeout((()=>{this.api({fileId:t}).then((e=>{this.timer&&this.setState({history:e,loadedDetails:!0})}))}),250)}}handleClick(e){this.setState({viewDetails:e})}handleBack(e){e.preventDefault(),this.setState({viewDetails:null})}render(){if(!this.state.loadedDetails)return r.default.createElement("div",{className:"history-list history-list--loading"},"Loading...");if(this.state.viewDetails){const e=[this.props.historySchemaUrl,this.props.data.fileId,this.state.viewDetails].join("/"),t=["btn","btn-secondary","btn--icon-xl","btn--no-text","font-icon-left-open-big","history-list__back"].join(" ");return r.default.createElement("div",{className:"history-list"},r.default.createElement("a",{href:"#",className:t,onClick:this.handleBack}),r.default.createElement(l.default,{identifier:"AssetAdmin.HistoryList",schemaUrl:e,formTag:"div"}))}const e=this.state.history||[];return r.default.createElement("div",{className:"history-list"},r.default.createElement("ul",{className:"list-group list-group-flush history-list__list"},e.map((e=>r.default.createElement(a.default,p({key:e.versionid},e,{onClick:this.handleClick}))))))}}t.Component=f,f.propTypes={sectionConfig:u.default.shape({form:u.default.object,historyEndpoint:u.default.shape({url:u.default.string,method:u.default.string,responseFormat:u.default.string})}),historySchemaUrl:u.default.string,data:u.default.object},f.defaultProps={data:{fieldId:0}};var h=(0,o.connect)((function(e){const t=e.config.sections.find((e=>"SilverStripe\\AssetAdmin\\Controller\\AssetAdmin"===e.name));return{sectionConfig:t,historySchemaUrl:t.form.fileHistoryForm.schemaUrl}}))(f);t.default=h},2896:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=b(n(4754)),o=v(n(7363)),i=n(2827),s=n(1624),a=b(n(7056)),l=b(n(1746)),u=b(n(6513)),d=v(n(3669)),c=v(n(4478)),p=b(n(4912)),f=b(n(7820)),h=b(n(7086)),m=b(n(6019)),g=b(n(7902));function y(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(y=function(e){return e?n:t})(e)}function v(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=y(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}return r.default=e,n&&n.set(e,r),r}function b(e){return e&&e.__esModule?e:{default:e}}class E extends o.Component{constructor(e){super(e),this.handleSubmit=this.handleSubmit.bind(this)}componentDidMount(){const{isOpen:e,onBrowse:t,setOverrides:n,fileAttributes:r,folderId:o}=this.props;e?"function"==typeof n&&r.ID&&(n(this.props),t(o,r.ID)):t(o||0)}componentWillReceiveProps(e){!e.isOpen&&this.props.isOpen&&(e.onBrowse(e.folderId),e.actions.gallery.deselectFiles()),"function"==typeof this.props.setOverrides&&e.isOpen&&!this.props.isOpen&&(this.props.setOverrides(e),e.onBrowse(e.folderId,e.fileAttributes?e.fileAttributes.ID:null))}getSectionProps(){return{...this.props,dialog:!0,toolbarChildren:this.renderToolbarChildren(),onSubmitEditor:this.handleSubmit,onReplaceUrl:this.props.onBrowse}}getModalProps(){const{onHide:e,onInsert:t,sectionConfig:n,schemaUrl:r,className:o,...i}=this.props;return{...i,className:(0,f.default)("insert-media-modal",o),size:"lg",showCloseButton:!1}}handleSubmit(e,t,n,r){return"action_insert"===t?this.props.onInsert(e,r):n()}renderToolbarChildren(){return o.default.createElement("button",{type:"button",className:"close modal__close-button insert-media-modal__close-button",onClick:this.props.onClosed,"aria-label":r.default._t("FormBuilderModal.CLOSE","Close")},o.default.createElement("span",{"aria-hidden":"true"},"×"))}render(){const e=this.getModalProps(),t=this.getSectionProps(),n=this.props.isOpen?o.default.createElement(a.default,t):null;return o.default.createElement(p.default,e,n)}}t.Component=E,E.propTypes={sectionConfig:h.default.shape({url:h.default.string,form:h.default.object}),type:h.default.oneOf(["insert-media","insert-link","select","admin"]),schemaUrl:h.default.string,isOpen:h.default.bool,setOverrides:h.default.func,onInsert:h.default.func.isRequired,fileAttributes:h.default.shape({ID:h.default.number,AltText:h.default.string,Width:h.default.number,Height:h.default.number,Loading:h.default.string,TitleTooltip:h.default.string,Alignment:h.default.string,Description:h.default.string,TargetBlank:h.default.bool}),requireLinkText:h.default.bool,folderId:h.default.number,fileId:h.default.number,viewAction:h.default.string,query:h.default.object,getUrl:h.default.func,onBrowse:h.default.func.isRequired,onClosed:h.default.func,className:h.default.string,actions:h.default.object,maxFiles:h.default.number,fileSelected:h.default.bool},E.defaultProps={className:"",fileAttributes:{},type:"insert-media",folderId:0,maxFiles:1};var _=(0,i.compose)(l.default,(0,s.connect)((function(e,t){const n=t.sectionConfig;if(!n)return{};let r=0;null!==t.folderId?r=t.folderId:t.folder&&(r=t.folder.id);const o=t.fileAttributes?t.fileAttributes.ID:t.fileId,i=e.assetAdmin.modal.formSchema,s={config:n,viewAction:t.viewAction,folderId:r,type:i&&i.type,fileId:o},{schemaUrl:a,targetId:l}=(0,m.default)(s);if(!a)return{};const u={};t.requireLinkText&&(u.requireLinkText=!0),t.fileSelected&&(u.fileSelected=!0);let d=g.default.stringify(u);return d=d?`?${d}`:"",{schemaUrl:`${a}/${l}${d}`,type:i&&i.type}}),(function(e){return{actions:{gallery:(0,i.bindActionCreators)(d,e),modal:(0,i.bindActionCreators)(c,e)}}})),u.default)(E);t.default=_},4065:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=h(n(7363)),o=n(1624),i=n(2827),s=h(n(4754)),a=h(n(8264)),l=h(n(7086)),u=n(3669),d=n(5123),c=h(n(4912)),p=h(n(9900)),f=h(n(4093));function h(e){return e&&e.__esModule?e:{default:e}}class m extends r.default.Component{constructor(e){super(e),this.handleSubmit=this.handleSubmit.bind(this),this.timeout=null}handleSubmit(e){let{FolderID:t}=e;const{moveFiles:n}=this.props.actions.files,{selectedFiles:r,onSuccess:o,onClosed:i,setNotice:l,setError:u,setBadge:d}=this.props;return n(t||0,r).then((e=>{let{data:{moveFiles:{id:n,filename:u}}}=e;"function"==typeof o&&o(t,r),d(n,`${r.length}`,"success",a.default.MOVE_SUCCESS_DURATION),l(s.default.sprintf(s.default._t("AssetAdmin.MOVED_ITEMS_TO","Moved %s item(s) to %s"),r.length,u),[{label:s.default._t("AssetAdmin.GO_TO_FOLDER","Go to folder"),onClick:()=>this.props.onOpenFolder(n)}]),i()})).catch((()=>{u(s.default._t("AssetAdmin.FAILED_MOVE","There was an error moving the selected items."))}))}render(){const{isOpen:e,onClosed:t,title:n,folderId:o,sectionConfig:i}=this.props,{schemaUrl:s}=i.form.moveForm;return r.default.createElement(c.default,{title:n,isOpen:e,onClosed:t,onSubmit:this.handleSubmit,identifier:"AssetAdmin.MoveForm",schemaUrl:`${s}/${o}`})}}m.propTypes={sectionConfig:p.default,folderId:l.default.number.isRequired,isOpen:l.default.bool,onClosed:l.default.func,setNotice:l.default.func,setBadge:l.default.func,setError:l.default.func,title:l.default.string,onSuccess:l.default.func,onOpenFolder:l.default.func.isRequired,selectedFiles:l.default.array.isRequired,actions:l.default.shape({files:l.default.shape({moveFiles:l.default.func})}).isRequired},m.defaultProps={isOpen:!1};var g=(0,i.compose)((0,o.connect)((function(e){const{modal:t,selectedFiles:n}=e.assetAdmin.gallery;return{isOpen:t===a.default.MODAL_MOVE,selectedFiles:n,title:s.default.sprintf(s.default._t("AssetAdmin.MOVE_ITEMS_TO","Move %s item(s) to..."),n.length)}}),(function(e){return{onClosed(){e((0,u.deactivateModal)())},setNotice(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];e((0,d.display)({text:t,type:"success",actions:n}))},setError(t){e((0,d.display)({text:t,type:"error"}))},setBadge(){e((0,u.setFileBadge)(...arguments))}}})),f.default)(m);t.default=g},8697:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=f(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),o=p(n(7086)),i=p(n(8345)),s=p(n(4754)),a=p(n(9777)),l=n(4288),u=n(3069),d=n(6648),c=n(2827);function p(e){return e&&e.__esModule?e:{default:e}}function f(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(f=function(e){return e?n:t})(e)}class h extends r.Component{constructor(e){super(e),this.getColumns=this.getColumns.bind(this),this.handleSort=this.handleSort.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.handleRowClick=this.handleRowClick.bind(this),this.renderSelect=this.renderSelect.bind(this),this.renderTitle=this.renderTitle.bind(this),this.renderStatus=this.renderStatus.bind(this),this.renderNoItemsNotice=this.renderNoItemsNotice.bind(this)}getColumns(){const e=["thumbnail","title","status","size","lastEdited"];return this.props.selectableItems&&e.unshift("selected"),e}getColumnConfig(){return[{columnName:"selected",sortable:!1,displayName:"",cssClassName:"gallery__table-column--select",customComponent:this.renderSelect},{columnName:"thumbnail",sortable:!1,displayName:"",cssClassName:"gallery__table-column--image",customComponent:this.renderThumbnail},{columnName:"title",customCompareFn:()=>0,displayName:s.default._t("File.TITLE","Title"),cssClassName:"gallery__table-column--title",customComponent:this.renderTitle},{columnName:"status",sortable:!1,cssClassName:"sort--disabled",customComponent:this.renderStatus,displayName:s.default._t("File.STATUS","Status")},{columnName:"lastEdited",displayName:s.default._t("File.MODIFIED","Modified"),customComponent:this.renderDate},{columnName:"size",sortable:!1,displayName:s.default._t("File.SIZE","Size"),cssClassName:"sort--disabled",customComponent:this.renderSize}]}getRowMetadata(e){return"gallery__table-row "+(e.highlighted?"gallery__table-row--highlighted":"")}getTableProps(){const[e,t]=this.props.sort.split(",");return{tableClassName:"gallery__table table table-hover",gridClassName:"gallery__main-view--table",rowMetadata:{bodyCssClassName:this.getRowMetadata,key:"key"},sortAscendingComponent:"",sortDescendingComponent:"",useExternal:!0,externalSetPage:this.handleSetPage,externalChangeSort:this.handleSort,externalSetFilter:()=>null,externalSetPageSize:()=>null,externalCurrentPage:this.props.page-1,externalMaxPage:Math.ceil(this.props.totalCount/this.props.limit),externalSortColumn:e,externalSortAscending:"asc"===t,initialSort:e,columns:this.getColumns(),columnMetadata:this.getColumnConfig(),useGriddleStyles:!1,onRowClick:this.handleRowClick,results:this.props.files,customNoDataComponent:this.renderNoItemsNotice}}handleActivate(e,t){"folder"===t.type?this.props.onOpenFolder(e,t):this.props.onOpenFile(e,t)}handleRowClick(e,t){const n=e.props.data;t.currentTarget.classList.contains("gallery__table-column--select")&&(t.stopPropagation(),t.preventDefault(),"function"==typeof this.props.onSelect)?this.props.onSelect(t,n):this.handleActivate(t,n)}handleSort(e,t){const n=t?"asc":"desc";this.props.onSort(`${e},${n}`)}handleSetPage(e){this.props.onSetPage(e+1)}preventFocus(e){e.preventDefault()}renderNoItemsNotice(){return 0!==this.props.files.length||this.props.loading?null:r.default.createElement("p",{className:"gallery__no-item-notice"},s.default._t("AssetAdmin.NOITEMSFOUND"))}renderSize(e){if("folder"===e.rowData.type)return null;const t=(0,u.fileSize)(e.data);return r.default.createElement("span",null,t)}renderStatus(e){let t=[];const n=e.rowData,{VersionedBadge:o}=this.props;return"folder"!==n.type&&(n.draft?t.push({key:"status-draft",status:"draft"}):n.modified&&t.push({key:"status-modified",status:"modified"})),t=t.map((e=>{let{...t}=e;return r.default.createElement(o,t)})),t?r.default.createElement("span",null,t):null}renderProgressBar(e){if(!e.queuedId||e.message&&"error"===e.message.type)return null;if(e.id>0)return r.default.createElement("div",{className:"gallery__progress-bar--complete"});const t={className:"gallery__progress-bar-progress",style:{width:`${e.progress}%`}};return r.default.createElement("div",{className:"gallery__progress-bar"},r.default.createElement("div",t))}renderRestrictedAccess(e){const{hasRestrictedAccess:t}=e,n={fileID:e.id,placement:"top",hasRestrictedAccess:t};return r.default.createElement(a.default,n)}renderTrackedFormUpload(e){const{isTrackedFormUpload:t,hasRestrictedAccess:n}=e,o={fileID:e.id,placement:"top",isTrackedFormUpload:t,hasRestrictedAccess:n};return r.default.createElement(a.default,o)}renderTitle(e){const t=this.renderProgressBar(e.rowData);return r.default.createElement("div",{className:"fill-width"},r.default.createElement("div",{className:"flexbox-area-grow"},r.default.createElement("span",null,e.data),e.rowData.hasRestrictedAccess&&this.renderRestrictedAccess(e.rowData),e.rowData.isTrackedFormUpload&&this.renderTrackedFormUpload(e.rowData)),t)}renderSelect(e){if(this.props.selectableItems&&(this.props.selectableFolders||"folder"!==e.rowData.type)){const t={type:"checkbox",title:s.default._t("AssetAdmin.SELECT"),defaultChecked:e.data,tabIndex:-1,onMouseDown:this.preventFocus};return![null,1].includes(this.props.maxFilesSelect)&&this.props.selectedFiles.length>=this.props.maxFilesSelect&&!e.data&&(t.disabled=!0),r.default.createElement("input",t)}return null}renderDate(e){return"folder"===e.rowData.type?null:(moment.locale(s.default.detectLocale()),r.default.createElement("span",null,moment(e.data).format("L LT")))}renderThumbnail(e){const t=e.data||e.rowData.url,n=e.rowData.queuedId&&!e.rowData.id,o=e.rowData.category||"false",i="gallery__table-image",s=[i],a={};return s.push(`${i}--${o}`),"image"===o&&t&&(a.backgroundImage=`url("${t}")`),n||t||"folder"===o||s.push(`${i}--error`),r.default.createElement("div",{className:s.join(" "),style:a})}render(){return r.default.createElement(i.default,this.getTableProps())}}t.Component=h,h.defaultProps=l.galleryViewDefaultProps,h.propTypes={...l.galleryViewPropTypes,sort:o.default.string.isRequired,VersionedBadge:o.default.elementType};var m=(0,c.compose)((0,d.inject)(["VersionedBadge"],(e=>({VersionedBadge:e}))))(h);t.default=m},3298:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=t.Component=void 0;var r=d(n(4754)),o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=o?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(r,i,s):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(7363)),i=n(6648),s=n(4288),a=d(n(8345)),l=d(n(7086));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}function d(e){return e&&e.__esModule?e:{default:e}}class c extends o.Component{constructor(e){super(e),this.renderItem=this.renderItem.bind(this),this.handleSetPage=this.handleSetPage.bind(this),this.handlePrevPage=this.handlePrevPage.bind(this),this.handleNextPage=this.handleNextPage.bind(this),this.handleDrag=this.handleDrag.bind(this)}handleDrag(e){this.props.onEnableDropzone(!e)}handleSetPage(e){this.props.onSetPage(e+1)}handleNextPage(){const e=this.props.page-1;this.handleSetPage(e+1)}handlePrevPage(){const e=this.props.page-1;0!==e?this.handleSetPage(e-1):this.handleSetPage(e)}folderFilter(e){return"folder"===e.type}fileFilter(e){return"folder"!==e.type}renderPagination(){if(this.props.totalCount<=this.props.limit)return null;const e={setPage:this.handleSetPage,maxPage:Math.ceil(this.props.totalCount/this.props.limit),next:this.handleNextPage,nextText:r.default._t("AssetAdmin.NEXT","Next"),previous:this.handlePrevPage,previousText:r.default._t("AssetAdmin.PREVIOUS","Previous"),currentPage:this.props.page-1,useGriddleStyles:!1};return o.default.createElement("div",{className:"griddle-footer"},o.default.createElement(a.default.GridPagination,e))}renderItem(e){const{File:t,Folder:n,badges:r,sectionConfig:i,selectedFiles:s,selectableItems:a,selectableFolders:l}=this.props,u=r.find((t=>t.id===e.id));let d={sectionConfig:i,key:e.key,selectableKey:e.id,item:e,selectedFiles:s,onDrag:this.handleDrag,badge:u,canDrag:this.props.canDrag};if(e.queuedId&&!e.id){const{onCancelUpload:e,onRemoveErroredUpload:t}=this.props;d={...d,onCancelUpload:e,onRemoveErroredUpload:t}}else{const{onOpenFolder:t,onOpenFile:n}=this.props;d={...d,onActivate:"folder"===e.type?t:n}}if(a&&(l||"folder"!==e.type)){const e=![null,1].includes(this.props.maxFilesSelect)&&this.props.selectedFiles.length>=this.props.maxFilesSelect,t=1===this.props.maxFilesSelect?d.onActivate:this.props.onSelect;d={...d,selectable:!0,onSelect:t,maxSelected:e}}if("folder"===e.type){const{onDropFiles:e}=this.props;return d={...d,onDropFiles:e},o.default.createElement(n,d)}return o.default.createElement(t,d)}render(){return o.default.createElement("div",{className:"gallery__main-view--tile"},o.default.createElement("div",{className:"gallery__folders"},this.props.files.filter(this.folderFilter).map(this.renderItem)),o.default.createElement("div",{className:"gallery__files"},this.props.files.filter(this.fileFilter).map(this.renderItem)),0===this.props.files.length&&!this.props.loading&&o.default.createElement("p",{className:"gallery__no-item-notice"},r.default._t("AssetAdmin.NOITEMSFOUND")),o.default.createElement("div",{className:"gallery__load"},this.renderPagination()))}}t.Component=c,c.defaultProps=s.galleryViewDefaultProps,c.propTypes={...s.galleryViewPropTypes,File:l.default.elementType.isRequired,Folder:l.default.elementType.isRequired};var p=(0,i.inject)(["GalleryItemFile","GalleryItemFolder"],((e,t)=>({File:e,Folder:t})),(()=>"AssetAdmin.Gallery.ThumbnailView"))(c);t.default=p},788:function(e,t,n){"use strict";var r=l(n(5311)),o=l(n(7363)),i=n(745),s=n(6602),a=n(6648);function l(e){return e&&e.__esModule?e:{default:e}}function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t{e(".js-injector-boot input.entwine-uploadfield").entwine({Component:null,ReactRoot:null,getContainer(){let t=this.siblings(".uploadfield-holder")[0];if(!t){const n=e('
');this.before(n),t=n[0]}return t},onunmatch(){this._super();const e=this.getReactRoot();e&&(e.unmount(),this.setReactRoot(null))},onmatch(){const e=this.closest(".cms-content").attr("id"),t=e?{context:e}:{},n=(0,a.loadComponent)("UploadField",t);this.setComponent(n),this._super(),this.hide(),this.refresh()},onclick(e){e.preventDefault()},refresh(){const t=this.getAttributes(),n=e(this).closest("form"),r=this.getComponent();let s=this.getReactRoot();s||(s=(0,i.createRoot)(this.getContainer()),this.setReactRoot(s)),s.render(o.default.createElement(r,u({},t,{onChange:()=>{setTimeout((()=>{n.trigger("change")}),0)},noHolder:!0})))},getAttributes(){const t=e(this).data("state"),n=e(this).data("schema");return(0,s.schemaMerge)(n,t)}})}))},9900:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(7086))&&r.__esModule?r:{default:r};var i=o.default.shape({url:o.default.string,limit:o.default.number,imageRetry:o.default.shape({minRetry:o.default.number,maxRetry:o.default.number,expiry:o.default.number}),form:o.default.object,dropzoneOptions:o.default.object});t.default=i},2214:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.fileInterface=t.file=void 0;t.fileInterface="\n fragment FileInterfaceFields on FileInterface {\n canDelete\n canEdit\n canView\n category\n exists\n filename\n id\n lastEdited\n name\n parentId\n title\n type\n url\n visibility\n hasRestrictedAccess\n }\n";t.file="\n fragment FileFields on File {\n draft\n extension\n published\n modified\n size\n smallThumbnail\n thumbnail\n version\n isTrackedFormUpload\n }\n"},4744:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(7086))&&r.__esModule?r:{default:r};var i=o.default.shape({canEdit:o.default.bool,canDelete:o.default.bool,canView:o.default.bool,exists:o.default.bool,type:o.default.string,smallThumbnail:o.default.string,thumbnail:o.default.string,width:o.default.number,height:o.default.number,category:o.default.oneOfType([o.default.bool,o.default.string]),id:o.default.number,url:o.default.string,title:o.default.string,progress:o.default.number,visibility:o.default.string,hasRestrictedAccess:o.default.bool,isTrackedFormUpload:o.default.bool});t.default=i},5488:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o=(0,((r=n(7752))&&r.__esModule?r:{default:r}).default)({name:null,canDelete:!1,canEdit:!1,category:null,created:null,extension:null,filename:null,id:0,lastEdited:null,messages:null,owner:{id:0,title:null},parent:{filename:null,id:0,title:null},queuedId:null,size:null,title:null,type:null,url:null,xhr:null,thumbnail:null,smallThumbnail:null,height:null,width:null});t.default=o},6019:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){let{config:{form:t},viewAction:n,folderId:r,fileId:o,type:a}=e,l=null,u=null;if(n===i)return l=t.folderCreateForm.schemaUrl,u=r,{schemaUrl:l,targetId:u};if(n===s&&o){switch(a){case"insert-media":l=t.fileInsertForm.schemaUrl;break;case"insert-link":l=t.fileEditorLinkForm.schemaUrl;break;case"select":l=t.fileSelectForm.schemaUrl;break;default:l=t.fileEditForm.schemaUrl}return u=o,{schemaUrl:l,targetId:u}}return{}};var r,o=(r=n(8264))&&r.__esModule?r:{default:r};const{CREATE_FOLDER:i,EDIT_FILE:s}=o.default.ACTIONS},1338:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){if(413===e)return o.default._t("AssetAdmin.ERROR_FILE_SIZE","File size limit exceeded");return o.default._t("AssetAdmin.ERROR_DEFAULT","Something went wrong, please try again")};var r,o=(r=n(4754))&&r.__esModule?r:{default:r}},9712:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={CONFIRM_DELETION_ASK:"CONFIRM_DELETION_ASK",CONFIRM_DELETION_CONFIRM:"CONFIRM_DELETION_CONFIRM",CONFIRM_DELETION_CANCEL:"CONFIRM_DELETION_CANCEL",CONFIRM_DELETION_RESET:"CONFIRM_DELETION_RESET",CONFIRM_DELETION_MODAL_CLOSE:"CONFIRM_DELETION_MODAL_CLOSE"}},9194:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.cancel=function(){return{type:o.default.CONFIRM_DELETION_CANCEL,payload:{}}},t.confirm=function(e){return{type:o.default.CONFIRM_DELETION_ASK,payload:{files:e}}},t.deleting=function(){return{type:o.default.CONFIRM_DELETION_CONFIRM,payload:{}}},t.modalClose=function(){return{type:o.default.CONFIRM_DELETION_MODAL_CLOSE,payload:{}}},t.reset=function(){return{type:o.default.CONFIRM_DELETION_RESET,payload:{}}};var r,o=(r=n(9712))&&r.__esModule?r:{default:r}},6529:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.initialState=t.default=void 0;var r,o=(r=n(9712))&&r.__esModule?r:{default:r},i=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(r,i,a):r[i]=e[i]}r.default=e,n&&n.set(e,r);return r}(n(602));function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}const a={showConfirmation:!1,files:[],transition:i.NO_TRANSITION};t.initialState=a;var l=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:a,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case o.default.CONFIRM_DELETION_ASK:return{...a,showConfirmation:!0,files:t.payload.files};case o.default.CONFIRM_DELETION_CANCEL:if(e.showConfirmation)return{...e,transition:i.CANCELING};break;case o.default.CONFIRM_DELETION_CONFIRM:if(e.showConfirmation)return{...e,transition:i.DELETING};break;case o.default.CONFIRM_DELETION_MODAL_CLOSE:return{...e,showConfirmation:!1,transition:i.NO_TRANSITION};case o.default.CONFIRM_DELETION_RESET:return a}return e};t.default=l},602:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.NO_TRANSITION=t.DELETING=t.CANCELING=void 0;t.NO_TRANSITION=!1;t.CANCELING="canceling";t.DELETING="deleting"},5327:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;t.default={TOGGLE_SEARCH:"TOGGLE_SEARCH",OPEN_SEARCH:"OPEN_SEARCH",CLOSE_SEARCH:"CLOSE_SEARCH"}},469:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.closeSearch=function(){return{type:o.default.CLOSE_SEARCH,payload:null}},t.openSearch=function(){return{type:o.default.OPEN_SEARCH,payload:null}},t.toggleSearch=function(){return{type:o.default.TOGGLE_SEARCH,payload:null}};var r,o=(r=n(5327))&&r.__esModule?r:{default:r}},325:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=i(n(7752)),o=i(n(5327));function i(e){return e&&e.__esModule?e:{default:e}}const s={isOpen:!1};var a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case o.default.TOGGLE_SEARCH:return(0,r.default)({...e,isOpen:!e.isOpen});case o.default.OPEN_SEARCH:return(0,r.default)({...e,isOpen:!0});case o.default.CLOSE_SEARCH:return(0,r.default)({...e,isOpen:!1});default:return e}};t.default=a},5380:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(1075),o=n(6648);const i={options(e){let{sectionConfig:t,folderId:n,fileId:o,query:i}=e;const s=Object.assign({},i.filter),a=Object.assign({},s,{parentId:void 0,recursive:(0,r.hasFilters)(s),currentFolderOnly:void 0}),l=(0,r.hasFilters)(s)?null:o||null,u={id:l?null:n||0,anyChildId:l},[d,c]=i.sort?i.sort.split(","):["",""],p=i.limit||t.limit;return{variables:{rootFilter:u,childrenFilter:a,limit:p,offset:((i.page||1)-1)*p,sortBy:d&&c?[{field:d,direction:c.toUpperCase()}]:void 0}}},props(e){let{data:{error:t,refetch:n,readFiles:r,loading:o},ownProps:{actions:i}}=e;const s=r&&r.nodes[0]?r.nodes[0]:null,a=s&&s.children?s.children.nodes.filter((e=>e)):[],l=s&&s.children?s.children.pageInfo.totalCount:0,u=s&&!s.children;return{loading:o||u,folder:s,files:a,filesTotalCount:l,graphQLErrors:t&&t.graphQLErrors&&t.graphQLErrors.map((e=>e.message)),actions:Object.assign({},i,{files:Object.assign({},i.files,{readFiles:n})})}}},{READ:s}=o.graphqlTemplates;var a={apolloConfig:i,templateName:s,pluralName:"Files",pagination:!1,params:{limit:"Int!",offset:"Int!",rootFilter:"FileFilterInput",childrenFilter:"FileFilterInput",sortBy:"[ChildrenSortInputType]"},args:{root:{filter:"rootFilter"},"root/nodes/...on Folder/children":{limit:"limit",offset:"offset",filter:"childrenFilter",sortBy:"sortBy"}},fragments:["FileInterfaceFields","FileFields"],fields:["pageInfo",["totalCount"],"nodes",["...FileInterfaceFields","...FileFields","...on Folder",["children",["pageInfo",["totalCount"],"nodes",["...FileInterfaceFields","...FileFields"]],"parents",["id","title"]]]]};t.default=a},7298:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r=n(6648);const o={options(e){let{fileId:t}=e;return{variables:{rootFilter:{id:t}}}},props(e){let{data:{error:t,readFiles:n,loading:r}}=e;return{loading:r,file:n&&n.nodes[0]?n.nodes[0]:null,graphQLErrors:t&&t.graphQLErrors&&t.graphQLErrors.map((e=>e.message))}}},{READ:i}=r.graphqlTemplates;var s={apolloConfig:o,templateName:i,pluralName:"Files",pagination:!1,params:{rootFilter:"FileFilterInput"},args:{root:{filter:"rootFilter"}},fragments:["FileInterfaceFields","FileFields"],fields:["nodes",["...FileInterfaceFields","...FileFields"]]};t.default=s},6821:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var r,o=(r=n(1306))&&r.__esModule?r:{default:r},i=n(2214);var s=e=>{const t=e.charAt(0).toUpperCase()+e.slice(1),n=o.default` mutation ${t}($ids:[ID]!, $force:Boolean, $quiet:Boolean) { ${e}(ids: $ids, force: $force, quiet: $quiet) { ...on File { diff --git a/client/src/components/UploadField/UploadField.js b/client/src/components/UploadField/UploadField.js index 17bd8d731..cb6153cd9 100644 --- a/client/src/components/UploadField/UploadField.js +++ b/client/src/components/UploadField/UploadField.js @@ -62,12 +62,12 @@ class UploadField extends Component { } componentDidMount() { - const { id, formSchemaFilesHash, data, actions, files } = this.props; + const { id, formSchemaFilesHash, data, value, actions, files } = this.props; // This tracks changes to the underlying schema data for this field. It may be desirable in // future to remove this and instead reset redux state whenever a "legacy" form triggers a // PJAX load. See https://github.com/silverstripe/silverstripe-asset-admin/issues/960 - const newFormSchemaFilesHash = md5(JSON.stringify(data.files)).toString(); + const newFormSchemaFilesHash = md5(JSON.stringify(value.Files)).toString(); // If this is the first time this field has mounted, or the schema data has changed (typically // caused by a PJAX load from saving a legacy non-react form), load the list of files from the @@ -103,7 +103,7 @@ class UploadField extends Component { actions: { uploadField: { setFormSchemaFilesHash, setFiles } } } = this.props; - const newFormSchemaFilesHash = md5(JSON.stringify(data.files)).toString(); + const newFormSchemaFilesHash = md5(JSON.stringify(value.Files)).toString(); // If the schema data has changed (typically caused by a PJAX load from saving a legacy // non-react form), load the list of files from the schema data (data.files)