@social-mail/social-mail-client 1.2.241 → 1.2.243

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1169,7 +1169,7 @@ html, body {
1169
1169
  width: 100%;
1170
1170
  }
1171
1171
 
1172
- `.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService extends TaskManager{constructor(){super();this.rateLimit=4;document.body.addEventListener("uploadRequested",(ce=>{const{target,detail:{files,extra,uploadEvent}}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});target.dispatchEvent(new CustomEvent(StringHelper.fromHyphenToCamel(uploadEvent),{detail,bubbles:true}))}))))}))}uploadWithProgress(files,extra){return __awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});return detail.files}))}sha256(blob){return __awaiter(this,void 0,void 0,(function*(){const msgBuffer=yield blob.arrayBuffer();const hashBuffer=yield crypto.subtle.digest("SHA-256",msgBuffer);const hashArray=Array.from(new Uint8Array(hashBuffer));const hashHex=hashArray.map((b=>b.toString(16).padStart(2,"0"))).join("");return hashHex}))}uploadFileParts(file,extra,cancelToken,progress){return __awaiter(this,void 0,void 0,(function*(){let size=file.size;const parts=[];const tasks=[];const maxSize=4*1024*1024;let start=0;const fud=new FileUploader;while(size>0){const blobSize=Math.min(maxSize,file.size-start);const part=new File([file.slice(start,start+blobSize)],"file.dat");size-=blobSize;start+=blobSize;const uploadRequest=fud.upload({url:apiPath("/api/tmp/upload"),file:part,cancelToken,progress:()=>{const done=parts.reduce(((pv,cv)=>pv+cv.done),0)||0;progress===null||progress===void 0?void 0:progress(done/parts.length)}});parts.push(uploadRequest);tasks.push(uploadRequest.promise)}const tempUrls=yield Promise.all(tasks);const tempKeys=tempUrls.map((x=>x.key));const name=file.name;const{parentID,appFileID,folder}=extra;const appFile=yield FetchBuilder.post(apiPath("/api/upload")).form("name",name).form("tempKeys",JSON.stringify(tempKeys)).form("contentType",file.type).query("parentID",parentID).query("appFileID",appFileID).query("folder",folder).responseAsJson();return{url:appFile.url,downloadUrl:appFile.url,file,contentType:appFile.contentType,fileContentID:appFile.fileContentID,appFileID:appFile.appFileID}}))}uploadFile(file,extra,ct,progress){return __awaiter(this,void 0,void 0,(function*(){let folder=void 0;if(file.webkitRelativePath){const folders=file.webkitRelativePath.split("/");folders.pop();if(folders.length){folder=folders.join("/")}}if(typeof extra==="string"){extra=JSON.parse(extra)}const sha256=yield this.sha256(file);if(extra===null||extra===void 0?void 0:extra.parentID){const existing=yield this.entityService.query(AppFile,"children",extra.parentID,folder?folder+"/"+file.name:file.name,sha256).firstOrDefault();if(existing){const{appFileID,url}=existing;return{appFileID,file,url}}}if(file.size>4*1024*1024){if(folder){extra!==null&&extra!==void 0?extra:extra={};extra.folder=folder}return yield this.uploadFileParts(file,extra,ct,progress)}return new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);body.append("sha256",sha256);const xhr=new XMLHttpRequest;const onError=()=>{reject(new Error(xhr.responseText||"Error"))};ct===null||ct===void 0?void 0:ct.registerForCancel((()=>xhr.abort()));xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.upload.addEventListener("timeout",onError);xhr.upload.addEventListener("error",onError);xhr.upload.addEventListener("abort",onError);xhr.addEventListener("timeout",onError);xhr.addEventListener("abort",onError);xhr.addEventListener("error",onError);xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.addEventListener("load",(()=>{if(xhr.status<=300){const r=Object.assign(Object.assign({},JSON.parse(xhr.responseText)),{file});resolve(r)}}));let postUrl=apiPath("/api/upload");const s=new URLSearchParams;if(extra){for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];if(element){s.append(key,element)}}}}if(folder){s.append("folder",folder)}postUrl+="?"+s.toString();xhr.open("POST",postUrl,true);xhr.send(body)}))}))}upload(files,extra,ct){const tasks=[];const upload={total:0,tasks,progress:0,error:""};for(const file of files){upload.total+=file.size;const uploadFile={name:file.name,error:"",progress:0};uploadFile.promise=this.run((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;let lastError;for(let i=0;i<3;i++){try{uploadFile.progress=.01;const r=yield this.uploadFile(file,extra,ct,(n=>uploadFile.progress=n));upload.progress+=r.file.size;setTimeout((()=>tasks.remove(uploadFile)),500);upload.error="";lastError=null;return r}catch(error){lastError=`${(_a=file.webkitRelativePath)!==null&&_a!==void 0?_a:""}/${file.name} failed to upload.\n${(_b=error.stack)!==null&&_b!==void 0?_b:error}`;uploadFile.error=lastError}}if(lastError){upload.error+="\n"+lastError}}))));tasks.push(uploadFile)}return upload}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",void 0);__decorate([Inject,__metadata("design:type",EntityService)],LocalFileService.prototype,"entityService",void 0);LocalFileService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],LocalFileService);_export("default",LocalFileService);FileUploadWindow=class FileUploadWindow extends PopupWindow{constructor(){super(...arguments);this.parameters={}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Uploading...";this.closeWarning="Are you sure you want to cancel the upload?";this.bindEvent(window,"backButton",(e=>__awaiter(this,void 0,void 0,(function*(){var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();yield this.requestCancel()}))),null,{capture:true});const task=this.localFileService.upload(this.parameters.files,this.parameters.extra,this.cancelToken);this.files=task.tasks;this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("progress",{min:0,max:task.total,value:Bind.source(task,(x=>x.source.progress))}));this.render(XNode.create("div",{"data-overflow":"auto","style-max-height":"500px","style-max-width":"400px"},XNode.create(AtomRepeater,{"data-layout":"vertical-flex-stretch-items",items:this.files,itemRenderer:file=>XNode.create("div",{"data-attachment-file":"file"},XNode.create("div",{"data-element":"file-name",text:file.name}),XNode.create("progress",{"style-display":Bind.source(file,(x=>x.source.progress>0)),min:0,max:1,value:Bind.source(file,(x=>x.source.progress))}),XNode.create("div",{"data-element":"error","data-color":"red",text:Bind.source(file,(x=>x.source.error))}))})));try{const ct=new CancelToken;this.registerDisposable({dispose:()=>{ct.cancel()}});const tasks=this.files.map((x=>x.promise));const files=yield Promise.all(tasks);const extra=this.parameters.extra;this.close({files,extra})}catch(error){if(CancelToken.isCancelled(error)){this.cancel(error);return}yield PopupService.alert({message:error});this.cancel(error)}}))}};__decorate([InjectProperty,__metadata("design:type",LocalFileService)],FileUploadWindow.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,contentType=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null&&x.contentType!=="snapshot"));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}if(contentType){q=q.where({contentType},(p=>x=>x.contentType===p.contentType))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){return __awaiter(this,void 0,void 0,(function*(){if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});const root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}return yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken})}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showSnapShot=false,showFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}if(!showSnapShot){q=q.where((x=>x.contentType!=="snapshot"))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){children.add(iterator)}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,isDeleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
1172
+ `.installGlobal("[data-attachment-file]");LocalFileService=class LocalFileService extends TaskManager{constructor(){super();this.rateLimit=4;document.body.addEventListener("uploadRequested",(ce=>{const{target,detail:{files,extra,uploadEvent}}=ce;ce.preventDefault();this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});target.dispatchEvent(new CustomEvent(StringHelper.fromHyphenToCamel(uploadEvent),{detail,bubbles:true}))}))))}))}uploadWithProgress(files,extra){return __awaiter(this,void 0,void 0,(function*(){const detail=yield FileUploadWindow.showModal({parameters:{files,extra}});return detail.files}))}sha256(blob){return __awaiter(this,void 0,void 0,(function*(){const msgBuffer=yield blob.arrayBuffer();const hashBuffer=yield crypto.subtle.digest("SHA-256",msgBuffer);const hashArray=Array.from(new Uint8Array(hashBuffer));const hashHex=hashArray.map((b=>b.toString(16).padStart(2,"0"))).join("");return hashHex}))}uploadFileParts(file,extra,cancelToken,progress){return __awaiter(this,void 0,void 0,(function*(){let size=file.size;const parts=[];const tasks=[];const maxSize=4*1024*1024;let start=0;const fud=new FileUploader;while(size>0){const blobSize=Math.min(maxSize,file.size-start);const part=new File([file.slice(start,start+blobSize)],"file.dat");size-=blobSize;start+=blobSize;const uploadRequest=fud.upload({url:apiPath("/api/tmp/upload"),file:part,cancelToken,progress:()=>{const done=parts.reduce(((pv,cv)=>pv+cv.done),0)||0;progress===null||progress===void 0?void 0:progress(done/parts.length)}});parts.push(uploadRequest);tasks.push(uploadRequest.promise)}const tempUrls=yield Promise.all(tasks);const tempKeys=tempUrls.map((x=>x.key));const name=file.name;const{parentID,appFileID,folder}=extra;const appFile=yield FetchBuilder.post(apiPath("/api/upload")).form("name",name).form("tempKeys",JSON.stringify(tempKeys)).form("contentType",file.type).query("parentID",parentID).query("appFileID",appFileID).query("folder",folder).responseAsJson();return{url:appFile.url,downloadUrl:appFile.url,file,contentType:appFile.contentType,fileContentID:appFile.fileContentID,appFileID:appFile.appFileID}}))}uploadFile(file,extra,ct,progress){return __awaiter(this,void 0,void 0,(function*(){let folder=void 0;if(file.webkitRelativePath){const folders=file.webkitRelativePath.split("/");folders.pop();if(folders.length){folder=folders.join("/")}}if(typeof extra==="string"){extra=JSON.parse(extra)}const sha256=yield this.sha256(file);if(extra===null||extra===void 0?void 0:extra.parentID){const existing=yield this.entityService.query(AppFile,"children",extra.parentID,folder?folder+"/"+file.name:file.name,sha256).firstOrDefault();if(existing){const{appFileID,url}=existing;return{appFileID,file,url}}}if(file.size>4*1024*1024){if(folder){extra!==null&&extra!==void 0?extra:extra={};extra.folder=folder}return yield this.uploadFileParts(file,extra,ct,progress)}return new Promise(((resolve,reject)=>{const body=new FormData;body.append(file.name,file,file.name);body.append("sha256",sha256);const xhr=new XMLHttpRequest;const onError=()=>{reject(new Error(xhr.responseText||"Error"))};ct===null||ct===void 0?void 0:ct.registerForCancel((()=>xhr.abort()));xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.upload.addEventListener("timeout",onError);xhr.upload.addEventListener("error",onError);xhr.upload.addEventListener("abort",onError);xhr.addEventListener("timeout",onError);xhr.addEventListener("abort",onError);xhr.addEventListener("error",onError);xhr.upload.addEventListener("progress",(event=>{if(event.lengthComputable){progress===null||progress===void 0?void 0:progress(event.loaded/event.total)}}));xhr.addEventListener("load",(()=>{if(xhr.status<=300){const r=Object.assign(Object.assign({},JSON.parse(xhr.responseText)),{file});resolve(r)}}));let postUrl=apiPath("/api/upload");const s=new URLSearchParams;if(extra){for(const key in extra){if(Object.prototype.hasOwnProperty.call(extra,key)){const element=extra[key];if(element){s.append(key,element)}}}}if(folder){s.append("folder",folder)}postUrl+="?"+s.toString();xhr.open("POST",postUrl,true);xhr.send(body)}))}))}upload(files,extra,ct){const tasks=[];const upload={total:0,tasks,progress:0,error:""};for(const file of files){upload.total+=file.size;const uploadFile={name:file.name,error:"",progress:0};uploadFile.promise=this.run((()=>__awaiter(this,void 0,void 0,(function*(){var _a,_b;let lastError;for(let i=0;i<3;i++){try{uploadFile.progress=.01;const r=yield this.uploadFile(file,extra,ct,(n=>uploadFile.progress=n));upload.progress+=r.file.size;setTimeout((()=>tasks.remove(uploadFile)),500);upload.error="";lastError=null;return r}catch(error){lastError=`${(_a=file.webkitRelativePath)!==null&&_a!==void 0?_a:""}/${file.name} failed to upload.\n${(_b=error.stack)!==null&&_b!==void 0?_b:error}`;uploadFile.error=lastError}}if(lastError){upload.error+="\n"+lastError}}))));tasks.push(uploadFile)}return upload}};__decorate([Inject,__metadata("design:type",App)],LocalFileService.prototype,"app",void 0);__decorate([Inject,__metadata("design:type",EntityService)],LocalFileService.prototype,"entityService",void 0);LocalFileService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],LocalFileService);_export("default",LocalFileService);FileUploadWindow=class FileUploadWindow extends PopupWindow{constructor(){super(...arguments);this.parameters={}}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Uploading...";this.closeWarning="Are you sure you want to cancel the upload?";this.bindEvent(window,"backButton",(e=>__awaiter(this,void 0,void 0,(function*(){var _a;e.preventDefault();(_a=e.stopImmediatePropagation)===null||_a===void 0?void 0:_a.call(e);e.stopPropagation();yield this.requestCancel()}))),null,{capture:true});const task=this.localFileService.upload(this.parameters.files,this.parameters.extra,this.cancelToken);this.files=task.tasks;this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("progress",{min:0,max:task.total,value:Bind.source(task,(x=>x.source.progress))}));this.render(XNode.create("div",{"data-overflow":"auto","style-max-height":"500px","style-max-width":"400px"},XNode.create(AtomRepeater,{"data-layout":"vertical-flex-stretch-items",items:this.files,itemRenderer:file=>XNode.create("div",{"data-attachment-file":"file"},XNode.create("div",{"data-element":"file-name",text:file.name}),XNode.create("progress",{"style-display":Bind.source(file,(x=>x.source.progress>0)),min:0,max:1,value:Bind.source(file,(x=>x.source.progress))}),XNode.create("div",{"data-element":"error","data-color":"red",text:Bind.source(file,(x=>x.source.error))}))})));try{const ct=new CancelToken;this.registerDisposable({dispose:()=>{ct.cancel()}});const tasks=this.files.map((x=>x.promise));const files=yield Promise.all(tasks);const extra=this.parameters.extra;this.close({files,extra})}catch(error){if(CancelToken.isCancelled(error)){this.cancel(error);return}yield PopupService.alert({message:error});this.cancel(error)}}))}};__decorate([InjectProperty,__metadata("design:type",LocalFileService)],FileUploadWindow.prototype,"localFileService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/LocalFileService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,contentType=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null&&x.contentType!=="snapshot"));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}if(contentType){q=q.where({contentType},(p=>x=>x.contentType===p.contentType))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){var _a;return __awaiter(this,void 0,void 0,(function*(){let root;if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}root=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});(_a=root.children)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.isFolder?Number.MIN_SAFE_INTEGER:b.isFolder?Number.MAX_SAFE_INTEGER:a.name.localeCompare(b.name)));return root}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showSnapShot=false,showFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}if(!showSnapShot){q=q.where((x=>x.contentType!=="snapshot"))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){children.add(iterator)}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}results.sort(((a,b)=>a.isFolder?Number.MIN_SAFE_INTEGER:b.isFolder?Number.MAX_SAFE_INTEGER:a.name.localeCompare(b.name)));results.refresh();return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,isDeleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
1173
1173
 
