@social-mail/social-mail-client 1.2.102 → 1.2.103
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/content/images/icons/comment-plus.svg +1 -0
- package/dist/public/channel/BlogService.d.ts.map +1 -1
- package/dist/public/channel/BlogService.js +2 -0
- package/dist/public/channel/BlogService.js.map +1 -1
- package/dist/public/channel/ChannelMessage.d.ts +1 -0
- package/dist/public/channel/ChannelMessage.d.ts.map +1 -1
- package/dist/public/channel/ChannelMessage.js +35 -3
- package/dist/public/channel/ChannelMessage.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +53 -3
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +18 -2
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/channel/styles/channelViewStyle.d.ts.map +1 -1
- package/dist/public/channel/styles/channelViewStyle.js +16 -0
- package/dist/public/channel/styles/channelViewStyle.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/public/channel/BlogService.ts +2 -0
- package/src/public/channel/ChannelMessage.tsx +39 -6
- package/src/public/channel/styles/channelViewStyle.ts +17 -1
|
@@ -69,7 +69,7 @@ and limitations under the License.
|
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
-
`.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript"}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,AppRole,AppFileContentDispositionArray,AppFile,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEmail,MailboxContactTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,WebSiteChannel,LoginSession,TextDocument,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["accessID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{}));_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0}));_export("Configuration",Configuration=new Model("Configuration",["name"],{configValue:""}));_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false}));_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""}));_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""}));_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false}));_export("CachedItem",CachedItem=new Model("CachedItem",["itemID","keyHash"],{key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,external:false}));_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false}));_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0}));_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""}));_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,originalFileSize:0}));_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID"],{engagement:"",count:0}));_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""}));_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"}));_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{}));_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false}));_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,requireApproval:false,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,mute:false,status:"invited"}));_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))}));_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false}));_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false}));_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"}));_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0}));_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("UserPin",UserPin=new Model("UserPin",["pinID"],{}));_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false}));_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{}));_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{}));_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("WebSiteFolder",WebSiteFolder=new Model("WebSiteFolder",["folderID"],{isStatic:false,isModified:false}));_export("WebSiteFolderHost",WebSiteFolderHost=new Model("WebSiteFolderHost",["host"],{}));_export("WebSiteFolderVersion",WebSiteFolderVersion=new Model("WebSiteFolderVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""}));_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");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;if(value===void 0){return this}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){if(value===void 0){return this}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/entity/dist/models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,TaskManager,FetchBuilder,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){EmailContentDownloader=class EmailContentDownloader extends TaskManager{download(mce){return this.downloadFromUrl(mce.htmlBodyUrl,mce.email)}downloadFromUrl(url,email){return __awaiter(this,void 0,void 0,(function*(){const cache=yield window.caches.open("email-content-cache");const cacheKey=new URL(url,location.href);const content=yield cache.match(cacheKey);if(content){return email.htmlBody=yield content.text()}return yield this.run((()=>__awaiter(this,void 0,void 0,(function*(){for(let i=0;i<3;i++){try{const text=yield FetchBuilder.get(url).responseAsText();yield cache.put(cacheKey,new Response(text,{headers:{"cache-control":"public, max-age=86000"}}));return email.htmlBody=text}catch(error){console.error(error)}}}))))}))}};EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});yield Promise.all(list.items.map((x=>this.emailContentDownloader.download(x))));return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../services/EntityService","../../model/model","../../common/Sql","../../services/email/EmailContentDownloader","../../web/page/mails/service/EngagementService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,Mailbox,Sql,EmailContentDownloader,EngagementService,BlogService;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){Email=_modelModel.Email;Mailbox=_modelModel.Mailbox},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webPageMailsServiceEngagementService){EngagementService=_webPageMailsServiceEngagementService.default}],execute:function(){BlogService=class BlogService{getEmail({emailID,channelID}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email,"channelEmails",channelID).where({emailID},(p=>x=>x.emailID===p.emailID)).include((x=>[x.engagements]));const email=yield q.firstOrDefault();yield this.downloader.downloadFromUrl(`/api/emails/channel/content/html/${channelID}/${email.emailID}/${email.headerMessageID}`,email);return email}))}getEmails({channelID=0,parentID=0,search="",start=0,size=10,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Email,"channelEmails",channelID);if(parentID){q=q.where({parentID},(p=>x=>x.parentID===p.parentID))}if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.textBody,p.search)))}const emails=yield q.include((x=>[x.attachments,x.engagements])).orderByDescending((x=>x.dateSent)).toPagedList({start,size,cancelToken});const tasks=[];for(const email of emails.items){tasks.push(this.downloader.downloadFromUrl(`/api/emails/channel/content/html/${channelID}/${email.emailID}/${email.headerMessageID}`,email));if(email.attachments){for(const iterator of email.attachments){iterator.url=`/api/emails/channel/attachment/${channelID}/${email.emailID}/${email.headerMessageID}/${iterator.appFileID}`}}}yield Promise.all(tasks);return emails}))}getChannel(emailAddress,channelID,d){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox,"channels",emailAddress,d).where((x=>x.datePublished!==null));if(channelID){q=q.where({channelID},(p=>x=>x.mailboxID===p.channelID))}const c=yield q.include((x=>x.emailAddress)).orderByDescending((x=>x.datePublished)).firstOrDefault();return c}))}};__decorate([Inject,__metadata("design:type",EntityService)],BlogService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],BlogService.prototype,"downloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],BlogService.prototype,"engagementService",void 0);BlogService=__decorate([DISingleton()],BlogService);_export("default",BlogService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogService");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,DIVISIONS,DateFormats;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){DIVISIONS=[{amount:60,name:"seconds"},{amount:60,name:"minutes"},{amount:24,name:"hours"},{amount:7,name:"days"},{amount:4.34524,name:"weeks"},{amount:12,name:"months"},{amount:Number.POSITIVE_INFINITY,name:"years"}];_export("DateFormats",DateFormats={diff(d){if(!d){return""}if(!(d instanceof DateTime)){d=typeof d==="string"?new DateTime(d):DateTime.from(d)}const today=DateTime.now;let diff=today.diff(d);if(diff.totalMilliseconds<0){diff=d.diff(today)}if(diff.totalHours<=24){if(diff.totalSeconds<=180){return"now"}if(diff.totalMinutes<60){return Math.round(diff.totalMinutes)+"m"}return Math.round(diff.totalHours)+"h"}if(diff.totalDays<=30){return Math.round(diff.totalDays)+"d"}if(diff.totalDays<=365){return Math.round(diff.totalDays/30)+"mo"}return Math.round(diff.totalDays/365)+"yr"},withWeekDayAndTime(d,def=""){var _a;if(!d){return def}d=DateTime.from(d);return(_a=d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{year:"numeric",month:"short",day:"numeric",weekday:"short",hour12:true,minute:"numeric",hour:"numeric"}))!==null&&_a!==void 0?_a:def},relative:{short(d){if(!d){return""}d=DateTime.from(d);const now=DateTime.now;if(now<d){return"in "+DateFormats.diff(d)}return DateFormats.diff(d)+" ago"}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/date/DateFormats");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/BusyProgress","../../../../services/email/EmailContentDownloader","./EngagementService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,EmailContentDownloader,EngagementService,renderMail,ConversationService;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){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesBusyProgress){BusyProgress=_servicesBusyProgress.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{var _a;if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){let cid=iterator.getAttribute("data-content-id");if(cid){const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);continue}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_a=thread.email)===null||_a===void 0?void 0:_a.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxContactEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));ConversationService=class ConversationService{getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft({mailboxID,emailAddressID,email},create=false){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){if(!email.textBody){email.textBody=email.mdBody}email.subject||(email.subject="");const cloner=this.entityService.cloner(email).include((x=>x.attachments)).include((x=>x.recipients));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const mailboxes=(_b=email.mailboxes)!==null&&_b!==void 0?_b:email.mailboxes=[];const threads=(_c=email.threadEmails)!==null&&_c!==void 0?_c:email.threadEmails=[];email.senderID=mailboxID;email.status="draft";if(!mailboxes.some((m=>m.mailboxID===mailboxID))){mailboxes.push(MailboxEmail.create({mailboxID}))}if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}yield this.entityService.save(email)}return email}))}list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(search){if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||Sql.text.iLike(x.email.originalFile.fileContent.textDocument.searchable,p.search)))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});const tasks=[];const d=BusyProgress.create();try{for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(this.downloadEmailContent(mce));tasks.push(this.engagementService.downloadEngagements(email))}yield Promise.all(tasks)}finally{(_c=d===null||d===void 0?void 0:d.dispose)===null||_c===void 0?void 0:_c.call(d)}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}downloadEmailContent(mce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;if(email.replyCount){const children=yield this.entityService.query(Email).where({emailID:email.emailID},(p=>x=>x.emailID===p.emailID&&x.engagement!==null)).orderByDescending((x=>x.emailID)).toPagedList({start:0,size:4,cacheVersion:"a",cacheSeconds:900});email.children=(_a=children===null||children===void 0?void 0:children.items)!==null&&_a!==void 0?_a:[]}else{(_b=email.children)!==null&&_b!==void 0?_b:email.children=[]}yield this.emailContentDownloader.download(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../../style/styled","../controls/AtomControl","../core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,styled,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};styled.css`
|
|
72
|
+
`.installLocal();stack=0;_export("default",BusyProgress=class BusyProgress{static create(){if(!container){container=document.createElement("div");container.className=css;const progressBar=document.createElement("div");progressBar.className="progress-bar";container.appendChild(progressBar);const progressBarValue=document.createElement("div");progressBarValue.className="progress-bar-value";progressBar.appendChild(progressBarValue);document.body.appendChild(container)}stack++;if(stack===1){container.setAttribute("data-show","true")}return{dispose(){stack--;if(stack<=0){container.removeAttribute("data-show")}}}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/BusyProgress");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/App","./BusyProgress"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,EntityService;return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistServicesBaseEntityService){BaseEntityService=_webAtomsEntityDistServicesBaseEntityService.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_webAtomsCoreDistApp){App=_webAtomsCoreDistApp.App},function(_BusyProgress){BusyProgress=_BusyProgress.default}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript"}createBusyIndicator(options){if(options.hideActivityIndicator){return}return BusyProgress.create()}};__decorate([Inject,__metadata("design:type",App)],EntityService.prototype,"app",void 0);EntityService=__decorate([DISingleton()],EntityService);_export("default",EntityService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/EntityService");System.register(["@web-atoms/date-time/dist/DateTime","@web-atoms/entity/dist/services/BaseEntityService"],(function(_export,_context){"use strict";var DateTime,Model,DefaultFactory,AppRole,AppFileContentDispositionArray,AppFile,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEmail,MailboxContactTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,WebSiteChannel,LoginSession,TextDocument,Tag;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("AppRole",AppRole=new Model("AppRole",["roleName"],{}));_export("AppFileContentDispositionArray",AppFileContentDispositionArray=[{label:"attachment",value:"attachment"},{label:"inline",value:"inline"}]);_export("AppFile",AppFile=new Model("AppFile",["appFileID"],{isFolder:false,name:"",fileSize:0,contentType:"",isDeleted:false,isShared:false,dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("AppFileAccessTypeArray",AppFileAccessTypeArray=[{label:"create",value:"create"},{label:"read",value:"read"},{label:"write",value:"write"},{label:"delegate",value:"delegate"}]);_export("AppFileAccess",AppFileAccess=new Model("AppFileAccess",["accessID","type"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{}));_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0}));_export("Configuration",Configuration=new Model("Configuration",["name"],{configValue:""}));_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false}));_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""}));_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""}));_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false}));_export("CachedItem",CachedItem=new Model("CachedItem",["itemID","keyHash"],{key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false}));_export("Domain",Domain=new Model("Domain",["domainID"],{name:""}));_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,external:false}));_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false}));_export("DomainRelayTypeArray",DomainRelayTypeArray=[{label:"smtp",value:"smtp"},{label:"ses",value:"ses"},{label:"https",value:"https"}]);_export("DomainRelay",DomainRelay=new Model("DomainRelay",["domainRelayID"],{type:"smtp",host:"",username:"",password:"",priority:0}));_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""}));_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,originalFileSize:0}));_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID"],{engagement:"",count:0}));_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""}));_export("EmailRecipientTypeArray",EmailRecipientTypeArray=[{label:"from",value:"from"},{label:"to",value:"to"},{label:"cc",value:"cc"},{label:"bcc",value:"bcc"},{label:"viewer",value:"viewer"},{label:"editor",value:"editor"}]);_export("EmailRecipient",EmailRecipient=new Model("EmailRecipient",["emailID","emailAddressID"],{type:"from"}));_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{}));_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false}));_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{}));_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,requireApproval:false,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,mute:false,status:"invited"}));_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))}));_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("MailboxSyncTargetDirectionArray",MailboxSyncTargetDirectionArray=[{label:"in",value:"in"},{label:"out",value:"out"}]);_export("MailboxSyncTargetProtocolArray",MailboxSyncTargetProtocolArray=[{label:"imap",value:"imap"}]);_export("MailboxSyncTargetLastSyncStatusArray",MailboxSyncTargetLastSyncStatusArray=[{label:"none",value:"none"},{label:"success",value:"success"},{label:"failed",value:"failed"}]);_export("MailboxSyncTarget",MailboxSyncTarget=new Model("MailboxSyncTarget",["syncTargetID"],{direction:"in",protocol:"imap",username:"",host:"",port:0,isSecure:false,syncAllFolders:false,syncJunkMails:false,intervalSeconds:0,active:false}));_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false}));_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))}));_export("SearchWordStatusArray",SearchWordStatusArray=[{label:"begin",value:"begin"},{label:"ready",value:"ready"},{label:"deleted",value:"deleted"}]);_export("SearchWord",SearchWord=new Model("SearchWord",["wordID"],{word:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),status:"begin"}));_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0}));_export("UserStatusArray",UserStatusArray=[{label:"active",value:"active"},{label:"blocked",value:"blocked"},{label:"locked",value:"locked"},{label:"change-password",value:"change-password"},{label:"external",value:"external"}]);_export("User",User=new Model("User",["userID"],{userName:"",displayName:"",status:"active",isExternal:false,multiFactor:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("UserPin",UserPin=new Model("UserPin",["pinID"],{}));_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false}));_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{}));_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{}));_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("WebSiteFolder",WebSiteFolder=new Model("WebSiteFolder",["folderID"],{isStatic:false,isModified:false}));_export("WebSiteFolderHost",WebSiteFolderHost=new Model("WebSiteFolderHost",["host"],{}));_export("WebSiteFolderVersion",WebSiteFolderVersion=new Model("WebSiteFolderVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""}));_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{}));_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))}));_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""}));_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false}))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/model/model");System.register([],(function(_export,_context){"use strict";var Sql;return{setters:[],execute:function(){_export("Sql",Sql=void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");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;if(value===void 0){return this}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){if(value===void 0){return this}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/entity/dist/models/TaskManager","@web-atoms/core/dist/services/FetchBuilder"],(function(_export,_context){"use strict";var __awaiter,__decorate,DISingleton,TaskManager,FetchBuilder,EmailContentDownloader;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsEntityDistModelsTaskManager){TaskManager=_webAtomsEntityDistModelsTaskManager.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default}],execute:function(){EmailContentDownloader=class EmailContentDownloader extends TaskManager{download(mce){return this.downloadFromUrl(mce.htmlBodyUrl,mce.email)}downloadFromUrl(url,email){return __awaiter(this,void 0,void 0,(function*(){const cache=yield window.caches.open("email-content-cache");const cacheKey=new URL(url,location.href);const content=yield cache.match(cacheKey);if(content){return email.htmlBody=yield content.text()}return yield this.run((()=>__awaiter(this,void 0,void 0,(function*(){for(let i=0;i<3;i++){try{const text=yield FetchBuilder.get(url).responseAsText();yield cache.put(cacheKey,new Response(text,{headers:{"cache-control":"public, max-age=86000"}}));return email.htmlBody=text}catch(error){console.error(error)}}}))))}))}};EmailContentDownloader=__decorate([DISingleton({})],EmailContentDownloader);_export("default",EmailContentDownloader)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email/EmailContentDownloader");System.register([],(function(_export,_context){"use strict";var CacheTTL;return{setters:[],execute:function(){_export("CacheTTL",CacheTTL={seconds:{oneHour:60*60,oneDay:60*60*24,oneMonth:60*60*24*30}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/cache/CacheTTL");System.register(["tslib","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/cache/CacheTTL","@web-atoms/date-time/dist/DateTime","../../../../services/email/EmailContentDownloader","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Email,EmailEngagement,CacheTTL,DateTime,EmailContentDownloader,DISingleton,cacheSeconds,EngagementService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Email=_modelModel.Email;EmailEngagement=_modelModel.EmailEngagement},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheSeconds=CacheTTL.seconds.oneMonth;EngagementService=class EngagementService{downloadEngagements(email){return __awaiter(this,void 0,void 0,(function*(){try{const{emailID}=email;let now=DateTime.now;const minute=Math.floor(now.minute/5);now=now.addMinutes(-minute);const cacheVersion=email.dateUpdated?DateTime.from(email.dateUpdated).msSinceEpoch.toString(36):"-";email.engagements=yield this.entityService.query(EmailEngagement).where({emailID},(p=>x=>x.emailID===p.emailID)).toArray({cacheVersion,cacheSeconds:300})}catch(error){console.error(error)}}))}list({start=0,size=50,engagement="",emailID=0,mailboxID=0,emailAddressID=0,dateUpdated=null}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email).where({mailboxID,emailAddressID,engagement,emailID},(p=>x=>x.engagement===p.engagement&&x.parentID===p.emailID));const cacheVersion=dateUpdated?DateTime.from(dateUpdated).msSinceEpoch.toString(36):"-";const list=yield q.toPagedList({start,size,cacheVersion,cacheSeconds});yield Promise.all(list.items.map((x=>this.emailContentDownloader.download(x))));return list}))}};__decorate([Inject,__metadata("design:type",EntityService)],EngagementService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],EngagementService.prototype,"emailContentDownloader",void 0);EngagementService=__decorate([DISingleton()],EngagementService);_export("default",EngagementService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/EngagementService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../services/EntityService","../../model/model","../../common/Sql","../../services/email/EmailContentDownloader","../../web/page/mails/service/EngagementService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,Mailbox,Sql,EmailContentDownloader,EngagementService,BlogService;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){Email=_modelModel.Email;Mailbox=_modelModel.Mailbox},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_webPageMailsServiceEngagementService){EngagementService=_webPageMailsServiceEngagementService.default}],execute:function(){BlogService=class BlogService{getEmail({emailID,channelID}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Email,"channelEmails",channelID).where({emailID},(p=>x=>x.emailID===p.emailID)).include((x=>[x.engagements]));const email=yield q.firstOrDefault();yield this.downloader.downloadFromUrl(`/api/emails/channel/content/html/${channelID}/${email.emailID}/${email.headerMessageID}`,email);return email}))}getEmails({channelID=0,parentID=0,search="",start=0,size=10,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Email,"channelEmails",channelID);if(parentID){q=q.where({parentID},(p=>x=>x.parentID===p.parentID))}else{q=q.where((x=>x.parentID===null))}if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.textBody,p.search)))}const emails=yield q.include((x=>[x.attachments,x.engagements])).orderByDescending((x=>x.dateSent)).toPagedList({start,size,cancelToken});const tasks=[];for(const email of emails.items){tasks.push(this.downloader.downloadFromUrl(`/api/emails/channel/content/html/${channelID}/${email.emailID}/${email.headerMessageID}`,email));if(email.attachments){for(const iterator of email.attachments){iterator.url=`/api/emails/channel/attachment/${channelID}/${email.emailID}/${email.headerMessageID}/${iterator.appFileID}`}}}yield Promise.all(tasks);return emails}))}getChannel(emailAddress,channelID,d){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox,"channels",emailAddress,d).where((x=>x.datePublished!==null));if(channelID){q=q.where({channelID},(p=>x=>x.mailboxID===p.channelID))}const c=yield q.include((x=>x.emailAddress)).orderByDescending((x=>x.datePublished)).firstOrDefault();return c}))}};__decorate([Inject,__metadata("design:type",EntityService)],BlogService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],BlogService.prototype,"downloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],BlogService.prototype,"engagementService",void 0);BlogService=__decorate([DISingleton()],BlogService);_export("default",BlogService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/BlogService");System.register(["@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var DateTime,DIVISIONS,DateFormats;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){DIVISIONS=[{amount:60,name:"seconds"},{amount:60,name:"minutes"},{amount:24,name:"hours"},{amount:7,name:"days"},{amount:4.34524,name:"weeks"},{amount:12,name:"months"},{amount:Number.POSITIVE_INFINITY,name:"years"}];_export("DateFormats",DateFormats={diff(d){if(!d){return""}if(!(d instanceof DateTime)){d=typeof d==="string"?new DateTime(d):DateTime.from(d)}const today=DateTime.now;let diff=today.diff(d);if(diff.totalMilliseconds<0){diff=d.diff(today)}if(diff.totalHours<=24){if(diff.totalSeconds<=180){return"now"}if(diff.totalMinutes<60){return Math.round(diff.totalMinutes)+"m"}return Math.round(diff.totalHours)+"h"}if(diff.totalDays<=30){return Math.round(diff.totalDays)+"d"}if(diff.totalDays<=365){return Math.round(diff.totalDays/30)+"mo"}return Math.round(diff.totalDays/365)+"yr"},withWeekDayAndTime(d,def=""){var _a;if(!d){return def}d=DateTime.from(d);return(_a=d===null||d===void 0?void 0:d.toLocaleString(navigator.language,{year:"numeric",month:"short",day:"numeric",weekday:"short",hour12:true,minute:"numeric",hour:"numeric"}))!==null&&_a!==void 0?_a:def},relative:{short(d){if(!d){return""}d=DateTime.from(d);const now=DateTime.now;if(now<d){return"in "+DateFormats.diff(d)}return DateFormats.diff(d)+" ago"}}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/date/DateFormats");System.register([],(function(_export,_context){"use strict";function newCSSStyleDeclaration(){const e=document.createElement("div");return e.style}function mergeStyle(...styles){var _a,_b;const s=newCSSStyleDeclaration();for(const iterator of styles){if(!iterator){continue}if(iterator instanceof CSSStyleDeclaration){for(let index=0;index<iterator.length;index++){const name=iterator[index];let value=(_a=iterator[name])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}s[name]=value}continue}for(const key in iterator){if(Object.prototype.hasOwnProperty.call(iterator,key)){const element=(_b=iterator[key])===null||_b===void 0?void 0:_b.toString();if(!element){continue}s[key]=element}}}return s}_export({newCSSStyleDeclaration,default:mergeStyle});return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/style/mergeStyle");System.register(["../style/mergeStyle"],(function(_export,_context){"use strict";var newCSSStyleDeclaration,StyleHelper,toStyle;_export("default",void 0);return{setters:[function(_styleMergeStyle){newCSSStyleDeclaration=_styleMergeStyle.newCSSStyleDeclaration}],execute:function(){toStyle=style=>{var _a;if(typeof style==="string"){const css=style;const cs=newCSSStyleDeclaration();cs.cssText=css;return cs}const s=newCSSStyleDeclaration();if(style instanceof CSSStyleDeclaration){return style}for(const key in style){if(Object.prototype.hasOwnProperty.call(style,key)){const element=(_a=style[key])===null||_a===void 0?void 0:_a.toString();if(element===void 0||element===null||element===""){continue}s[key]=element}}return s};_export("default",StyleHelper=class StyleHelper{static styleToString(style,props){var _a;if(!style){return}const cs=toStyle(style);if(props){const ps=toStyle(props);for(let index=0;index<ps.length;index++){const key=ps[index];let value=(_a=ps[key])===null||_a===void 0?void 0:_a.toString();if(value===void 0||value===null||value===""){continue}cs[key]=value}}const allKeys=[];for(let index=0;index<cs.length;index++){const key=cs[index];allKeys.push(key)}for(const key of allKeys){if(!cs[key]){cs.removeProperty(key)}}return cs.cssText}})}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/dom/StyleHelper");System.register(["@web-atoms/core/dist/core/XNode","./dom/StyleHelper"],(function(_export,_context){"use strict";var XNode,StyleHelper;function DomToString(node){const div=document.createElement("div");render(div,XNode.create("div",null,node));return div.innerHTML}function render(div,node){var _a;while(typeof node.name==="function"){node=node.name(node.attributes,...node.children)}const a=node.attributes;if(a){for(const key in a){if(Object.prototype.hasOwnProperty.call(a,key)){let element=a[key];if(element===null||element===void 0){continue}if(typeof element==="object"&&key==="style"){element=StyleHelper.styleToString(element)}else{element=element.toString()}if(!element){continue}if(key==="text"){div.textContent=element;continue}if(key.startsWith("style")&&key.length>5){div.style[key.substring(5)]=element;continue}if(key.startsWith("data")&&key.length>4){if(key.indexOf("-")!==-1){div.setAttribute(key,element);continue}div.dataset[key.substring(4)]=element;continue}div.setAttribute(key,element)}}}if(!((_a=node.children)===null||_a===void 0?void 0:_a.length)){return}for(let iterator of node.children){if(iterator===false||iterator===void 0||iterator===null){continue}if(typeof iterator!=="object"){div.appendChild(document.createTextNode(iterator.toString()));continue}while(typeof iterator.name==="function"){iterator=iterator.name(iterator.attributes,...iterator.children)}const child=document.createElement(iterator.name);div.appendChild(child);render(child,iterator)}}_export("default",DomToString);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_domStyleHelper){StyleHelper=_domStyleHelper.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/email-dom/dist/DomToString");System.register(["@web-atoms/core/dist/core/EventScope"],(function(_export,_context){"use strict";var EventScope,CommonEvents;return{setters:[function(_webAtomsCoreDistCoreEventScope){EventScope=_webAtomsCoreDistCoreEventScope.default}],execute:function(){_export("CommonEvents",CommonEvents={onThreadMarkedAsRead:EventScope.create(),onThreadMarkedAsBlocked:EventScope.create(),onDraftDeleted:EventScope.create(),onFileDeleted:EventScope.create(),onEmailScheduled:EventScope.create(),onEmailUnscheduled:EventScope.create()})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/events/CommonEvents");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","@web-atoms/email-dom/dist/DomToString","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/date-time/dist/DateTime","../../../../common/events/CommonEvents","../../../../services/BusyProgress","../../../../services/email/EmailContentDownloader","./EngagementService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,EmailRecipient,MailboxContactEmail,MailboxEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,EmailContentDownloader,EngagementService,renderMail,ConversationService;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){Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient;MailboxContactEmail=_modelModel.MailboxContactEmail;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_servicesBusyProgress){BusyProgress=_servicesBusyProgress.default},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_EngagementService){EngagementService=_EngagementService.default}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{var _a;if(!value){e.innerHTML="";return}const thread=value;const mail=thread.email;const html=mail.htmlBody;const msg=document.createElement("div");if(!html){for(const iterator of html.split("\n")){const p=document.createElement("p");p.appendChild(document.createTextNode(iterator));msg.appendChild(p)}e.appendChild(msg);return}msg.innerHTML=html;for(const iterator of descendentElementIterator(msg)){let cid=iterator.getAttribute("data-content-id");if(cid){const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",a.url);continue}}if(/^(IMG|VIDEO)$/.test(iterator.tagName)){const src=iterator.getAttribute("src");if(src){if(src.startsWith("cid:")){cid=src.substring(4);const a=mail.attachments.find((x=>x.contentID===cid));if(a){iterator.setAttribute("src",`/api/files/${a.appFileID}/${a.fileContentID}/${a.name}`)}}if(/^http\:\/\//i.test(src)){iterator.setAttribute("src",src.substring(5))}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead&&thread.mailboxID&&thread.mailboxID!==((_a=thread.email)===null||_a===void 0?void 0:_a.senderID)){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxContactEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));ConversationService=class ConversationService{getDraft({mailboxID,emailAddressID,email}){return __awaiter(this,void 0,void 0,(function*(){const draft="draft";return yield this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID,draft},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.email.status===p.draft)).orderByDescending((x=>x.emailID)).include((x=>[x.email.recipients,x.email.attachments])).firstOrDefault()}))}draft({mailboxID,emailAddressID,email},create=false){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){if(email===null||email===void 0?void 0:email.emailID){if(!email.textBody){email.textBody=email.mdBody}email.subject||(email.subject="");const cloner=this.entityService.cloner(email).include((x=>x.attachments)).include((x=>x.recipients));yield this.entityService.save(cloner.copy);return email}if(create&&email){const recipients=(_a=email.recipients)!==null&&_a!==void 0?_a:email.recipients=[];const mailboxes=(_b=email.mailboxes)!==null&&_b!==void 0?_b:email.mailboxes=[];const threads=(_c=email.threadEmails)!==null&&_c!==void 0?_c:email.threadEmails=[];email.senderID=mailboxID;email.status="draft";if(!mailboxes.some((m=>m.mailboxID===mailboxID))){mailboxes.push(MailboxEmail.create({mailboxID}))}if(!recipients.some((r=>r.emailAddressID===emailAddressID))){recipients.push(EmailRecipient.create({emailAddressID}))}if(!threads.some((r=>r.mailboxID===mailboxID))){threads.push(MailboxContactEmail.create({mailboxID,emailAddressID}))}yield this.entityService.save(email)}return email}))}list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContactEmail).where({mailboxID,emailAddressID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===p.emailAddressID&&x.engagement===null));if(search){if(!/\%/.test(search)){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.iLike(x.email.subject,p.search)||Sql.text.iLike(x.email.textBody,p.search)||Sql.text.iLike(x.email.originalFile.fileContent.textDocument.searchable,p.search)))}const emails=yield q.include((x=>[x.email.recipients.forEach((r=>r.emailAddress)),x.email.attachments,x.email.senderUser,x.email.senderEmail])).orderByDescending((x=>x.dateReceived)).toPagedList({start,size,cancelToken});const tasks=[];const d=BusyProgress.create();try{for(const mce of emails.items){const{email}=mce;(_a=email.htmlBody)!==null&&_a!==void 0?_a:email.htmlBody="";(_b=email.textBody)!==null&&_b!==void 0?_b:email.textBody="";tasks.push(this.downloadEmailContent(mce));tasks.push(this.engagementService.downloadEngagements(email))}yield Promise.all(tasks)}finally{(_c=d===null||d===void 0?void 0:d.dispose)===null||_c===void 0?void 0:_c.call(d)}return emails}))}stopEmail(mce){return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;email.status="draft";yield this.entityService.save(email,(c=>c));CommonEvents.onEmailUnscheduled.dispatchEvent(mce)}))}downloadEmailContent(mce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;if(email.replyCount){const children=yield this.entityService.query(Email).where({emailID:email.emailID},(p=>x=>x.emailID===p.emailID&&x.engagement!==null)).orderByDescending((x=>x.emailID)).toPagedList({start:0,size:4,cacheVersion:"a",cacheSeconds:900});email.children=(_a=children===null||children===void 0?void 0:children.items)!==null&&_a!==void 0?_a:[]}else{(_b=email.children)!==null&&_b!==void 0?_b:email.children=[]}yield this.emailContentDownloader.download(mce)}))}renderText(html){const div=document.createElement("div");div.innerHTML=html;return div.textContent}renderHtml(html){const div=document.createElement("div");div.innerHTML=html;return div.innerHTML}toHtml(textBody){return DomToString(XNode.create("div",null,...textBody.split("\n").map((p=>XNode.create("p",{text:p})))))}block(thread){return __awaiter(this,void 0,void 0,(function*(){thread.blocked=!thread.blocked;const cloner=this.entityService.cloner(thread).copy;yield this.entityService.save(cloner);CommonEvents.onThreadMarkedAsBlocked.dispatchEvent(thread)}))}delete(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID,status}=email;yield this.entityService.delete(Email.create({emailID,status}));CommonEvents.onDraftDeleted.dispatchEvent(email)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ConversationService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ConversationService.prototype,"engagementService",void 0);ConversationService=__decorate([DISingleton()],ConversationService);_export("default",ConversationService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService");System.register(["../web/core/AtomUI"],(function(_export,_context){"use strict";var AtomUI,AtomUri;_export("AtomUri",void 0);return{setters:[function(_webCoreAtomUI){AtomUI=_webCoreAtomUI.AtomUI}],execute:function(){_export("AtomUri",AtomUri=class AtomUri{get pathAndQuery(){const q=[];const h=[];for(const key in this.query){if(this.query.hasOwnProperty(key)){const element=this.query[key];if(element===undefined||element===null){continue}q.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}for(const key in this.hash){if(this.hash.hasOwnProperty(key)){const element=this.hash[key];if(element===undefined||element===null){continue}h.push(`${encodeURIComponent(key)}=${encodeURIComponent(element.toString())}`)}}const query=q.length?"?"+q.join("&"):"";const hash=h.length?"#"+h.join("&"):"";let path=this.path||"/";if(path.startsWith("/")){path=path.substr(1)}return`${path}${query}${hash}`}constructor(url){let path;let query="";let hash="";let t=url.split("?");path=t[0];if(t.length===2){query=t[1]||"";t=query.split("#");query=t[0];hash=t[1]||""}else{t=path.split("#");path=t[0];hash=t[1]||""}let scheme="";let host="";let port="";let i=path.indexOf("//");if(i!==-1){scheme=path.substr(0,i);path=path.substr(i+2);i=path.indexOf("/");if(i!==-1){host=path.substr(0,i);path=path.substr(i+1);t=host.split(":");if(t.length>1){host=t[0];port=t[1]}}}this.host=host;this.protocol=scheme;this.port=port;this.path=path;this.query=AtomUI.parseUrl(query);this.hash=AtomUI.parseUrl(hash)}toString(){const port=this.port?":"+this.port:"";return`${this.protocol}//${this.host}${port}/${this.pathAndQuery}`}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/AtomUri");System.register(["tslib","../di/DISingleton"],(function(_export,_context){"use strict";var __decorate,DISingleton,ObjectReference,ReferenceService;_export("ObjectReference",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate},function(_diDISingleton){DISingleton=_diDISingleton.default}],execute:function(){_export("ObjectReference",ObjectReference=class ObjectReference{constructor(key,value){this.key=key;this.value=value}});ReferenceService=class ReferenceService{constructor(){this.cache={};this.id=1}get(key){return this.cache[key]}put(item,ttl=60){const key=`k${this.id++}`;const r=new ObjectReference(key,item);r.consume=()=>{delete this.cache[key];if(r.timeout){clearTimeout(r.timeout)}return r.value};r.timeout=setTimeout((()=>{r.timeout=0;r.consume()}),ttl*1e3);this.cache[key]=r;return r}};ReferenceService=__decorate([DISingleton()],ReferenceService);_export("default",ReferenceService)}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/ReferenceService");System.register(["tslib","../core/AtomComponent","../core/AtomUri","../core/FormattedString","../core/types","./ReferenceService"],(function(_export,_context){"use strict";var __awaiter,AtomComponent,AtomUri,FormattedString,ArrayHelper,ReferenceService,ObjectReference,NavigationService,NotifyType,nameSymbol;function hasPageUrl(target){const url=target[nameSymbol];if(!url){return false}const baseClass=Object.getPrototypeOf(target);if(!baseClass){return false}return baseClass[nameSymbol]!==url}_export({NavigationService:void 0,NotifyType:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_coreAtomComponent){AtomComponent=_coreAtomComponent.AtomComponent},function(_coreAtomUri){AtomUri=_coreAtomUri.AtomUri},function(_coreFormattedString){FormattedString=_coreFormattedString.default},function(_coreTypes){ArrayHelper=_coreTypes.ArrayHelper},function(_ReferenceService){ReferenceService=_ReferenceService.default;ObjectReference=_ReferenceService.ObjectReference}],execute:function(){(function(NotifyType){NotifyType["Information"]="info";NotifyType["Warning"]="warn";NotifyType["Error"]="error"})(NotifyType||_export("NotifyType",NotifyType={}));nameSymbol=UMD.nameSymbol;_export("NavigationService",NavigationService=class NavigationService{constructor(app){this.app=app;this.callbacks=[]}pushPage(pageName,viewModelParameters,options){this.app.runAsync((()=>this.openPage(pageName,viewModelParameters,options)))}openPage(pageName,viewModelParameters,options){options=options||{};if(typeof pageName!=="string"){if(hasPageUrl(pageName)){pageName=pageName[nameSymbol]}else{const rs=this.app.resolve(ReferenceService);const host=pageName instanceof AtomComponent?"reference":"class";const r=rs.put(pageName);pageName=`ref://${host}/${r.key}`}}if(this.beforeCallbacks){for(const iterator of this.beforeCallbacks){const r=iterator(pageName,viewModelParameters,options);if(r){return r}}}const url=new AtomUri(pageName);if(viewModelParameters){for(const key in viewModelParameters){if(viewModelParameters.hasOwnProperty(key)){const element=viewModelParameters[key];if(element===undefined){continue}if(element===null){url.query["json:"+key]="null";continue}if(key.startsWith("ref:")||element instanceof FormattedString){const r=element instanceof ObjectReference?element:this.app.resolve(ReferenceService).put(element);url.query[key.startsWith("ref:")?key:`ref:${key}`]=r.key;continue}if(typeof element!=="string"&&(typeof element==="object"||Array.isArray(element))){url.query["json:"+key]=JSON.stringify(element)}else{url.query[key]=element}}}}for(const iterator of this.callbacks){const r=iterator(url,options);if(r){return r}}return this.openWindow(url,options)}remove(view,force){return __awaiter(this,void 0,void 0,(function*(){if(force){this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}const vm=view.viewModel;if(vm&&vm.cancel){const a=yield vm.cancel();return a}this.app.broadcast(`atom-window-cancel:${view.id}`,"cancelled");return true}))}registerNavigationHook(callback){this.callbacks.push(callback);return{dispose:()=>{ArrayHelper.remove(this.callbacks,(a=>a===callback))}}}registerPreNavigationHook(callback){var _a;((_a=this.beforeCallbacks)!==null&&_a!==void 0?_a:this.beforeCallbacks=[]).push(callback);return{dispose:()=>{this.beforeCallbacks.remove(callback)}}}})}}}));AmdLoader.instance.setup("@web-atoms/core/dist/services/NavigationService");System.register([],(function(_export,_context){"use strict";function sleep(timeInMS,ct,throwOnCancel=true){let token=0;return new Promise(((resolve,reject)=>{ct===null||ct===void 0?void 0:ct.registerForCancel((reason=>{if(token){clearTimeout(token);if(throwOnCancel){reject(reason)}else{resolve()}}}));if(ct===null||ct===void 0?void 0:ct.cancelled){if(throwOnCancel){reject("cancelled")}else{resolve()}return}token=setTimeout(resolve,timeInMS)}))}_export("default",sleep);return{setters:[],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/sleep");System.register(["tslib","../../core/Bind","../../core/BindableProperty","../../core/XNode","../../core/sleep","../../core/types","../../style/styled","../controls/AtomControl","../core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,BindableProperty,XNode,sleep,CancelToken,styled,AtomControl,ChildEnumerator,PopupWindow,ConfirmPopup,popupService,loadPopupService,focus;_export({default:void 0,ConfirmPopup:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_coreBind){Bind=_coreBind.default},function(_coreBindableProperty){BindableProperty=_coreBindableProperty.BindableProperty},function(_coreXNode){XNode=_coreXNode.default},function(_coreSleep){sleep=_coreSleep.default},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_styleStyled){styled=_styleStyled.default},function(_controlsAtomControl){AtomControl=_controlsAtomControl.AtomControl},function(_coreAtomUI){ChildEnumerator=_coreAtomUI.ChildEnumerator}],execute:function(){loadPopupService=()=>__awaiter(void 0,void 0,void 0,(function*(){if(popupService){return popupService}return popupService=(yield _context.import("./PopupService")).default}));focus=popup=>{var _a,_b,_c;const element=popup.element;if(!element){return}const host=(_a=element.querySelector(`[data-window-element="title"]`))!==null&&_a!==void 0?_a:element.querySelector(`[data-window-element="action-bar"]`);if(host){popup.setupDragging(host)}const anyAutofocus=element.querySelector(`*[autofocus]`);if(!anyAutofocus){const cb=element.querySelector(".popup-close-button");if(cb){cb.focus()}return}(_c=(_b=anyAutofocus).focus)===null||_c===void 0?void 0:_c.call(_b)};styled.css`
|
|
73
73
|
position: absolute;
|
|
74
74
|
border: solid 1px lightgray;
|
|
75
75
|
border-radius: 5px;
|
|
@@ -337,6 +337,19 @@ box-sizing: border-box;
|
|
|
337
337
|
|
|
338
338
|
}
|
|
339
339
|
|
|
340
|
+
& button[data-element=engage] {
|
|
341
|
+
margin:0;
|
|
342
|
+
border: none;
|
|
343
|
+
outline: none;
|
|
344
|
+
background: transparent;
|
|
345
|
+
cursor: pointer;
|
|
346
|
+
& > img {
|
|
347
|
+
max-height: 20px;
|
|
348
|
+
height: 20px;
|
|
349
|
+
pointer-events: none;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
340
353
|
& > section {
|
|
341
354
|
& [data-element=blog-item] {
|
|
342
355
|
margin: 10px;
|
|
@@ -391,6 +404,9 @@ box-sizing: border-box;
|
|
|
391
404
|
background-color: canvas;
|
|
392
405
|
border-bottom-left-radius: 10px;
|
|
393
406
|
border-bottom-right-radius: 10px;
|
|
407
|
+
display: flex;
|
|
408
|
+
gap: 5px;
|
|
409
|
+
flex-wrap: wrap;
|
|
394
410
|
}
|
|
395
411
|
}
|
|
396
412
|
}
|
|
@@ -434,7 +450,7 @@ box-sizing: border-box;
|
|
|
434
450
|
}
|
|
435
451
|
}
|
|
436
452
|
|
|
437
|
-
`.installLocal())}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/styles/channelViewStyle");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","./BlogService","@web-atoms/core/dist/core/XNode","../../common/date/DateFormats","../../web/page/mails/service/ConversationService","@web-atoms/core/dist/view-model/Action","./emoji/EmojiPopup","./styles/channelViewStyle","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,BlogService,XNode,DateFormats,renderMail,Action,EmojiPopup,channelViewStyle,PopupService,UMD,ChannelMessage,_a,url,channelID,emailID;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_BlogService){BlogService=_BlogService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webPageMailsServiceConversationService){renderMail=_webPageMailsServiceConversationService.renderMail},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_stylesChannelViewStyle){channelViewStyle=_stylesChannelViewStyle.channelViewStyle},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){url=window.pageUrl;({1:channelID="1",2:emailID="2a"}=(_a=/^\/channels\/([^\/]+)\/([^\/]+)\//.exec(url===null||url===void 0?void 0:url.pathname))!==null&&_a!==void 0?_a:{});channelID=parseInt(channelID,36);emailID=parseInt(emailID,36);_export("default",ChannelMessage=class ChannelMessage extends AtomControl{constructor(app,e=document.createElement("section")){super(app,e);this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const channel=yield this.blogService.getChannel(void 0,channelID,void 0);this.channel=channel;const email=yield this.blogService.getEmail({emailID,channelID});this.email=email;const engagements=(_a=email.engagements)!==null&&_a!==void 0?_a:[];this.element.className=channelViewStyle;this.element.setAttribute("data-blog-list","blog-list");this.element.setAttribute("data-layout","flex-center");this.renderer=XNode.create("section",null,XNode.create("header",null,XNode.create("div",{"styler-display":"flex","styler-gap":"size-default"},XNode.create("span",{text:channel.emailAddress.name}),XNode.create("a",{href:`mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`},XNode.create("button",null,"Follow")))),XNode.create("section",null,XNode.create("section",null,XNode.create("section",{"data-element":"blog-item"},XNode.create("h4",{"data-element":"title"},XNode.create("label",{text:email.subject})),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),XNode.create("h5",{text:email.senderName}),XNode.create("section",{"data-element":"content"},XNode.create("section",Object.assign({},renderMail({email})))),XNode.create("footer",null,XNode.create("
|
|
453
|
+
`.installLocal())}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/styles/channelViewStyle");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/web/controls/AtomControl","./BlogService","@web-atoms/core/dist/core/XNode","../../common/date/DateFormats","../../web/page/mails/service/ConversationService","@web-atoms/core/dist/view-model/Action","./emoji/EmojiPopup","./styles/channelViewStyle","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,AtomControl,BlogService,XNode,DateFormats,renderMail,Action,EmojiPopup,channelViewStyle,PopupService,UMD,ChannelMessage,_a,url,channelID,emailID;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_BlogService){BlogService=_BlogService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webPageMailsServiceConversationService){renderMail=_webPageMailsServiceConversationService.renderMail},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_emojiEmojiPopup){EmojiPopup=_emojiEmojiPopup.default},function(_stylesChannelViewStyle){channelViewStyle=_stylesChannelViewStyle.channelViewStyle},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){url=window.pageUrl;({1:channelID="1",2:emailID="2a"}=(_a=/^\/channels\/([^\/]+)\/([^\/]+)\//.exec(url===null||url===void 0?void 0:url.pathname))!==null&&_a!==void 0?_a:{});channelID=parseInt(channelID,36);emailID=parseInt(emailID,36);_export("default",ChannelMessage=class ChannelMessage extends AtomControl{constructor(app,e=document.createElement("section")){super(app,e);this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const channel=yield this.blogService.getChannel(void 0,channelID,void 0);this.channel=channel;const email=yield this.blogService.getEmail({emailID,channelID});this.email=email;const engagements=(_a=email.engagements)!==null&&_a!==void 0?_a:[];this.element.className=channelViewStyle;this.element.setAttribute("data-blog-list","blog-list");this.element.setAttribute("data-layout","flex-center");this.renderer=XNode.create("section",null,XNode.create("header",null,XNode.create("div",{"styler-display":"flex","styler-gap":"size-default"},XNode.create("span",{text:channel.emailAddress.name}),XNode.create("a",{href:`mailto:subscribe-${channel.emailAddress.emailAddress}?subject=subscribe`},XNode.create("button",null,"Follow")))),XNode.create("section",null,XNode.create("section",null,XNode.create("section",{"data-element":"blog-item"},XNode.create("h4",{"data-element":"title"},XNode.create("label",{text:email.subject})),XNode.create("h6",{"data-element":"date",text:DateFormats.relative.short(email.dateSent)}),XNode.create("h5",{text:email.senderName}),XNode.create("section",{"data-element":"content"},XNode.create("section",Object.assign({},renderMail({email})))),XNode.create("footer",null,XNode.create("button",{"data-element":"engage","data-click-event":"react-email",style:"padding:0; margin:0; border: none; outline: none;"},XNode.create("img",{src:UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/face-plus.svg"),"style-max-height":"15px",title:"React"})),XNode.create("button",{"data-element":"engage","data-click-event":"reply-email",style:"padding:0; margin:0; border: none; outline: none;"},XNode.create("img",{src:UMD.resolvePath("@social-mail/social-mail-client/content/images/icons/comment-plus.svg"),"style-max-height":"15px",title:"React"})),...engagements.map((x=>XNode.create("span",{title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`}))))))),XNode.create("aside",null),XNode.create("footer",null))}))}reactEmail(a,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPopup.showControl(ce.target,{parentElement:ce.target});const{channel,email}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${email.headerMessageID}`;yield PopupService.alert({message:XNode.create("div",{"data-layout":"vertical-flex"},"To add your emoji to this post, email just the emoji ",emoji," with given subject to the channel email address.",XNode.create("div",null,"To: ",channel.emailAddress.emailAddress),XNode.create("div",null,"Subject: ",subject),XNode.create("div",null,"Body: ",emoji),XNode.create("div",null,XNode.create("a",{href:`mailto:${channel.emailAddress.emailAddress}?subject=${subject}&body=${emoji}`},"Email Now"))),title:"Send Email"})}))}replyEmail(a,ce){return __awaiter(this,void 0,void 0,(function*(){const emoji="💬";const{channel,email}=this;const subject=`${emoji}:${Number(email.emailID).toString(36)}:${email.headerMessageID}`;yield PopupService.alert({message:XNode.create("div",{"data-layout":"vertical-flex"},"To send comment to this post, email us your comment with given subject to the channel email address.",XNode.create("div",null,"To: ",channel.emailAddress.emailAddress),XNode.create("div",null,"Subject: ",subject),XNode.create("div",null,XNode.create("a",{href:`mailto:${channel.emailAddress.emailAddress}?subject=${subject}`},"Email Now"))),title:"Send Email"})}))}});__decorate([InjectProperty,__metadata("design:type",BlogService)],ChannelMessage.prototype,"blogService",void 0);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"reactEmail",null);__decorate([Action({onEvent:"reply-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ChannelMessage.prototype,"replyEmail",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/public/channel/ChannelMessage");System.register(["./AtomBinder","./AtomWatcher"],(function(_export,_context){"use strict";var AtomBinder,AtomWatcher;function WatchProperty(target,key,descriptor){const{get}=descriptor;const isSetup=Symbol.for(`isSetup${key}`);return{get:function(){const watcher=new AtomWatcher(this,get,(()=>{AtomBinder.refreshValue(this,key)}),this);watcher.init(false);this.registerDisposable(watcher);this[isSetup]=watcher;Object.defineProperty(this,key,descriptor);return get.apply(this)},configurable:true}}_export("default",WatchProperty);return{setters:[function(_AtomBinder){AtomBinder=_AtomBinder.AtomBinder},function(_AtomWatcher){AtomWatcher=_AtomWatcher.AtomWatcher}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/core/dist/core/WatchProperty");System.register([],(function(_export,_context){"use strict";var MergeNode,empty;_export("default",void 0);return{setters:[],execute:function(){empty=[];_export("default",MergeNode=class MergeNode{static none(){return new MergeNode(empty)}static remove(){return new MergeNode([{remove:true}])}static childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* > "+name,parent,after}])}return new MergeNode(["* > "+name])}static nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([{replace:"* "+name,parent,after}])}return new MergeNode(["* "+name])}constructor(classes=empty){this.classes=classes}childSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* > "+name,parent,after}])}return new MergeNode([...this.classes,"* > "+name])}nestedSelector(name,p){if(p!==void 0){const{parent,after}=p;return new MergeNode([...this.classes,{replace:"* "+name,parent,after}])}return new MergeNode([...this.classes,"* "+name])}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/MergeNode");System.register([],(function(_export,_context){"use strict";var ItemPath,get;function*getFragments(path){const regex=/([^\=\:]+)\s*[\=\:]\s*((('[^\\']*(((\\')|(''))[^\\']*)*')|("[^\\"]*(((\\")|(""))[^\\"]*)*"))|([^\,\;]+))\s*[\,\;]?\s*/gim;let m;while((m=regex.exec(path))!==null){if(m.index===regex.lastIndex){regex.lastIndex++}yield[m[1].trim(),m[2].trim()]}}_export("default",void 0);return{setters:[],execute:function(){get=(start,path)=>{let item=start;for(const iterator of path.split(".")){if(iterator==="$"){item=start;continue}item=item[iterator]}return item};_export("default",ItemPath=class ItemPath{static get(item,path){if(path.startsWith("$.")){return get(item,path)}if(/^[\{\"]/.test(path)){const json=JSON.parse(path);return json}const target={};this.build(item,path,target);return target}static build(item,path,target){for(let[key,value]of getFragments(path)){if(value.startsWith("$")){value=get(item,value);target[key]=value;continue}if(value.startsWith('"')){value=JSON.parse(value);target[key]=value;continue}if(value.startsWith("'")){value=value.substring(1,value.length-1);value=value.replace(/((\'\')|(\\\'))/,"'");target[key]=value;continue}if(value==="true"){target[key]=true;continue}if(value==="false"){target[key]=false;continue}if(value==="null"){target[key]=null;continue}target[key]=Number(value)}}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ItemPath");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
438
454
|
display: none;
|
|
439
455
|
`.installGlobal("[data-ui-display=none]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/ui-display-none-style");System.register(["@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var styled,repeaterPopupCss;return{setters:[function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){_export("repeaterPopupCss",repeaterPopupCss=styled.css`
|
|
440
456
|
min-width: 200px;
|