@social-mail/social-mail-client 1.2.16 → 1.2.17
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.
- package/dist/admin/AdminAppIndex.pack.js +9 -3
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +2 -2
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage.js +1 -1
- package/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +9 -3
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +2 -2
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/files/service/CloudFileService.d.ts.map +1 -1
- package/dist/web/page/files/service/CloudFileService.js +8 -2
- package/dist/web/page/files/service/CloudFileService.js.map +1 -1
- package/package.json +1 -1
- package/src/common/pages/websites/templates/ChooseWebSiteTemplatePage.tsx +1 -1
- package/src/web/page/files/service/CloudFileService.ts +6 -0
|
@@ -1655,7 +1655,7 @@ and limitations under the License.
|
|
|
1655
1655
|
|
|
1656
1656
|
}
|
|
1657
1657
|
}
|
|
1658
|
-
`.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_d=item.senderUser)===null||_d===void 0?void 0:_d.displayName,text:(_e=item.senderUser)===null||_e===void 0?void 0:_e.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMail(thread)))),((_f=item.attachments)===null||_f===void 0?void 0:_f.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),thread.email.tags&&XNode.create("div",{"data-layout":"row"},...thread.email.tags.split(",").map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),!sent&&XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.footerRenderer=()=>XNode.create(MiniComposeBox,{mailboxContact:this.parameters})}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}mailOptions(thread,ce){var _a;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:`/api/files/download/${thread.email.originalFileID}`,icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}replyEmail({email},ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=((_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress).toLocaleLowerCase();const name=email.senderName;const parentID=(_c=email.parentID)!==null&&_c!==void 0?_c:email.emailID;const recipients=[EmailRecipient.create({name,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddress.emailAddress===emailAddress))){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";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({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","./http/JsonError"],(function(_export,_context){"use strict";var __awaiter,JsonError,FetchBuilder;function buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}_export({buildUrl,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_httpJsonError){JsonError=_httpJsonError.default}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}cancelToken(cancelToken){const ac=new AbortController;cancelToken.registerForCancel((()=>ac.abort()));return this.signal(ac.signal)}signal(signal){return this.append({signal})}form(name,value,fileName){var _a;const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}responseAsText(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.text()}))}responseAsBlob(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.blob()}))}responseAsJson(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.json()}))}response(){return fetch(this.request.url,this.request)}ensureSuccess(r){return __awaiter(this,void 0,void 0,(function*(){if(r.status<=300){return}const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();throw new JsonError(`Failed for ${this.request.url}`,json)}const text=yield r.text();throw new Error(`Failed for ${this.request.url}\n${text}`)}))}append(r){return new FetchBuilder(Object.assign(Object.assign({},this.request),r))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");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","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,FetchBuilder,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(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.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,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));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}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,showFolder=true}){var _a;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))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_a=iterator.children)!==null&&_a!==void 0?_a:iterator.children=[];folder.children.add(iterator);results.push(iterator)}return results}))}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID}=fm;const sp=new URLSearchParams;if(appFileID){sp.append("appFileID",appFileID)}if(parentID){sp.append("parentID",parentID)}const url=`/api/upload?${sp.toString()}`;return FetchBuilder.post(url).form("file",content,content.name).responseAsJson()}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",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`
|
|
1658
|
+
`.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_d=item.senderUser)===null||_d===void 0?void 0:_d.displayName,text:(_e=item.senderUser)===null||_e===void 0?void 0:_e.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMail(thread)))),((_f=item.attachments)===null||_f===void 0?void 0:_f.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),thread.email.tags&&XNode.create("div",{"data-layout":"row"},...thread.email.tags.split(",").map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),!sent&&XNode.create("div",{"data-layout":"row"},XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.footerRenderer=()=>XNode.create(MiniComposeBox,{mailboxContact:this.parameters})}))}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}mailOptions(thread,ce){var _a;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:`/api/files/download/${thread.email.originalFileID}`,icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}replyEmail({email},ce){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const parse=JSON.parse(email.headers);const emailAddressText=((_b=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0])!==null&&_b!==void 0?_b:this.parameters.emailAddress.emailAddress).toLocaleLowerCase();const name=email.senderName;const parentID=(_c=email.parentID)!==null&&_c!==void 0?_c:email.emailID;const recipients=[EmailRecipient.create({name,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddress.emailAddress===emailAddress))){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";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({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","./http/JsonError"],(function(_export,_context){"use strict";var __awaiter,JsonError,FetchBuilder;function buildUrl(strings,...p){let r="";for(let index=0;index<strings.length;index++){const element=strings[index];r+=element;if(index<p.length){r+=encodeURIComponent(p[index])}}return r}_export({buildUrl,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_httpJsonError){JsonError=_httpJsonError.default}],execute:function(){_export("default",FetchBuilder=class FetchBuilder{static get(url){return this.method(url,"GET")}static put(url){return this.method(url,"PUT")}static post(url){return this.method(url,"POST")}static delete(url){return this.method(url,"DELETE")}static method(url,method){return new FetchBuilder({url,method})}constructor(request){this.request=request}cancelToken(cancelToken){const ac=new AbortController;cancelToken.registerForCancel((()=>ac.abort()));return this.signal(ac.signal)}signal(signal){return this.append({signal})}form(name,value,fileName){var _a;const body=(_a=this.request.body)!==null&&_a!==void 0?_a:new FormData;if(fileName){if(typeof value==="string"){throw new Error("value must be a blob with content type set correctly.")}body.append(name,value,fileName)}else{body.append(name,value)}return this.append({body})}jsonBody(body,encode=true){var _a;if(encode){body=JSON.stringify(body)}const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers["content-type"]="application/json";return this.append({body,headers})}header(name,value){var _a;const headers=(_a=this.request.headers)!==null&&_a!==void 0?_a:{};headers[name]=value;return this.append({headers})}path(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}url=url.replace(name,value);return this.append({url})}query(name,value,encode=true){let url=this.request.url;if(encode){value=encodeURIComponent(value)}name=encodeURIComponent(name);if(url.indexOf("?")===-1){url+=`?${name}=${value}`}else{url+=`&${name}=${value}`}return this.append({url})}responseAsText(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.text()}))}responseAsBlob(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.blob()}))}responseAsJson(ensureSuccess=true){return __awaiter(this,void 0,void 0,(function*(){const r=yield this.response();if(ensureSuccess){yield this.ensureSuccess(r)}return yield r.json()}))}response(){return fetch(this.request.url,this.request)}ensureSuccess(r){return __awaiter(this,void 0,void 0,(function*(){if(r.status<=300){return}const type=r.headers.get("content-type");if(/\/json/i.test(type)){const json=yield r.json();throw new JsonError(`Failed for ${this.request.url}`,json)}const text=yield r.text();throw new Error(`Failed for ${this.request.url}\n${text}`)}))}append(r){return new FetchBuilder(Object.assign(Object.assign({},this.request),r))}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/FetchBuilder");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","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,FetchBuilder,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(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.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,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));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}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,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))}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}))}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID}=fm;const sp=new URLSearchParams;if(appFileID){sp.append("appFileID",appFileID)}if(parentID){sp.append("parentID",parentID)}const url=`/api/upload?${sp.toString()}`;return FetchBuilder.post(url).form("file",content,content.name).responseAsJson()}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",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`
|
|
1659
1659
|
|
|
1660
1660
|
display: flex;
|
|
1661
1661
|
flex-direction: column;
|
|
@@ -2367,7 +2367,7 @@ and limitations under the License.
|
|
|
2367
2367
|
padding-left: 5px;
|
|
2368
2368
|
margin-left: 0px;
|
|
2369
2369
|
}
|
|
2370
|
-
`.withOrder("medium").installGlobal("*[data-date-field=date-field]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/date-field-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldStyle){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_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(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../common/controls/html/InlineHtmlEditorWithToolbar","../../../services/mime-service/MimeNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/mime-service/MimeMessage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/web/core/AtomUI","../../../services/mime-service/stream/TextWriter","../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,InlineHtmlEditorWithToolbar,MimeNode,Form,FormField,SaveIconTextButton,Action,MimeMessage,AtomRepeater,descendentElementIterator,BlobWriter,LocalFileService,EditTemplatePage;_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(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_servicesMimeServiceMimeNode){MimeNode=_servicesMimeServiceMimeNode.MimeNode},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_servicesMimeServiceStreamTextWriter){BlobWriter=_servicesMimeServiceStreamTextWriter.BlobWriter},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){_export("default",EditTemplatePage=class EditTemplatePage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.loadModel(this.parameters.file);this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"File Name:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Subject:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{inlineImage:true,presenter:Bind.presenter((c=>this.editor=c)),"event-content-ready":()=>this.setupEditable(),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",null,XNode.create("i",{class:"fas fa-file"}),XNode.create("span",{text:item.name}))}),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-click-event":"save-template",text:"Save"}))))}))}loadModel(file){return __awaiter(this,void 0,void 0,(function*(){if(file.appFileID){const data=yield fetch(file.url);const node=yield MimeMessage.load(data.body,file.name);const name=node.name;const htmlBody=node.html;const attachments=node.attachments;const subject=node.subject;return{node:node.node,mime:node,name,subject,htmlBody,attachments}}return{name:"Template 1",subject:"Template Subject",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,attachments:[]}}))}saveTemplate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{html,text}=this.editor.htmlTextContent;const root=MimeNode.createMessage({subject:this.model.subject,name:this.model.name,html,text,attachments:this.model.attachments});const blobWriter=new BlobWriter;yield root.save(blobWriter);const blob=blobWriter.toBlob();const localFileService=this.resolve(LocalFileService);const file=new File([blob],this.model.name,{type:"message/rfc822"});const appFileID=(_b=(_a=this.parameters.file)===null||_a===void 0?void 0:_a.appFileID)!==null&&_b!==void 0?_b:void 0;const parentID=appFileID?void 0:this.parameters.file.parentID;yield localFileService.uploadWithProgress([file],{appFileID,parentID})}))}setupEditable(){const editor=this.editor.editor;if(editor.isContentEditable){return}for(const node of descendentElementIterator(editor)){if(node.isContentEditable){return}}editor.contentEditable="true"}});__decorate([Action({onEvent:"save-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditTemplatePage.prototype,"saveTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,ChooseWebSiteTemplatePage;_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(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const path=UMD.resolvePath("@social-mail/social-mail-client/content/templates/plain/index.html");const rs=yield fetch(path);const text=yield rs.text();yield this.upload("index.html",text)}))}upload(fileName,content){return __awaiter(this,void 0,void 0,(function*(){const url=`/api/upload?parentID=${this.parameters.appFileID}`;const body=new FormData;body.append(fileName,new Blob([content],{type:"text/html"}),fileName);const rs=yield fetch(url,{method:"POST",body})}))}});__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,AtomControl,styled;function Block({className,title,factory}){return()=>XNode.create("i",{"data-html-editor-element":"block",class:className,title,draggable:true,"event-click":e=>{const editor=AtomControl.from(e.target);editor.insertElement(factory(editor.htmlDocument))},"event-dragstart":e=>{const ne=factory(AtomControl.from(e.target).htmlDocument);e.dataTransfer.setDragImage(ne,0,0);e.dataTransfer.setData("text/html",ne.outerHTML)}})}_export("Block",Block);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
2370
|
+
`.withOrder("medium").installGlobal("*[data-date-field=date-field]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/date-field-style");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/date-time/dist/DateTime","./Calendar","./InlinePopup","./TimeEditor","@web-atoms/date-time/dist/TimeSpan","./styles/date-field-style"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,AtomControl,DateTime,Calendar,InlinePopup,InlinePopupButton,TimeEditor,TimeSpan,DateField;function hours(){return[{label:"01",value:1},{label:"02",value:2},{label:"03",value:3},{label:"04",value:4},{label:"05",value:5},{label:"06",value:6},{label:"07",value:7},{label:"08",value:8},{label:"09",value:9},{label:"10",value:10},{label:"11",value:11},{label:"12",value:12}]}function minutes(){const items=[];for(let index=0;index<10;index++){items.push({label:"0"+index,value:index})}for(let index=10;index<60;index++){items.push({label:index.toString(),value:index})}return items}_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_Calendar){Calendar=_Calendar.default},function(_InlinePopup){InlinePopup=_InlinePopup.default;InlinePopupButton=_InlinePopup.InlinePopupButton},function(_TimeEditor){TimeEditor=_TimeEditor.default},function(_webAtomsDateTimeDistTimeSpan){TimeSpan=_webAtomsDateTimeDistTimeSpan.default},function(_stylesDateFieldStyle){}],execute:function(){_export("default",DateField=class DateField extends AtomControl{constructor(app,e=document.createElement("button")){super(app,e)}preCreate(){this.prompt="Select";this.enableTime=false;this.value=null;this.format=(d,showTime)=>showTime?d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short",hour12:true,hour:"numeric",minute:"2-digit"}):d===null||d===void 0?void 0:d.toLocaleDateString(navigator.language,{month:"short",year:"numeric",day:"numeric",weekday:"short"});const owner=this;class CalendarPopup extends InlinePopup{create(){var _a;this.owner=owner;this.type="AM";const now=DateTime.from((_a=owner.value)!==null&&_a!==void 0?_a:DateTime.today.addHours(owner.hour||0).addMinutes(owner.minute||0));this.time=new TimeSpan(0,now.hour,now.minute);super.create();const yearStart=typeof this.owner.yearStart==="number"?this.owner.yearStart:-10;const yearEnd=typeof this.owner.yearEnd==="number"?this.owner.yearEnd:10;const year=typeof this.owner.year==="number"?this.owner.year:now.year;this.render(XNode.create("div",{class:"calendar-popup"},XNode.create(Calendar,{yearStart,yearEnd,year,"event-item-select":Bind.event(((s,e)=>{if(e.detail.disabled){return}this.save(e.detail.value)})),enableFunc:Bind.oneTime((()=>this.owner.enableFunc)),value:Bind.oneWay((()=>this.owner.value))}),this.owner.enableTime&&XNode.create(TimeEditor,{time:Bind.twoWays((()=>this.time))}),XNode.create("button",{class:"clear",text:"Clear","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save()}}),XNode.create("button",{class:"today",text:"Today","event-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.save(DateTime.today.asJSDate)}})));this.runAfterInit((()=>{if(this.element){this.element.scrollIntoView()}}))}save(d){if(!d){this.owner.value=d;this.close(d);return}let date=DateTime.from(d);if(this.owner.enableTime){date=date.add(this.time)}this.owner.value=date.asJSDate;this.close(date)}}this.render(XNode.create(InlinePopupButton,{"data-layout":"flex","data-date-field":"date-field",text:Bind.oneWay((()=>{var _a;return((_a=this.format)===null||_a===void 0?void 0:_a.call(this,this.value,this.enableTime))||this.prompt}))},XNode.create(CalendarPopup,null)))}});__decorate([BindableProperty,__metadata("design:type",Date)],DateField.prototype,"value",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"enableFunc",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],DateField.prototype,"format",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearStart",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],DateField.prototype,"yearEnd",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"year",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"hour",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],DateField.prototype,"minute",void 0);__decorate([BindableProperty,__metadata("design:type",String)],DateField.prototype,"prompt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DateField");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/core/dist/core/Bind","../../../../common/controls/drop-downs/user/UserDropDown","../../../../common/controls/buttons/IconButton","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,XNode,Form,FormField,Switch,Bind,UserDropDown,SaveIconTextButton,DateTime,DateField,Select,Action,InjectProperty,FileShareService,AddSharePage,rights,externalRights;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicSwitch){Switch=_webAtomsWebControlsDistBasicSwitch.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsDropDownsUserUserDropDown){UserDropDown=_commonControlsDropDownsUserUserDropDown.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicDateField){DateField=_webAtomsWebControlsDistBasicDateField.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default}],execute:function(){rights=[{label:"Read",value:"read"},{label:"Write",value:"write"},{label:"Delegate (Read+Write+Share)",value:"delegate"}];externalRights=[{label:"Read",value:"read"},{label:"Write",value:"write"}];_export("default",AddSharePage=class AddSharePage extends PopupWindowPage{constructor(){super(...arguments);this.external=false}init(){return __awaiter(this,void 0,void 0,(function*(){this.title=`Create new Share for ${this.parameters.name}`;const fileID=this.parameters.appFileID;this.model=AppFileAccess.create({fileID,expires:DateTime.today.addMonths(1),type:"read",externalUser:{name:"",emailAddress:""}});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:this.parameters.isFolder?"Folder":"File"},XNode.create("div",{text:this.parameters.name})),XNode.create("div",{"data-layout":"row"},XNode.create(Switch,{checked:Bind.twoWaysImmediate((()=>this.external))}),XNode.create("div",{text:"External User"})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!this.external)),label:"Search User"},XNode.create(UserDropDown,{value:Bind.twoWaysImmediate((()=>this.model.userID))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.name))})),XNode.create(FormField,{"style-display":Bind.oneWay((()=>!!this.external)),label:"Email Address"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.externalUser.emailAddress))})),XNode.create(FormField,{label:"Rights"},XNode.create(Select,{labelPath:item=>item.label,valuePath:item=>item.value,items:Bind.oneWay((()=>this.external?externalRights:rights)),value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Expires"},XNode.create(DateField,{value:Bind.twoWaysImmediate((()=>this.model.expires))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-share",text:"Create"}))))}))}saveShare(){return __awaiter(this,void 0,void 0,(function*(){const model=Object.assign({},this.model);if(!this.external){delete model.externalUser}yield this.fileShareService.save(model);model.file=this.parameters;return model}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],AddSharePage.prototype,"fileShareService",void 0);__decorate([Action({onEvent:"save-share",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddSharePage.prototype,"saveShare",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/InjectProperty","../../../../services/files/FileShareService","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./AddSharePage","../../../../common/date/DateFormats"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,AtomRepeater,InjectProperty,FileShareService,AddIconTextButton,Action,PageNavigator,AddSharePage,DateFormats,EditSharesPage;_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(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesFilesFileShareService){FileShareService=_servicesFilesFileShareService.default},function(_commonControlsButtonsIconButton){AddIconTextButton=_commonControlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_AddSharePage){AddSharePage=_AddSharePage.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats}],execute:function(){_export("default",EditSharesPage=class EditSharesPage extends PopupWindowPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.title=`${this.parameters.name} - Share Settings`;this.list=(_a=yield this.shareService.list(this.parameters.appFileID))!==null&&_a!==void 0?_a:[];this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,{items:this.list,itemRenderer:item=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:item.user.userName}),XNode.create("div",{text:item.type}),item.expires&&XNode.create("div",{text:DateFormats.relative.short(item.expires)}),item.accessCode?XNode.create("i",{title:"Copy Link",class:"fas fa-link"}):XNode.create("span",null))}),XNode.create("div",null,XNode.create(AddIconTextButton,{"data-click-event":"create-share-link",text:"Create Share Link"})));if(!this.list.length){yield this.createShareLink()}}))}createShareLink(){return __awaiter(this,void 0,void 0,(function*(){const item=yield PageNavigator.pushPageForResult(AddSharePage,this.parameters);this.list.add(item)}))}});__decorate([InjectProperty,__metadata("design:type",FileShareService)],EditSharesPage.prototype,"shareService",void 0);__decorate([Action({onEvent:"create-share-link"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditSharesPage.prototype,"createShareLink",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../../../common/controls/html/InlineHtmlEditorWithToolbar","../../../services/mime-service/MimeNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/mime-service/MimeMessage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/web/core/AtomUI","../../../services/mime-service/stream/TextWriter","../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,XNode,Bind,InlineHtmlEditorWithToolbar,MimeNode,Form,FormField,SaveIconTextButton,Action,MimeMessage,AtomRepeater,descendentElementIterator,BlobWriter,LocalFileService,EditTemplatePage;_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(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_servicesMimeServiceMimeNode){MimeNode=_servicesMimeServiceMimeNode.MimeNode},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesMimeServiceMimeMessage){MimeMessage=_servicesMimeServiceMimeMessage.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_servicesMimeServiceStreamTextWriter){BlobWriter=_servicesMimeServiceStreamTextWriter.BlobWriter},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){_export("default",EditTemplatePage=class EditTemplatePage extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.loadModel(this.parameters.file);this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(Form,null,XNode.create(FormField,{label:"File Name:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create(FormField,{label:"Subject:"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.subject))})),XNode.create(InlineHtmlEditorWithToolbar,{inlineImage:true,presenter:Bind.presenter((c=>this.editor=c)),"event-content-ready":()=>this.setupEditable(),content:this.model.htmlBody,"style-min-height":"200px"}),XNode.create(AtomRepeater,{items:this.model.attachments,"data-layout":"flex-wrap-padding",itemRenderer:item=>XNode.create("div",null,XNode.create("i",{class:"fas fa-file"}),XNode.create("span",{text:item.name}))}),XNode.create("div",null,XNode.create(SaveIconTextButton,{"data-click-event":"save-template",text:"Save"}))))}))}loadModel(file){return __awaiter(this,void 0,void 0,(function*(){if(file.appFileID){const data=yield fetch(file.url);const node=yield MimeMessage.load(data.body,file.name);const name=node.name;const htmlBody=node.html;const attachments=node.attachments;const subject=node.subject;return{node:node.node,mime:node,name,subject,htmlBody,attachments}}return{name:"Template 1",subject:"Template Subject",htmlBody:`<div contentEditable="true"><p><br/><br/><br/><br/><br/></p></div>`,attachments:[]}}))}saveTemplate(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{html,text}=this.editor.htmlTextContent;const root=MimeNode.createMessage({subject:this.model.subject,name:this.model.name,html,text,attachments:this.model.attachments});const blobWriter=new BlobWriter;yield root.save(blobWriter);const blob=blobWriter.toBlob();const localFileService=this.resolve(LocalFileService);const file=new File([blob],this.model.name,{type:"message/rfc822"});const appFileID=(_b=(_a=this.parameters.file)===null||_a===void 0?void 0:_a.appFileID)!==null&&_b!==void 0?_b:void 0;const parentID=appFileID?void 0:this.parameters.file.parentID;yield localFileService.uploadWithProgress([file],{appFileID,parentID})}))}setupEditable(){const editor=this.editor.editor;if(editor.isContentEditable){return}for(const node of descendentElementIterator(editor)){if(node.isContentEditable){return}}editor.contentEditable="true"}});__decorate([Action({onEvent:"save-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditTemplatePage.prototype,"saveTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,XNode,Action,UMD,ChooseWebSiteTemplatePage;_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(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){_export("default",ChooseWebSiteTemplatePage=class ChooseWebSiteTemplatePage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",null,XNode.create("button",{"data-click-event":"create-template",text:"Create From Template"}))}))}createTemplate(){return __awaiter(this,void 0,void 0,(function*(){const path=UMD.resolvePath("@social-mail/social-mail-client/content/templates/plain/index.html");const rs=yield fetch(path);const text=yield rs.text();yield this.upload("index.html",text)}))}upload(fileName,content){return __awaiter(this,void 0,void 0,(function*(){const url=`/api/upload?parentID=${this.parameters.appFileID}`;const body=new FormData;body.append(fileName,new Blob([content],{type:"text/html"}),fileName);const rs=yield fetch(url,{method:"POST",body})}))}});__decorate([Action({onEvent:"create-template",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ChooseWebSiteTemplatePage.prototype,"createTemplate",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/templates/ChooseWebSiteTemplatePage");System.register(["tslib","@web-atoms/core/dist/core/XNode","./TreeView","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/InjectProperty","../../../web/page/files/service/CloudFileService","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/UploadEvent"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,TreeView,BindableProperty,InjectProperty,CloudFileService,Bind,Action,InlinePopupButton,MenuItem,UploadEvent,FolderTreeView,FileTreeView,getExtension;_export({FolderTreeView:void 0,FileTreeView:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_TreeView){TreeView=_TreeView.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicInlinePopup){InlinePopupButton=_webAtomsWebControlsDistBasicInlinePopup.InlinePopupButton},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_webAtomsWebControlsDistBasicUploadEvent){UploadEvent=_webAtomsWebControlsDistBasicUploadEvent.default}],execute:function(){getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("FolderTreeView",FolderTreeView=class FolderTreeView extends TreeView{constructor(app,e){super(app,e);this.childrenProperty=item=>{var _a;return(_a=item.children)!==null&&_a!==void 0?_a:item.children=[]};this.canSelect=item=>item.isFolder;this.isFolder=item=>item.isFolder;this.fileIconRenderer=item=>XNode.create("i",{"data-click-event":"none",class:`fiv-viv fiv-icon-${getExtension(item.name)}`});this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name});this.actionRenderer=item=>this.root===item?XNode.create("i",{"data-cursor":"pointer",title:"New Folder","data-click-event":"new-folder",class:"fas fa-plus"}):XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})));this.render(XNode.create("div",{folder:Bind.oneWayAsync(((c,_,cancelToken)=>this.loadFolder(this.folderId,this.accept,cancelToken)))}))}onItemExpanded(item){return __awaiter(this,void 0,void 0,(function*(){yield this.cloudFileService.expand(item)}))}onDeleteItem(file){var _a;return __awaiter(this,void 0,void 0,(function*(){file.isDeleted=true;yield this.cloudFileService.save(file);const e=this.map.get(file);const prev=(_a=e.previousElementSibling)!==null&&_a!==void 0?_a:e.parentElement;e.remove();this.selectedItem=prev.dataItem;this.element.dispatchEvent(new CustomEvent("file-deleted",{detail:file,bubbles:true}))}))}onNewFolder(file){var _a;return __awaiter(this,void 0,void 0,(function*(){const name=prompt("Enter new name of new folder","");if(!name){return}const parentID=file.appFileID;const child=yield this.cloudFileService.createFolder({name,parentID});((_a=file.children)!==null&&_a!==void 0?_a:file.children=[]).add(child)}))}onRenameItem(file){return __awaiter(this,void 0,void 0,(function*(){const newName=prompt("Enter new name of the file",file.name);if(!newName||newName===file.name){return}file.name=newName;yield this.cloudFileService.save(file)}))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.getFolder(folder,cancelToken);this.root=f;this.selectedItem=f}))}});__decorate([BindableProperty,__metadata("design:type",String)],FolderTreeView.prototype,"accept",void 0);__decorate([BindableProperty,__metadata("design:type",Number)],FolderTreeView.prototype,"folderId",void 0);__decorate([InjectProperty,__metadata("design:type",CloudFileService)],FolderTreeView.prototype,"cloudFileService",void 0);__decorate([Action({onEvent:"item-expanded"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onItemExpanded",null);__decorate([Action({onEvent:"delete-file",confirm:"Are you sure you want to delete the selected?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onDeleteItem",null);__decorate([Action({onEvent:"new-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onNewFolder",null);__decorate([Action({onEvent:"rename-file"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],FolderTreeView.prototype,"onRenameItem",null);_export("FileTreeView",FileTreeView=class FileTreeView extends FolderTreeView{constructor(app,e){super(app,e);this.canSelect=item=>!item.isFolder;this.labelRenderer=x=>XNode.create("span",{text:x.name,title:x.name,"data-click-event":x.isFolder?"none":"select-item"});this.actionRenderer=item=>XNode.create(InlinePopupButton,{"data-layout":"icon-button",icon:"fa-solid fa-ellipsis-vertical"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},item.isFolder&&XNode.create(MenuItem,{"data-click-event":"new-folder",icon:"fas fa-plus",label:"New Folder"}),item.isFolder&&XNode.create(MenuItem,Object.assign({"data-click-event":"none",icon:"fas fa-upload",label:"Upload File","data-extra":JSON.stringify({parentID:item.appFileID})},UploadEvent.AttachUploadAction({multiple:true,folder:true,accept:"*/*"}))),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"rename-file",icon:"fa-duotone fa-i-cursor",label:"Rename"}),this.root!==item&&XNode.create(MenuItem,{"data-click-event":"delete-file",icon:"fas fa-trash-can",label:"Delete"})))}loadFolder(folder,accept,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.cloudFileService.root({id:folder,cancelToken});this.root=f}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/FileTreeView");System.register(["@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var XNode,AtomControl,styled;function Block({className,title,factory}){return()=>XNode.create("i",{"data-html-editor-element":"block",class:className,title,draggable:true,"event-click":e=>{const editor=AtomControl.from(e.target);editor.insertElement(factory(editor.htmlDocument))},"event-dragstart":e=>{const ne=factory(AtomControl.from(e.target).htmlDocument);e.dataTransfer.setDragImage(ne,0,0);e.dataTransfer.setData("text/html",ne.outerHTML)}})}_export("Block",Block);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
2371
2371
|
padding: 5px;
|
|
2372
2372
|
cursor: pointer;
|
|
2373
2373
|
&:hover {
|