1174
1174
  display: flex;
1175
1175
  flex-direction: column;
@@ -4498,7 +4498,7 @@ display: grid;
4498
4498
  }
4499
4499
 
4500
4500
  }
4501
- `.installLocal();_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFiles=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{class:"folder-tree",accept,folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",{class:"search","data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.filesRepeater=c)),selectOnClick:true,selectedItems:this.selectedFiles,allowMultipleSelection:this.parameters.multiple,header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,accept,cancelToken}))),itemRenderer:item=>XNode.create("div",{class:"media-file"},this.parameters.multiple&&XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",title:item.name,text:item.name}),XNode.create("img",{class:"file-preview",src:apiPath(`/api/files/webp(300)/${item.appFileID}/${item.fileContentID}/${item.name}.300.webp`)}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0)),"data-layout":"row"},XNode.create(SelectAll,{items:Bind.oneWay((()=>this.filesRepeater.items)),selectedItems:this.selectedFiles}),XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create(SaveIconTextButton,{"data-click-event":"select-file",text:"Insert"}))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const size=this.size;return this.selectedFiles.map((file=>({file,size})))}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../web/page/files/service/CloudFileService","./MonacoService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,SaveIconTextButton,Bind,Action,InjectProperty,CloudFileService,MonacoService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_MonacoService){MonacoService=_MonacoService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.file=this.parameters.file;this.title=this.file.name;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create("iframe",null));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Close"}));const file=this.file;const iframe=this.element.querySelector("iframe");this.monacoService=yield MonacoService.createEditor(this,iframe);this.content=this.parameters.content;this.monacoService.setCodeModel(this,this.content,`http://a/${file.name}`)}))}codeChanged({code}){this.modified||(this.modified=this.content!==code);this.content=code}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{content}=this;return content}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"code-changed"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CodeEditorPage.prototype,"codeChanged",null);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,imageUrl,srcSetUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file)=>{const small=imageUrl(site,file,480)+" 640w";const medium=imageUrl(site,file,720)+" 1024w";const large=imageUrl(site,file)+" 1256w";return`${small},${medium},${large}`})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","../../web/page/files/media/ChooseMediaPage","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage","../../common/apiPath","@web-atoms/core/dist/services/FetchBuilder","../../common/fileUrl"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,ChooseMediaPage,PageNavigator,StylerSet,InjectProperty,CloudFileService,Action,CodeEditorPage,apiPath,FetchBuilder,imageUrl,srcSetUrl,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webPageFilesMediaChooseMediaPage){ChooseMediaPage=_webPageFilesMediaChooseMediaPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonFileUrl){imageUrl=_commonFileUrl.imageUrl;srcSetUrl=_commonFileUrl.srcSetUrl}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*",multiple:true});const images=files.map((({file,size})=>{const src=imageUrl(this.folder,file,size);const srcset=srcSetUrl(this.folder,file);return{src,"data-src-set":srcset}}));yield this.insertImage(...images)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){let file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();let content=yield FetchBuilder.get(file.downloadUrl).responseAsText();const modifiedContent=yield PageNavigator.pushPageForResult(CodeEditorPage,{file,content});if(modifiedContent!==content){content=modifiedContent;yield this.cloudFileService.saveFile({content:new File([content],file.name,{type:file.contentType}),appFileID:file.appFileID});file=yield this.cloudFileService.getFile(file.appFileID)}yield this.addStyleSheet(file)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const stylerCSS=yield this.createFile("styler.css",StylerSet.instance.toString());yield this.addStyleSheet(stylerCSS);let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(vars);let script=this.htmlDocument.querySelector("script[web-components]");if(!script){script=this.htmlDocument.createElement("script");script.setAttribute("web-components","social");script.setAttribute("async","true");script.setAttribute("defer","true");this.htmlDocument.head.appendChild(this.htmlDocument.createTextNode("\n"));this.htmlDocument.head.appendChild(script)}script.setAttribute("src","//cdn.jsdelivr.net/npm/@social-mail/web-components@1.0.50/dist/components.webpack.js")}))}addStyleSheet(file){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;const href=apiPath(`/api/site/asset/download/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`);let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(this.htmlDocument.createTextNode("\n"));document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/repeater/InfiniteRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,WebSiteService,XNode,AtomRepeater,InfiniteRepeater,DateFormats,WebSiteHistory;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",WebSiteHistory=class WebSiteHistory extends PopupWindowPage{constructor(){super(...arguments);this.versions=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.folder.name} Versions`;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.versions},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.getVersions({folderID:this.parameters.folderID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.name}),XNode.create("span",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("span",{text:item.author.displayName}))})))}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteHistory.prototype,"websiteService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/history/WebSiteHistory");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../controls/collection-editor/CollectionEditor"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteFolderHost,XNode,Bind,CollectionEditor,ViewWebSitePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteFolderHost=_modelModel.WebSiteFolderHost},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default}],execute:function(){_export("default",ViewWebSitePage=class ViewWebSitePage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).hosts)!==null&&_a!==void 0?_a:_b.hosts=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To view website, you must add host name with correct DNS settings. Please contact support for more help.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Hosts",model:this.model,collection:"hosts",itemRenderer:item=>XNode.create("div",null,XNode.create("a",{href:`https://${item.host}`,target:"_blank",text:item.host})),itemFactory:()=>{const host=prompt("Internet URL Host","");if(!host){return}return WebSiteFolderHost.create({host})}}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/view/ViewWebSitePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/repeater/InfiniteRepeater","../../../Sql","../../../controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Mailbox,XNode,Bind,InjectProperty,EntityService,AtomRepeater,InfiniteRepeater,Sql,SaveIconTextButton,LookupChannelPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_Sql){Sql=_Sql.Sql},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",LookupChannelPage=class LookupChannelPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selected=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Search for Channels/Blogs";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({selectOnClick:true,"data-list-selection":"default",selectedItem:Bind.twoWaysImmediate((()=>this.selected))},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.searchItems({start,search:this.search,cancelToken}))))));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected!==null)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Select"}))}))}searchItems({start,size=10,search="",cancelToken}){return __awaiter(this,void 0,void 0,(function*(){search=search===null||search===void 0?void 0:search.toLowerCase();search||(search="");let q=this.entityService.query(Mailbox).where((x=>x.isChannel===true&&x.isPrivateChannel===false));if(search){search=search+"%";if(search.startsWith("@")){q=q.where({search},(p=>x=>Sql.text.like(x.domain.domain.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}}return q.toPagedList({start,cancelToken,size})}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],LookupChannelPage.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/blogs/LookupChannelPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../controls/collection-editor/CollectionEditor","@web-atoms/web-controls/dist/PageNavigator","./LookupChannelPage"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteChannel,XNode,Bind,CollectionEditor,PageNavigator,LookupChannelPage,WebSiteBlogsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteChannel=_modelModel.WebSiteChannel},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_LookupChannelPage){LookupChannelPage=_LookupChannelPage.default}],execute:function(){_export("default",WebSiteBlogsPage=class WebSiteBlogsPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).channels)!==null&&_a!==void 0?_a:_b.channels=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To display blog/channels on your website, you must add them here.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Channels",model:this.model,collection:"channels",itemRenderer:item=>XNode.create("div",null,item.channel.emailAddress.emailAddress),itemFactory:()=>__awaiter(this,void 0,void 0,(function*(){const{mailboxID:channelID}=yield PageNavigator.pushPageForResult(LookupChannelPage);return WebSiteChannel.create({channelID})}))}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/blogs/WebSiteBlogsPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,AppFile,AppFileVersion,Sql,FileHistoryService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;AppFileVersion=_modelModel.AppFileVersion},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("FileHistoryService",FileHistoryService=class FileHistoryService{list({start=0,size=20,appFileID=0,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(AppFileVersion).where({appFileID},(p=>x=>x.fileID===p.appFileID));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.fileContent.textDocument.searchable,p.search)))}return q.include((x=>x.fileContent)).orderByDescending((x=>x.versionID)).toPagedList({start,size,cancelToken})}))}restore(version){return __awaiter(this,void 0,void 0,(function*(){const{fileID,fileContentID}=version;const file=yield this.entityService.query(AppFile).where({fileID},(p=>x=>x.appFileID===p.fileID)).firstOrDefault();file.fileContentID=fileContentID;yield this.entityService.save(file);return file}))}});__decorate([Inject,__metadata("design:type",EntityService)],FileHistoryService.prototype,"entityService",void 0);_export("FileHistoryService",FileHistoryService=__decorate([DITransient()],FileHistoryService))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/FileHistoryService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../../../services/files/FileHistoryService","../../date/DateFormats","../../NumberFormats","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InfiniteRepeater,InjectProperty,FileHistoryService,DateFormats,toFileSize,SaveIconTextButton,Action,FileHistoryPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileHistoryService){FileHistoryService=_servicesFilesFileHistoryService.FileHistoryService},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",FileHistoryPage=class FileHistoryPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name+" History";this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.fileHistoryService.list({appFileID:this.parameters.appFileID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.versionID}),XNode.create("label",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("label",{text:toFileSize(item.fileContent.contentSize)}),XNode.create("br",null),XNode.create(SaveIconTextButton,{"data-click-event":"restore-file",text:"Restore"}))})))}))}restoreFile(version){return __awaiter(this,void 0,void 0,(function*(){return yield this.fileHistoryService.restore(version)}))}});__decorate([InjectProperty,__metadata("design:type",FileHistoryService)],FileHistoryPage.prototype,"fileHistoryService",void 0);__decorate([Action({confirm:"Are you sure you want to restore this version?",onEvent:"restore-file",close:true,success:"File restored successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FileHistoryPage.prototype,"restoreFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","../../../../model/model","../../../../web/page/files/shares/EditSharesPage","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../controls/tree/FileTreeView","../../../../site-editor/editor/WebSitePageEditor","../../../../code-editor/CodeEditorPage","../../../../services/websites/WebSiteService","../../../controls/buttons/IconButton","../../../../web/commands/AppCommands","../history/WebSiteHistory","../view/ViewWebSitePage","../blogs/WebSiteBlogsPage","../../../apiPath","../../files/FileHistoryPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,CloudFileService,Bind,XNode,styled,Action,PageNavigator,MenuItem,AppFile,EditSharesPage,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,FileTreeView,WebSitePageEditor,CodeEditorPage,WebSiteService,EditIconTextButton,SaveIconTextButton,AppCommands,WebSiteHistory,ViewWebSitePage,WebSiteBlogsPage,apiPath,FileHistoryPage,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageFilesSharesEditSharesPage){EditSharesPage=_webPageFilesSharesEditSharesPage.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_controlsTreeFileTreeView){FileTreeView=_controlsTreeFileTreeView.FileTreeView},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_controlsButtonsIconButton){EditIconTextButton=_controlsButtonsIconButton.EditIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_historyWebSiteHistory){WebSiteHistory=_historyWebSiteHistory.default},function(_viewViewWebSitePage){ViewWebSitePage=_viewViewWebSitePage.default},function(_blogsWebSiteBlogsPage){WebSiteBlogsPage=_blogsWebSiteBlogsPage.default},function(_apiPath){apiPath=_apiPath.apiPath},function(_filesFileHistoryPage){FileHistoryPage=_filesFileHistoryPage.default}],execute:function(){css=styled.css`
4501
+ `.installLocal();_export("default",ChooseMediaPage=class ChooseMediaPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.version=1;this.size=700;this.selectedFiles=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Media";const{accept="image/*, video/*, audio/*"}=this.parameters;this.selectedFolder=this.parameters.folder;this.element.style.minWidth="90%";this.element.style.minHeight="90%";this.renderer=XNode.create("div",{class:css},XNode.create(FolderTreeView,{class:"folder-tree",accept,folderId:this.parameters.folder.appFileID,selectedItem:Bind.twoWaysImmediate((()=>this.selectedFolder))}),XNode.create("div",{class:"search","data-layout":"row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("button",Object.assign({"data-layout":"accent-icon-button"},UploadEvent.AttachUploadAction({multiple:true,extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})})),accept})),XNode.create("i",{class:"fas fa-upload"}),"Upload")),XNode.create("div",Object.assign({class:"file-list"},FilesDragDrop({extra:Bind.oneWay((()=>{var _a;return JSON.stringify({parentID:(_a=this.selectedFolder)===null||_a===void 0?void 0:_a.appFileID})}))})),XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.filesRepeater=c)),selectOnClick:true,selectedItems:this.selectedFiles,allowMultipleSelection:this.parameters.multiple,header:true,headerRenderer:item=>XNode.create("div",{"data-position":"sticky-top","data-layout":"header-row"}),items:Bind.oneWayAsync(((c,e,cancelToken)=>this.cloudFileService.files({search:this.search,folder:this.selectedFolder,version:this.version,showFolder:false,accept,cancelToken}))),itemRenderer:item=>XNode.create("div",{class:"media-file"},this.parameters.multiple&&XNode.create(SelectorCheckBox,null),XNode.create("label",{class:"file-name",title:item.name,text:item.name}),XNode.create("img",{class:"file-preview",src:apiPath(`/api/files/webp(300)/${item.appFileID}/${item.fileContentID}/${item.name}.300.webp`)}))})));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selectedFiles.length>0)),"data-layout":"row"},XNode.create(SelectAll,{items:Bind.oneWay((()=>this.filesRepeater.items)),selectedItems:this.selectedFiles}),XNode.create("input",{type:"range",min:"100",max:"2000",step:"100",value:Bind.twoWaysImmediate((()=>this.size))}),XNode.create("span",{text:Bind.oneWay((()=>`${this.size}px`))}),XNode.create(SaveIconTextButton,{"data-click-event":"select-file",text:"Insert"}))}))}selectFile(){return __awaiter(this,void 0,void 0,(function*(){const size=this.size;return this.selectedFiles.map((file=>({file,size})))}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],ChooseMediaPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"select-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"selectFile",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseMediaPage.prototype,"onFilesUploaded",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/media/ChooseMediaPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","../common/controls/buttons/IconButton","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../web/page/files/service/CloudFileService","./MonacoService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,SaveIconTextButton,Bind,Action,InjectProperty,CloudFileService,MonacoService,CodeEditorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_MonacoService){MonacoService=_MonacoService.default}],execute:function(){_export("default",CodeEditorPage=class CodeEditorPage extends ContentPage{constructor(){super(...arguments);this.modified=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.file=this.parameters.file;this.title=this.file.name;this.renderer=XNode.create("div",{"data-display":"grid","data-align-items":"stretch","data-justify-items":"stretch"},XNode.create("iframe",null));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified),false)},XNode.create(SaveIconTextButton,{"data-click-event":"save-file",text:"Close"}));const file=this.file;const iframe=this.element.querySelector("iframe");this.monacoService=yield MonacoService.createEditor(this,iframe);this.content=this.parameters.content;this.monacoService.setCodeModel(this,this.content,`http://a/${file.name}`)}))}codeChanged({code}){this.modified||(this.modified=this.content!==code);this.content=code}saveFile(){return __awaiter(this,void 0,void 0,(function*(){const{content}=this;return content}))}hide(){this.element.setAttribute("data-page-state","hidden")}show(){if(!this.element._logicalParent.contains(this.element)){this.element._logicalParent.appendChild(this.element)}setTimeout((()=>this.element.setAttribute("data-page-state","ready")),1)}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],CodeEditorPage.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"code-changed"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],CodeEditorPage.prototype,"codeChanged",null);__decorate([Action({onEvent:"save-file",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CodeEditorPage.prototype,"saveFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/code-editor/CodeEditorPage");System.register(["./apiPath"],(function(_export,_context){"use strict";var apiPath,imageUrl,srcSetUrl;return{setters:[function(_apiPath){apiPath=_apiPath.apiPath}],execute:function(){_export("imageUrl",imageUrl=(site,file,size)=>{const name=encodeURIComponent(file.name);if(!size){return apiPath(`/api/site/asset/webp/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.webp`)}return apiPath(`/api/site/asset/webp(${size})/${site.appFileID}/${file.appFileID}/${file.fileContentID}/${name}.${size}.webp`)});_export("srcSetUrl",srcSetUrl=(site,file)=>{const small=imageUrl(site,file,480)+" 640w";const medium=imageUrl(site,file,720)+" 1024w";const large=imageUrl(site,file)+" 1256w";return`${small},${medium},${large}`})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/fileUrl");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","./HtmlPageEditor","../../web/page/files/media/ChooseMediaPage","@web-atoms/web-controls/dist/PageNavigator","../styler/StylerSet","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","@web-atoms/core/dist/view-model/Action","../../code-editor/CodeEditorPage","../../common/apiPath","@web-atoms/core/dist/services/FetchBuilder","../../common/fileUrl"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,BindableProperty,HtmlPageEditor,ChooseMediaPage,PageNavigator,StylerSet,InjectProperty,CloudFileService,Action,CodeEditorPage,apiPath,FetchBuilder,imageUrl,srcSetUrl,WebSitePageEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_HtmlPageEditor){HtmlPageEditor=_HtmlPageEditor.default},function(_webPageFilesMediaChooseMediaPage){ChooseMediaPage=_webPageFilesMediaChooseMediaPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_stylerStylerSet){StylerSet=_stylerStylerSet.StylerSet},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonFileUrl){imageUrl=_commonFileUrl.imageUrl;srcSetUrl=_commonFileUrl.srcSetUrl}],execute:function(){_export("default",WebSitePageEditor=class WebSitePageEditor extends HtmlPageEditor{constructor(){super(...arguments);this.folder=null}changeImage(){return __awaiter(this,void 0,void 0,(function*(){const files=yield PageNavigator.pushPageForResult(ChooseMediaPage,{folder:this.folder,accept:"image/*",multiple:true});const images=files.map((({file,size})=>{const src=imageUrl(this.folder,file,size);const srcset=srcSetUrl(this.folder,file);return{src,"data-src-set":srcset}}));yield this.insertImage(...images)}))}openVariables(){return __awaiter(this,void 0,void 0,(function*(){let file=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();let content=yield FetchBuilder.get(file.downloadUrl).responseAsText();const modifiedContent=yield PageNavigator.pushPageForResult(CodeEditorPage,{file,content});if(modifiedContent!==content){content=modifiedContent;yield this.cloudFileService.saveFile({content:new File([content],file.name,{type:file.contentType}),appFileID:file.appFileID});file=yield this.cloudFileService.getFile(file.appFileID)}yield this.addStyleSheet(file)}))}setStylerSheet(){return __awaiter(this,void 0,void 0,(function*(){const stylerCSS=yield this.createFile("styler.css",StylerSet.instance.toString());yield this.addStyleSheet(stylerCSS);let vars=yield this.cloudFileService.children(this.folder.appFileID,"styles/vars.css").firstOrDefault();if(!vars){vars=yield this.createFile("vars.css",`* {\n ${StylerSet.instance.varsCss}\n }`)}yield this.addStyleSheet(vars);let script=this.htmlDocument.querySelector("script[web-components]");if(!script){script=this.htmlDocument.createElement("script");script.setAttribute("web-components","social");script.setAttribute("async","true");script.setAttribute("defer","true");this.htmlDocument.head.appendChild(this.htmlDocument.createTextNode("\n"));this.htmlDocument.head.appendChild(script)}script.setAttribute("src","//cdn.jsdelivr.net/npm/@social-mail/web-components@1.0.51/dist/components.webpack.js")}))}addStyleSheet(file){return __awaiter(this,void 0,void 0,(function*(){const document=this.htmlDocument;const href=apiPath(`/api/site/asset/download/${this.folder.appFileID}/${file.appFileID}/${file.fileContentID}/${file.name}`);let link;for(const iterator of Array.from(document.querySelectorAll(`link[rel="stylesheet"][styler-css]`))){if(iterator.getAttribute("styler-css")===file.name){link=iterator;break}}if(!link){link!==null&&link!==void 0?link:link=document.createElement("link");document.head.appendChild(this.htmlDocument.createTextNode("\n"));document.head.appendChild(link);link.rel="stylesheet";link.setAttribute("styler-css",file.name)}link.href=href}))}createFile(fileName,css){return __awaiter(this,void 0,void 0,(function*(){const content=new File([css],fileName,{type:"text/css"});const{appFileID}=yield this.cloudFileService.saveFile({parentID:this.folder.appFileID,folder:"styles",content});const file=yield this.cloudFileService.getFile(appFileID);return file}))}});__decorate([BindableProperty,__metadata("design:type",Object)],WebSitePageEditor.prototype,"folder",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSitePageEditor.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"open-variables"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSitePageEditor.prototype,"openVariables",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor/editor/WebSitePageEditor");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/repeater/InfiniteRepeater","../../../date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,WebSiteService,XNode,AtomRepeater,InfiniteRepeater,DateFormats,WebSiteHistory;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats}],execute:function(){_export("default",WebSiteHistory=class WebSiteHistory extends PopupWindowPage{constructor(){super(...arguments);this.versions=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.folder.name} Versions`;this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.versions},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.getVersions({folderID:this.parameters.folderID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("span",{text:item.name}),XNode.create("span",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("span",{text:item.author.displayName}))})))}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteHistory.prototype,"websiteService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/history/WebSiteHistory");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../controls/collection-editor/CollectionEditor"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteFolderHost,XNode,Bind,CollectionEditor,ViewWebSitePage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteFolderHost=_modelModel.WebSiteFolderHost},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default}],execute:function(){_export("default",ViewWebSitePage=class ViewWebSitePage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).hosts)!==null&&_a!==void 0?_a:_b.hosts=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To view website, you must add host name with correct DNS settings. Please contact support for more help.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Hosts",model:this.model,collection:"hosts",itemRenderer:item=>XNode.create("div",null,XNode.create("a",{href:`https://${item.host}`,target:"_blank",text:item.host})),itemFactory:()=>{const host=prompt("Internet URL Host","");if(!host){return}return WebSiteFolderHost.create({host})}}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/view/ViewWebSitePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../controls/repeater/InfiniteRepeater","../../../Sql","../../../controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Mailbox,XNode,Bind,InjectProperty,EntityService,AtomRepeater,InfiniteRepeater,Sql,SaveIconTextButton,LookupChannelPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_Sql){Sql=_Sql.Sql},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton}],execute:function(){_export("default",LookupChannelPage=class LookupChannelPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selected=null}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Search for Channels/Blogs";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({selectOnClick:true,"data-list-selection":"default",selectedItem:Bind.twoWaysImmediate((()=>this.selected))},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.searchItems({start,search:this.search,cancelToken}))))));this.footerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.selected!==null)),"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.close(this.selected),text:"Select"}))}))}searchItems({start,size=10,search="",cancelToken}){return __awaiter(this,void 0,void 0,(function*(){search=search===null||search===void 0?void 0:search.toLowerCase();search||(search="");let q=this.entityService.query(Mailbox).where((x=>x.isChannel===true&&x.isPrivateChannel===false));if(search){search=search+"%";if(search.startsWith("@")){q=q.where({search},(p=>x=>Sql.text.like(x.domain.domain.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}}return q.toPagedList({start,cancelToken,size})}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],LookupChannelPage.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/blogs/LookupChannelPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../controls/collection-editor/CollectionEditor","@web-atoms/web-controls/dist/PageNavigator","./LookupChannelPage"],(function(_export,_context){"use strict";var __awaiter,PopupWindowPage,WebSiteChannel,XNode,Bind,CollectionEditor,PageNavigator,LookupChannelPage,WebSiteBlogsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){WebSiteChannel=_modelModel.WebSiteChannel},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsCollectionEditorCollectionEditor){CollectionEditor=_controlsCollectionEditorCollectionEditor.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_LookupChannelPage){LookupChannelPage=_LookupChannelPage.default}],execute:function(){_export("default",WebSiteBlogsPage=class WebSiteBlogsPage extends PopupWindowPage{init(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){this.model=this.parameters;(_a=(_b=this.model).channels)!==null&&_a!==void 0?_a:_b.channels=[];this.title=`View ${this.parameters.folder.name}`;this.headerRenderer=()=>XNode.create("div",{"style-display":Bind.oneWay((()=>this.parameters.hosts.length===0))},"To display blog/channels on your website, you must add them here.");this.renderer=XNode.create("div",null,XNode.create(CollectionEditor,{label:"Channels",model:this.model,collection:"channels",itemRenderer:item=>XNode.create("div",null,item.channel.emailAddress.emailAddress),itemFactory:()=>__awaiter(this,void 0,void 0,(function*(){const{mailboxID:channelID}=yield PageNavigator.pushPageForResult(LookupChannelPage);return WebSiteChannel.create({channelID})}))}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/blogs/WebSiteBlogsPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,AppFile,AppFileVersion,Sql,FileHistoryService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;AppFileVersion=_modelModel.AppFileVersion},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){_export("FileHistoryService",FileHistoryService=class FileHistoryService{list({start=0,size=20,appFileID=0,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(AppFileVersion).where({appFileID},(p=>x=>x.fileID===p.appFileID));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.fileContent.textDocument.searchable,p.search)))}return q.include((x=>x.fileContent)).orderByDescending((x=>x.versionID)).toPagedList({start,size,cancelToken})}))}restore(version){return __awaiter(this,void 0,void 0,(function*(){const{fileID,fileContentID}=version;const file=yield this.entityService.query(AppFile).where({fileID},(p=>x=>x.appFileID===p.fileID)).firstOrDefault();file.fileContentID=fileContentID;yield this.entityService.save(file);return file}))}});__decorate([Inject,__metadata("design:type",EntityService)],FileHistoryService.prototype,"entityService",void 0);_export("FileHistoryService",FileHistoryService=__decorate([DITransient()],FileHistoryService))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/files/FileHistoryService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/InjectProperty","../../../services/files/FileHistoryService","../../date/DateFormats","../../NumberFormats","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InfiniteRepeater,InjectProperty,FileHistoryService,DateFormats,toFileSize,SaveIconTextButton,Action,FileHistoryPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileHistoryService){FileHistoryService=_servicesFilesFileHistoryService.FileHistoryService},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",FileHistoryPage=class FileHistoryPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title=this.parameters.name+" History";this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.fileHistoryService.list({appFileID:this.parameters.appFileID,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("label",{text:item.versionID}),XNode.create("label",{text:DateFormats.relative.short(item.dateCreated)}),XNode.create("label",{text:toFileSize(item.fileContent.contentSize)}),XNode.create("br",null),XNode.create(SaveIconTextButton,{"data-click-event":"restore-file",text:"Restore"}))})))}))}restoreFile(version){return __awaiter(this,void 0,void 0,(function*(){return yield this.fileHistoryService.restore(version)}))}});__decorate([InjectProperty,__metadata("design:type",FileHistoryService)],FileHistoryPage.prototype,"fileHistoryService",void 0);__decorate([Action({confirm:"Are you sure you want to restore this version?",onEvent:"restore-file",close:true,success:"File restored successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FileHistoryPage.prototype,"restoreFile",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/FileHistoryPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/PopupButton","../../../../model/model","../../../../web/page/files/shares/EditSharesPage","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../controls/tree/FileTreeView","../../../../site-editor/editor/WebSitePageEditor","../../../../code-editor/CodeEditorPage","../../../../services/websites/WebSiteService","../../../controls/buttons/IconButton","../../../../web/commands/AppCommands","../history/WebSiteHistory","../view/ViewWebSitePage","../blogs/WebSiteBlogsPage","../../../apiPath","../../files/FileHistoryPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,CloudFileService,Bind,XNode,styled,Action,PageNavigator,MenuItem,AppFile,EditSharesPage,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,FileTreeView,WebSitePageEditor,CodeEditorPage,WebSiteService,EditIconTextButton,SaveIconTextButton,AppCommands,WebSiteHistory,ViewWebSitePage,WebSiteBlogsPage,apiPath,FileHistoryPage,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageFilesSharesEditSharesPage){EditSharesPage=_webPageFilesSharesEditSharesPage.default},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_controlsTreeFileTreeView){FileTreeView=_controlsTreeFileTreeView.FileTreeView},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_controlsButtonsIconButton){EditIconTextButton=_controlsButtonsIconButton.EditIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_historyWebSiteHistory){WebSiteHistory=_historyWebSiteHistory.default},function(_viewViewWebSitePage){ViewWebSitePage=_viewViewWebSitePage.default},function(_blogsWebSiteBlogsPage){WebSiteBlogsPage=_blogsWebSiteBlogsPage.default},function(_apiPath){apiPath=_apiPath.apiPath},function(_filesFileHistoryPage){FileHistoryPage=_filesFileHistoryPage.default}],execute:function(){css=styled.css`
4502
4502
  display: grid;
