1441 |
ariadna |
1 |
define("tiny_media/embed/embedinsert",["exports","core/prefetch","core/str","../common","../helpers","../selectors","core/dropzone","editor_tiny/uploader","./embedhandler","./embedhelpers","./embedpreview"],(function(_exports,_prefetch,_str,_common,_helpers,_selectors,_dropzone,_uploader,_embedhandler,_embedhelpers,_embedpreview){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.EmbedInsert=void 0,_selectors=_interopRequireDefault(_selectors),_dropzone=_interopRequireDefault(_dropzone),_uploader=_interopRequireDefault(_uploader),(0,_prefetch.prefetchStrings)(_common.component,["insertmedia","addmediafilesdrop","uploading","loadingmedia"]);_exports.EmbedInsert=class{constructor(data){_defineProperty(this,"init",(async()=>{const langStringKeys=["insertmedia","addmediafilesdrop","uploading","loadingmedia"],langStringValues=await(0,_str.getStrings)([...langStringKeys].map((key=>({key:key,component:_common.component}))));if(this.langStrings=Object.fromEntries(langStringKeys.map(((key,index)=>[key,langStringValues[index]]))),this.currentModal.setTitle(this.langStrings.insertmedia),this.canShowDropZone&&!this.mediaType){const dropZoneEle=document.querySelector(_selectors.default.EMBED.elements.dropzoneContainer),dropZone=new _dropzone.default(dropZoneEle,this.acceptedMediaTypes,(files=>{this.handleUploadedFile(files)}));dropZone.setLabel(this.langStrings.addmediafilesdrop),dropZone.init()}})),_defineProperty(this,"loadMediaPreview",(async url=>{if(this.originalUrl=url,this.fetchedMediaLinkTitle=await(0,_embedhelpers.getMediaTitle)(url,this),this.newMediaLink){if(this.filteredContent=await(0,_embedhelpers.fetchPreview)(this.originalUrl,this.contextId),!this.mediaType)if(this.fetchedMediaLinkTitle){const audioRegex=/<audio[^>]*>.*<\/audio>/i;/<video[^>]*>.*<\/video>/i.test(this.filteredContent)?this.mediaType="video":audioRegex.test(this.filteredContent)&&(this.mediaType="audio")}else this.mediaType="link";this.processMediaPreview()}else{var _this$mediaType;null!==(_this$mediaType=this.mediaType)&&void 0!==_this$mediaType||(this.mediaType=await(0,_embedhelpers.checkMediaType)(url)),this.processMediaPreview()}})),_defineProperty(this,"processMediaPreview",(async()=>{(0,_helpers.setPropertiesFromData)(this,await new _embedhandler.EmbedHandler(this).getMediaTemplateContext());const templateContext=await(0,_embedhelpers.mediaDetailsTemplateContext)(this);this.isUpdating&&!this.newMediaLink&&(this.mediaTitle=templateContext.media.title),new _embedhandler.EmbedHandler(this).loadMediaDetails(new _embedpreview.EmbedPreview(this),templateContext)})),_defineProperty(this,"updateLoaderIcon",(function(root,langStrings){let progress=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const loaderIconState=root.querySelector(_selectors.default.EMBED.elements.loaderIconContainer+" div");loaderIconState.innerHTML=null!==progress?"".concat(langStrings.uploading," ").concat(Math.round(progress),"%"):langStrings.loadingmedia})),_defineProperty(this,"filePickerCallback",(params=>{params.url&&(this.mediaType&&(this.mediaType=null),this.newFileUpload=!0,this.loadMediaPreview(params.url))})),_defineProperty(this,"handleUploadedFile",(async files=>{try{(0,_helpers.startMediaLoading)(this.root,_selectors.default.EMBED.type);const fileURL=await(0,_uploader.default)(this.editor,"media",files[0],files[0].name,(progress=>{this.updateLoaderIcon(this.root,this.langStrings,progress)}));this.updateLoaderIcon(this.root,this.langStrings),this.filePickerCallback({url:fileURL})}catch(error){this.root.querySelector(_selectors.default.EMBED.elements.urlWarning).innerHTML=void 0!==error.error?error.error:error,(0,_helpers.showElements)(_selectors.default.EMBED.elements.urlWarning,this.root),(0,_helpers.stopMediaLoading)(this.root,_selectors.default.EMBED.type)}})),(0,_helpers.setPropertiesFromData)(this,data)}}}));
|