4503
4503
  grid-template-columns: 200px 1fr;
4504
4504
  gap: 5px;
@@ -4515,7 +4515,7 @@ display: grid;
4515
4515
  justify-self: stretch;
4516
4516
  align-self: stretch;
4517
4517
  }
4518
- `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);this.title=this.root.name;this.webSite=yield this.websiteService.get(this.root.appFileID);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));yield this.onItemExpanded(this.root);if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;const baseUrl=apiPath(`/api/site/draft/${this.root.appFileID}/`);this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:this.root.name}),XNode.create("div",{"style-display":Bind.oneWay((()=>this.webSite.isModified))},XNode.create(SaveIconTextButton,{"data-click-event":"publish-website",text:"Publish"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.webSite.folderID})},XNode.create(EditIconTextButton,{text:"Modify Files",title:"Use this to upload files manually"})),XNode.create(EditIconTextButton,{"data-click-event":"version-history",icon:"fas fa-history",text:"History",title:"Version History"}),XNode.create(EditIconTextButton,{"data-click-event":"link-blog",icon:"fad fa-blog",text:"Linked Blogs"}),XNode.create(EditIconTextButton,{"data-click-event":"view-website",icon:"fad fa-globe-pointer",text:"View Site"}),XNode.create("a",{href:apiPath(`/api/site/draft/${this.webSite.folderID}/`),target:"_blank"},XNode.create(EditIconTextButton,{icon:"fad fa-globe-pointer",text:"Preview Draft"})),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"}),XNode.create(MenuItem,{icon:"fas fa-history","data-click-event":"file-history",label:"File History"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",baseUrl,folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create(SaveIconTextButton,{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{file:this.selectedFile,content:(_a=this.htmlEditor.lastCommittedHtml)!==null&&_a!==void 0?_a:this.htmlEditor.htmlPage});this.pageContent=content;this.htmlEditor.htmlPage=content}))}openFolder(file){this.selectedFile=file}onItemExpanded(folder){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.files({search:"",accept:"text/html",folder,cancelToken:null})}))}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const html=`<!DOCTYPE html>${this.pageContent}`;const content=new File([html],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.webSite.isModified=true;this.pageContent=""}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){const{fileContentID,url,downloadUrl}=yield PageNavigator.pushPageForResult(FileHistoryPage,file);const{selectedFile}=this;if(file.appFileID===(selectedFile===null||selectedFile===void 0?void 0:selectedFile.appFileID)){selectedFile.url=url;selectedFile.downloadUrl=downloadUrl;selectedFile.fileContentID=fileContentID}}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.publish(this.webSite)}))}versionHistory(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteHistory,this.webSite)}))}viewWebSite(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ViewWebSitePage,this.webSite)}))}linkBlog(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteBlogsPage,this.webSite)}))}hide(){var _a,_b,_c;this.pageContent=(_b=(_a=this.htmlEditor)===null||_a===void 0?void 0:_a.lastCommittedHtml)!==null&&_b!==void 0?_b:(_c=this.htmlEditor)===null||_c===void 0?void 0:_c.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteStudioPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?",success:"Web site published successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"publishWebsite",null);__decorate([Action({onEvent:"version-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"versionHistory",null);__decorate([Action({onEvent:"view-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"viewWebSite",null);__decorate([Action({onEvent:"link-blog"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"linkBlog",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,DateTime,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user);if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}saveAuthFactors(af){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(af,(x=>x))}))}createAuthFactor(user,method="totp"){return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({userID:user.userID,method});yield this.entityService.save(authFactor);return authFactor}))}verify(af){return __awaiter(this,void 0,void 0,(function*(){af.dateUpdated=DateTime.now;yield this.entityService.save(af,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/basic/Form"],(function(_export,_context){"use strict";var XNode,styled,Form;function AppForm(a,...nodes){return XNode.create(Form,Object.assign({"data-app-form":"app-form"},a),...nodes)}_export("default",AppForm);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default}],execute:function(){styled.css`
4518
+ `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.version=1;this.pageContent=""}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);this.title=this.root.name;this.webSite=yield this.websiteService.get(this.root.appFileID);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;const baseUrl=apiPath(`/api/site/draft/${this.root.appFileID}/`);this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:this.root.name}),XNode.create("div",{"style-display":Bind.oneWay((()=>this.webSite.isModified))},XNode.create(SaveIconTextButton,{"data-click-event":"publish-website",text:"Publish"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.webSite.folderID})},XNode.create(EditIconTextButton,{text:"Modify Files",title:"Use this to upload files manually"})),XNode.create(EditIconTextButton,{"data-click-event":"version-history",icon:"fas fa-history",text:"History",title:"Version History"}),XNode.create(EditIconTextButton,{"data-click-event":"link-blog",icon:"fad fa-blog",text:"Linked Blogs"}),XNode.create(EditIconTextButton,{"data-click-event":"view-website",icon:"fad fa-globe-pointer",text:"View Site"}),XNode.create("a",{href:apiPath(`/api/site/draft/${this.webSite.folderID}/`),target:"_blank"},XNode.create(EditIconTextButton,{icon:"fad fa-globe-pointer",text:"Preview Draft"})),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"}),XNode.create(MenuItem,{icon:"fas fa-history","data-click-event":"file-history",label:"File History"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.pageContent){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",baseUrl,folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.pageContent=ce.detail,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?FetchBuilder.get(this.selectedFile.downloadUrl).cancelToken(cancelToken).responseAsText(true):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>!!this.pageContent))},XNode.create(SaveIconTextButton,{"data-click-event":"save-page",text:"Save"}))}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{file:this.selectedFile,content:(_a=this.htmlEditor.lastCommittedHtml)!==null&&_a!==void 0?_a:this.htmlEditor.htmlPage});this.pageContent=content;this.htmlEditor.htmlPage=content}))}openFolder(file){this.selectedFile=file}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){const html=`<!DOCTYPE html>${this.pageContent}`;const content=new File([html],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.webSite.isModified=true;this.pageContent=""}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){const{fileContentID,url,downloadUrl}=yield PageNavigator.pushPageForResult(FileHistoryPage,file);const{selectedFile}=this;if(file.appFileID===(selectedFile===null||selectedFile===void 0?void 0:selectedFile.appFileID)){selectedFile.url=url;selectedFile.downloadUrl=downloadUrl;selectedFile.fileContentID=fileContentID}}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.publish(this.webSite)}))}versionHistory(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteHistory,this.webSite)}))}viewWebSite(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ViewWebSitePage,this.webSite)}))}linkBlog(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteBlogsPage,this.webSite)}))}hide(){var _a,_b,_c;this.pageContent=(_b=(_a=this.htmlEditor)===null||_a===void 0?void 0:_a.lastCommittedHtml)!==null&&_b!==void 0?_b:(_c=this.htmlEditor)===null||_c===void 0?void 0:_c.htmlPage;super.hide()}show(){super.show();if(this.pageContent){setTimeout((()=>this.htmlEditor.htmlPage=this.pageContent),400)}}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteStudioPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?",success:"Web site published successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"publishWebsite",null);__decorate([Action({onEvent:"version-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"versionHistory",null);__decorate([Action({onEvent:"view-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"viewWebSite",null);__decorate([Action({onEvent:"link-blog"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"linkBlog",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/studio/WebSiteStudioPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../SocialMailApp","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,User,UserAuthFactor,SocialMailApp,DateTime,UserService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){User=_modelModel.User;UserAuthFactor=_modelModel.UserAuthFactor},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){UserService=class UserService{getCurrent(){return __awaiter(this,void 0,void 0,(function*(){const{userID}=SocialMailApp.user;return this.entityService.query(User).where({userID},(p=>x=>x.userID===p.userID)).include((x=>x.authFactors)).firstOrDefault()}))}save(user){return __awaiter(this,void 0,void 0,(function*(){let cloner=this.entityService.cloner(user);if(user.changePassword){cloner=cloner.include((x=>x.changePassword))}yield this.entityService.save(cloner.copy)}))}saveAuthFactors(af){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(af,(x=>x))}))}createAuthFactor(user,method="totp"){return __awaiter(this,void 0,void 0,(function*(){const authFactor=UserAuthFactor.create({userID:user.userID,method});yield this.entityService.save(authFactor);return authFactor}))}verify(af){return __awaiter(this,void 0,void 0,(function*(){af.dateUpdated=DateTime.now;yield this.entityService.save(af,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],UserService.prototype,"entityService",void 0);UserService=__decorate([DITransient()],UserService);_export("default",UserService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/services/UserService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../controls/form/RequiredFormField","@web-atoms/core/dist/core/Bind","../../../controls/password/PasswordStrength","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/PasswordBox","../../../validators/Validators","../../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InjectProperty,UserService,XNode,Form,PasswordFormField,Bind,PasswordStrength,FormField,PasswordBox,Validators,SaveIconTextButton,Action,ChangePasswordPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_controlsFormRequiredFormField){PasswordFormField=_controlsFormRequiredFormField.PasswordFormField},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsPasswordPasswordStrength){PasswordStrength=_controlsPasswordPasswordStrength.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicPasswordBox){PasswordBox=_webAtomsWebControlsDistBasicPasswordBox.default},function(_validatorsValidators){Validators=_validatorsValidators.Validators},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",ChangePasswordPage=class ChangePasswordPage extends PopupWindowPage{constructor(){super(...arguments);this.password=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();this.title="Change Password";this.model.changePassword={oldPassword:"",newPassword:"",forceChangePasswordOnLogin:false};this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(PasswordFormField,{label:"Current Password",value:()=>this.model.changePassword.oldPassword}),XNode.create(FormField,{label:"Password",required:true,error:Bind.oneWay((()=>Validators.isValidPassword(this.password)?"":"Password is invalid"))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.password))})),XNode.create(PasswordStrength,{password:Bind.oneWay((()=>this.password))}),XNode.create(FormField,{label:"Password again",required:true,error:Bind.oneWay((()=>this.password!==this.model.changePassword.newPassword?"Passwords do not match":""))},XNode.create(PasswordBox,{value:Bind.twoWaysImmediate((()=>this.model.changePassword.newPassword))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-user",text:"Change"}))))}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],ChangePasswordPage.prototype,"userService",void 0);__decorate([Action({onEvent:"save-user",success:"Password changed successfully.",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChangePasswordPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/change-password/ChangePasswordPage");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled","@web-atoms/web-controls/dist/basic/Form"],(function(_export,_context){"use strict";var XNode,styled,Form;function AppForm(a,...nodes){return XNode.create(Form,Object.assign({"data-app-form":"app-form"},a),...nodes)}_export("default",AppForm);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default}],execute:function(){styled.css`
4519
4519
  padding: 10px;
4520
4520
  border: solid 1px lightgray;
4521
4521
  border-radius: 10px;