@social-mail/social-mail-client 1.1.21 → 1.1.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminAppIndex.pack.js +6 -6
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +3 -3
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/model/model.d.ts +2 -1
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +1 -1
- package/dist/model/model.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +6 -6
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +3 -3
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/page/mails/service/ConversationService.d.ts.map +1 -1
- package/dist/web/page/mails/service/ConversationService.js +4 -4
- package/dist/web/page/mails/service/ConversationService.js.map +1 -1
- package/dist/web/page/templates/social/SocialTemplate.js +1 -1
- package/dist/web/page/templates/social/SocialTemplate.js.map +1 -1
- package/package.json +1 -1
- package/src/model/model.ts +3 -2
- package/src/web/page/mails/service/ConversationService.tsx +6 -6
- package/src/web/page/templates/social/SocialTemplate.tsx +1 -1
|
@@ -736,7 +736,7 @@ and limitations under the License.
|
|
|
736
736
|
}
|
|
737
737
|
}
|
|
738
738
|
|
|
739
|
-
`.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,AppLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxThread,MailboxThreadEmail,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,MailboxSubscriberStatusArray,MailboxSubscriber,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,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}));_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:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"}]);_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,originalFileSize:0}));_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID"],{activity:"",count:0}));_export("AppLog",AppLog=new Model("AppLog",["logID"],{dateCreated:new DefaultFactory((()=>new DateTime)),json:false}));_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,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxThread",MailboxThread=new Model("MailboxThread",["mailboxID","emailAddressID"],{dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,priority:0,blocked:false}));_export("MailboxThreadEmail",MailboxThreadEmail=new Model("MailboxThreadEmail",["mailboxID","emailAddressID","emailID"],{dateReceived: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("MailboxSubscriberStatusArray",MailboxSubscriberStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxSubscriber",MailboxSubscriber=new Model("MailboxSubscriber",["mailboxID","subscriberID"],{isOwner:false,canContribute:false,status:"invited",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_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("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("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([],(function(_export,_context){"use strict";var SocialMailApp;_export("default",void 0);return{setters:[],execute:function(){_export("default",SocialMailApp=class SocialMailApp{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,Sql,SocialMailApp,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(){return __awaiter(this,void 0,void 0,(function*(){const hosted=yield this.entityService.query(HostedDomain).include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top({isChannel=false}={}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Mailbox);const{userID}=SocialMailApp.user;const top=yield q.include((x=>x.emailAddress)).where({isChannel},(p=>x=>x.isChannel===p.isChannel)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});return top.items}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){let q=this.entityService.query(Mailbox);if(domainID){q=q.where({domainID},(p=>x=>x.domainID===p.domainID))}if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({id},(p=>x=>x.mailboxID===p.id)).include((x=>[x.userMailboxes,x.syncTargets,x.emailAddress,x.domain.domain])).firstOrDefault()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){if(model.name){model.name=model.name.trim()}if(model.username){model.username=model.username.trim()}const cloner=this.entityService.cloner(model).include((x=>x.userMailboxes));yield this.entityService.save(cloner.copy);return model}))}saveSyncTarget(syncTarget){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(syncTarget).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){return}if(/^timeout$/i.test(e.toString().trim())){console.warn(e);return}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});return}}yield ns.alert(e,"Error")}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,Bind,StringHelper,XNode,styled,checkClick,BindError,BindEmailError;function Form(_a,...nodes){var{"data-submit-event":submitEvent="submitForm","data-show-validation":showValidation="false","data-error-message":errorMessage="Please fix all validations"}=_a,a=__rest(_a,["data-submit-event","data-show-validation","data-error-message"]);return XNode.create("div",Object.assign({},a,{"data-submit-event":submitEvent,"data-form":"form","data-valid":"true","data-show-validation":showValidation,"data-error-message":errorMessage,"event-click":checkClick}),XNode.create("div",{class:"error-message",text:errorMessage}),...nodes)}_export("default",Form);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
739
|
+
`.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,AppLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxThread,MailboxThreadEmail,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,MailboxSubscriberStatusArray,MailboxSubscriber,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,UserStatusArray,User,UserPin,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,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}));_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:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"}]);_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,originalFileSize:0}));_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID"],{engagement:"",count:0}));_export("AppLog",AppLog=new Model("AppLog",["logID"],{dateCreated:new DefaultFactory((()=>new DateTime)),json:false}));_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,subscriberCount:0}));_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{}));_export("MailboxThread",MailboxThread=new Model("MailboxThread",["mailboxID","emailAddressID"],{dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,priority:0,blocked:false}));_export("MailboxThreadEmail",MailboxThreadEmail=new Model("MailboxThreadEmail",["mailboxID","emailAddressID","emailID"],{dateReceived: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("MailboxSubscriberStatusArray",MailboxSubscriberStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxSubscriber",MailboxSubscriber=new Model("MailboxSubscriber",["mailboxID","subscriberID"],{isOwner:false,canContribute:false,status:"invited",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))}));_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("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("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([],(function(_export,_context){"use strict";var SocialMailApp;_export("default",void 0);return{setters:[],execute:function(){_export("default",SocialMailApp=class SocialMailApp{})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/SocialMailApp");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,Sql,SocialMailApp,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(){return __awaiter(this,void 0,void 0,(function*(){const hosted=yield this.entityService.query(HostedDomain).include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top({isChannel=false}={}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Mailbox);const{userID}=SocialMailApp.user;const top=yield q.include((x=>x.emailAddress)).where({isChannel},(p=>x=>x.isChannel===p.isChannel)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});return top.items}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){let q=this.entityService.query(Mailbox);if(domainID){q=q.where({domainID},(p=>x=>x.domainID===p.domainID))}if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)))}}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({id},(p=>x=>x.mailboxID===p.id)).include((x=>[x.userMailboxes,x.syncTargets,x.emailAddress,x.domain.domain])).firstOrDefault()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){if(model.name){model.name=model.name.trim()}if(model.username){model.username=model.username.trim()}const cloner=this.entityService.cloner(model).include((x=>x.userMailboxes));yield this.entityService.save(cloner.copy);return model}))}saveSyncTarget(syncTarget){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(syncTarget).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","../App","../core/Command","../core/EventScope","../core/StringHelper","../core/types","../services/http/JsonError","../services/NavigationService","../web/services/PopupService"],(function(_export,_context){"use strict";var __awaiter,App,Command,EventScope,StringHelper,CancelToken,JsonError,NavigationService,NotifyType,PopupService,MarkBusySet,onEventHandler;function Action({onEvent=void 0,onEventTarget=void 0,onEventSetBusy,blockMultipleExecution=true,dispatchEvent,authorize=void 0,defer=void 0,success=null,successTitle="Done",successMode="notify",confirm=null,confirmTitle=null,validate=false,validateTitle=null,close=false,notifyDelay=2e3}={}){return(target,key,descriptor)=>{const getEventNames=names=>{if(names===null||names===void 0){return}if(Array.isArray(names)){return names.map(getEventNames)}if(names instanceof Command){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventScope.eventType}if(names instanceof EventScope){onEventTarget!==null&&onEventTarget!==void 0?onEventTarget:onEventTarget=window;return names.eventType}return names};onEvent=getEventNames(onEvent);if((onEvent===null||onEvent===void 0?void 0:onEvent.length)>0){const oldCreate=target.beginEdit;if(oldCreate){const onEventName=Array.isArray(onEvent)?onEvent.map(StringHelper.fromHyphenToCamel):StringHelper.fromHyphenToCamel(onEvent);const busyKey=Symbol.for("isBusy"+key.toString());target.beginEdit=function(){const result=oldCreate.apply(this,arguments);const c=this;let element=this.element;if(element){if(onEventTarget){element=onEventTarget}const handler=onEventHandler(c,blockMultipleExecution,key,busyKey,onEventSetBusy);if(typeof onEventName==="string"){c.bindEvent(element,onEventName,handler)}else{for(const eventName of onEventName){c.bindEvent(element,eventName,handler)}}}return result}}}const{value}=descriptor;const deferSymbol=defer?Symbol.for(`${key.toString()}Defer`):void 0;return{get:function(){const vm=this;const oldMethod=value;const fx=function(...a){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const vm=this;if(defer){const previous=vm[deferSymbol];if(previous!==0){if(previous>0){clearTimeout(previous)}vm[deferSymbol]=setTimeout((()=>{vm[deferSymbol]=0;const r=vm[key](...a);delete vm[deferSymbol];return r}),defer);return}}const app=vm.app;const ns=app.resolve(NavigationService);try{if(authorize&&!App.authorize()){return}if(validate){if(!vm.isValid){const vMsg=typeof validate==="boolean"?"Please enter correct information":validate;yield ns.alert(vMsg,validateTitle||"Error");return}}if(confirm){if(!(yield ns.confirm(confirm,confirmTitle||"Confirm"))){return}}let result=oldMethod.apply(vm,a);if(result===null||result===void 0?void 0:result.then){result=yield result}if(success){if(successMode==="notify"){yield ns.notify(success,successTitle,NotifyType.Information,notifyDelay)}else{yield ns.alert(success,successTitle)}}if(close){(_a=vm.close)===null||_a===void 0?void 0:_a.call(vm,result)}if(dispatchEvent){const element=(_b=vm.element)!==null&&_b!==void 0?_b:document.body;if(typeof dispatchEvent!=="string"){dispatchEvent=dispatchEvent.eventType}element.dispatchEvent(new CustomEvent(dispatchEvent,{detail:result,bubbles:true}))}return result}catch(e){if(CancelToken.isCancelled(e)){return}if(/^timeout$/i.test(e.toString().trim())){console.warn(e);return}if(e instanceof JsonError){if(e.details){yield PopupService.alert({message:e.message,title:"Error",detail:e.details});return}}yield ns.alert(e,"Error")}}))};Object.defineProperty(vm,key,{value:fx,writable:true,enumerable:false});return fx},configurable:true}}}_export({MarkBusySet:void 0,default:Action});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_App){App=_App.App},function(_coreCommand){Command=_coreCommand.default},function(_coreEventScope){EventScope=_coreEventScope.default},function(_coreStringHelper){StringHelper=_coreStringHelper.StringHelper},function(_coreTypes){CancelToken=_coreTypes.CancelToken},function(_servicesHttpJsonError){JsonError=_servicesHttpJsonError.default},function(_servicesNavigationService){NavigationService=_servicesNavigationService.NavigationService;NotifyType=_servicesNavigationService.NotifyType},function(_webServicesPopupService){PopupService=_webServicesPopupService.default}],execute:function(){_export("MarkBusySet",MarkBusySet=class MarkBusySet{static selector(selector){return new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.matches(selector)){yield start;break}start=start.parentElement}}))}constructor(set){this.set=set}*find(event){yield*this.set(event.target,event.currentTarget)}});MarkBusySet.none=new MarkBusySet((function*(){}));MarkBusySet.target=new MarkBusySet((function*(t,ct){yield t}));MarkBusySet.currentTarget=new MarkBusySet((function*(t,ct){yield ct}));MarkBusySet.tillCurrentTarget=new MarkBusySet((function*(target,currentTarget){let start=target;do{yield start;start=start.parentElement}while(start!==currentTarget);yield currentTarget}));MarkBusySet.button=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"){yield start;break}start=start.parentElement}}));MarkBusySet.buttonOrAnchor=new MarkBusySet((function*(target,currentTarget){let start=target;while(start){if(start.tagName==="BUTTON"||start.tagName==="A"){yield start;break}start=start.parentElement}}));MarkBusySet.allAncestors=new MarkBusySet((function*(target,currentTarget){do{yield target;target=target.parentElement}while(target)}));onEventHandler=(owner,blockMultipleExecution,key,busyKey,onEventSetBusy)=>ce=>__awaiter(void 0,void 0,void 0,(function*(){const element=ce.currentTarget;if(owner[busyKey]){if(blockMultipleExecution){return}}owner[busyKey]=true;try{if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.setAttribute("data-busy","true")}}const detail=ce.detail;return yield owner[key](detail,ce)}finally{delete owner[busyKey];if(onEventSetBusy){for(const iterator of onEventSetBusy.find(ce)){iterator.removeAttribute("data-busy")}}}}))}}}));AmdLoader.instance.setup("@web-atoms/core/dist/view-model/Action");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __rest,Bind,StringHelper,XNode,styled,checkClick,BindError,BindEmailError;function Form(_a,...nodes){var{"data-submit-event":submitEvent="submitForm","data-show-validation":showValidation="false","data-error-message":errorMessage="Please fix all validations"}=_a,a=__rest(_a,["data-submit-event","data-show-validation","data-error-message"]);return XNode.create("div",Object.assign({},a,{"data-submit-event":submitEvent,"data-form":"form","data-valid":"true","data-show-validation":showValidation,"data-error-message":errorMessage,"event-click":checkClick}),XNode.create("div",{class:"error-message",text:errorMessage}),...nodes)}_export("default",Form);return{setters:[function(_tslib){__rest=_tslib.__rest},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreStringHelper){StringHelper=_webAtomsCoreDistCoreStringHelper.StringHelper},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
740
740
|
display: flex;
|
|
741
741
|
flex-direction: column;
|
|
742
742
|
gap: var(--spacing, 5px);
|
|
@@ -991,7 +991,7 @@ and limitations under the License.
|
|
|
991
991
|
}
|
|
992
992
|
}
|
|
993
993
|
}
|
|
994
|
-
`.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");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()})}}}));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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,MailboxThreadEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,renderMail,downloadEmailContent,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;MailboxThreadEmail=_modelModel.MailboxThreadEmail},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}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{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)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src===null||src===void 0?void 0:src.startsWith("cid:")){const 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}`)}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxThreadEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));downloadEmailContent=(es,email)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;if(email.replyCount){const egagements=yield es.query(Email).where({emailID:email.emailID},(p=>x=>x.parentID===p.emailID&&x.engagement!==null)).orderByDescending((x=>x.dateReceived)).toPagedList({start:0,size:4,cacheVersion:"a",cacheSeconds:900});email.engagements=(_a=egagements===null||egagements===void 0?void 0:egagements.items)!==null&&_a!==void 0?_a:[]}else{(_b=email.engagements)!==null&&_b!==void 0?_b:email.engagements=[]}if(!email.originalFileID){return}for(let i=0;i<10;i++){try{const rs=yield fetch(email.htmlBodyUrl);const text=yield rs.text();email.htmlBody=text;return}catch(error){console.error(error)}}}));ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).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{email}of emails.items){tasks.push(downloadEmailContent(this.entityService,email))}yield Promise.all(tasks)}finally{(_a=d===null||d===void 0?void 0:d.dispose)===null||_a===void 0?void 0:_a.call(d)}return emails}))}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)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",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-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
994
|
+
`.installGlobal("[data-page-type=master-detail]");findItem=(content,item)=>{var _a,_b,_c;for(const iterator of descendentElementIterator(content)){const repeater=iterator===null||iterator===void 0?void 0:iterator.atomControl;if(!(repeater instanceof AtomRepeater)){continue}const index=(_b=(_a=repeater.items)===null||_a===void 0?void 0:_a.indexOf(item))!==null&&_b!==void 0?_b:-1;if(index===-1){continue}const element=(_c=repeater.element)===null||_c===void 0?void 0:_c.querySelector(`[data-item-index="${index}"]`);if(element){return element}}};_export("default",MasterDetailPage=class MasterDetailPage extends ContentPage{constructor(){super(...arguments);this.showClose=true;this.scrollEveryNewTarget=false;this.lookupItemForHighlight=true;this.highlightAttributeValue=["data-filter","drop-shadow-accent"]}get highlightAttribute(){return this.highlightAttributeValue}set highlightAttribute(value){var _a;if(!value){this.highlightAttributeValue=["data-filter","drop-shadow-accent"];return}if(typeof value==="string"){const tokens=value.split("=");let key=tokens[0];let v=(_a=tokens[1])!==null&&_a!==void 0?_a:"true";if(v.endsWith("]")){v=v.substring(0,v.length-1)}if(key.startsWith("[")){key=key.substring(1)}value=[key,v]}this.highlightAttributeValue=value}openDetail(page,parameters,highlightElementOrItem){if(isMobileView){PageNavigator.pushPage(page,parameters);return}const content=this.element.querySelector(`[data-page-element="content"]`);content.setAttribute("data-mode","desktop");let highlightElement;if(highlightElementOrItem instanceof HTMLElement){highlightElement=highlightElementOrItem}if(!highlightElement&&this.lookupItemForHighlight){highlightElement=findItem(content,highlightElementOrItem)}const lastTargetElement=this.lastTargetElement;if(lastTargetElement){const[key]=this.highlightAttributeValue;lastTargetElement.removeAttribute(key)}this.lastTargetElement=highlightElement;if(!this.closeButton&&this.showClose){const closeButton=document.createElement("i");closeButton.setAttribute("data-element","close");closeButton.className="fas fa-times-circle";this.closeButton=closeButton;content.appendChild(closeButton);closeButton.addEventListener("click",(()=>this.closeDetail()))}let lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();if(this.scrollEveryNewTarget){this.scrollTargetIntoView()}}else{this.scrollTargetIntoView()}this.updateTargetSelector(highlightElement);const P=page;lastDetail=new P(this.app);content.appendChild(lastDetail.element);lastDetail.element.setAttribute("data-element","detail");this.lastDetail=lastDetail;lastDetail.parameters=parameters;const close=()=>this.closeDetail();lastDetail.cancel=close;lastDetail.close=close;this.app.runAsync((()=>{var _a,_b;return(_b=(_a=this.lastDetail)===null||_a===void 0?void 0:_a.init)===null||_b===void 0?void 0:_b.call(_a)}))}scrollTargetIntoView(dispose=false){const lastTargetElement=this.lastTargetElement;if(lastTargetElement){setTimeout((()=>{if(lastTargetElement.isConnected){lastTargetElement.scrollIntoView()}if(dispose){this.lastTargetElement=void 0;this.updateTargetSelector(lastTargetElement,true,dispose)}}),100)}}updateTargetSelector(lastTargetElement,remove=false,delay=false){if(!lastTargetElement){return}const[key,value]=this.highlightAttributeValue;if(remove){if(delay){setTimeout((()=>{lastTargetElement.removeAttribute(key)}),1e3)}else{lastTargetElement.removeAttribute(key)}return}lastTargetElement.setAttribute(key,value)}preCreate(){super.preCreate();this.element.setAttribute("data-page-type","master-detail")}closeDetail(){const lastDetail=this.lastDetail;if(lastDetail){const{element}=lastDetail;lastDetail.dispose();element.remove();this.lastDetail=void 0}const closeButton=this.closeButton;if(closeButton){closeButton.remove();this.closeButton=void 0}const content=this.element.querySelector(`[data-page-element="content"]`);content.removeAttribute("data-mode");this.scrollTargetIntoView(true)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/mobile-app/MasterDetailPage");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()})}}}));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"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Email,MailboxThreadEmail,Sql,DomToString,XNode,AtomControl,descendentElementIterator,DateTime,CommonEvents,BusyProgress,renderMail,downloadEmailContent,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;MailboxThreadEmail=_modelModel.MailboxThreadEmail},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}],execute:function(){_export("renderMail",renderMail=AtomControl.registerProperty("data-html","html",((c,e,value)=>{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)){if(iterator.tagName==="IMG"){const src=iterator.getAttribute("src");if(src===null||src===void 0?void 0:src.startsWith("cid:")){const 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}`)}}continue}if(iterator.tagName==="A"){iterator.target="_blank"}}const shadow=e.attachShadow({mode:"open"});shadow.appendChild(msg);if(!thread.timeRead){const timeRead=DateTime.now;thread.timeRead=timeRead;const control=AtomControl.from(e);const entityService=control.app.resolve(EntityService);entityService.save(MailboxThreadEmail.patch(thread,{timeRead})).then((()=>{CommonEvents.onThreadMarkedAsRead.dispatchEvent(thread)}),console.error)}return})));downloadEmailContent=(es,email)=>__awaiter(void 0,void 0,void 0,(function*(){var _a,_b;if(email.replyCount){const children=yield es.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=[]}if(!email.originalFileID){return}for(let i=0;i<10;i++){try{const rs=yield fetch(email.htmlBodyUrl);const text=yield rs.text();email.htmlBody=text;return}catch(error){console.error(error)}}}));ConversationService=class ConversationService{list({search="",mailboxID,emailAddressID,start=0,size=100,version=0,cancelToken}){var _a;return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxThreadEmail).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{email}of emails.items){tasks.push(downloadEmailContent(this.entityService,email))}yield Promise.all(tasks)}finally{(_a=d===null||d===void 0?void 0:d.dispose)===null||_a===void 0?void 0:_a.call(d)}return emails}))}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)}))}};__decorate([Inject,__metadata("design:type",EntityService)],ConversationService.prototype,"entityService",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-atoms/core/dist/web/services/PopupService"],(function(_export,_context){"use strict";var PopupControl,InlinePopupControl;_export("default",void 0);return{setters:[function(_webAtomsCoreDistWebServicesPopupService){PopupControl=_webAtomsCoreDistWebServicesPopupService.PopupControl}],execute:function(){_export("default",InlinePopupControl=class InlinePopupControl extends PopupControl{static showPopup(opener,popup,options={}){const c=class extends InlinePopupControl{create(){this.render(popup)}dispatchClickEvent(e,data){let start=this.element.parentElement;while(start){const{atomControl}=start;if(atomControl){atomControl.dispatchClickEvent(e,data);return}start=start.parentElement}super.dispatchClickEvent(e,data)}};options.popupStyle=".no-style";return c.showControl(opener,options)}})}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/InlinePopupControl");System.register([],(function(_export,_context){return{setters:[],execute:function(){setTimeout((()=>{const cssModule=_context.meta.resolve("./data-styles.css");const cssURL=System.resolve(cssModule);const link=document.createElement("link");link.id="data-styles";link.setAttribute("href",cssURL);link.setAttribute("rel","stylesheet");link.setAttribute("as","style");link.setAttribute("crossorigin","anonymous");const head=document.head;const firstElementChild=head.firstElementChild;if(firstElementChild){head.insertBefore(link,firstElementChild)}else{head.appendChild(link)}}),1)}}}));AmdLoader.instance.setup("@web-atoms/data-styles/data-styles");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode;function notSet(text){return()=>{alert(`Command ${text} not set`)}}function insert(callback,command){return(s,e)=>__awaiter(this,void 0,void 0,(function*(){let r=callback(s,e);if(typeof r!=="string"){if(r===null||r===void 0?void 0:r.then){r=yield r}}if(r){if(command){command.execute(s,false,r)}else{s.executeCommand("insertHTML",false,r)}}}))}function CommandButton({icon,label,eventInsertHtml,insertCommand,title,disabled}){disabled!==null&&disabled!==void 0?disabled:disabled=Bind.oneWay((x=>x.version?!insertCommand.canExecute(x):false));if(label){return XNode.create("button",{class:"command","data-layout":"toolbar-button",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand)),title},XNode.create("label",{class:"label"},XNode.create("i",{class:icon}),XNode.create("span",{text:label})))}return XNode.create("button",{"data-layout":"toolbar-button",title,class:"command",disabled,eventClick:Bind.event(insert(eventInsertHtml,insertCommand))},XNode.create("i",{class:icon}))}_export({notSet,default:CommandButton});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/CommandButton");System.register([],(function(_export,_context){"use strict";var HtmlCommands;function query(name){return{canExecute(e){return e.queryCommandState(name)},execute(e,showUI,value){return e.executeCommand(name,showUI,value)}}}_export("default",void 0);return{setters:[],execute:function(){_export("default",HtmlCommands=class HtmlCommands{});HtmlCommands.backColor=query("backColor");HtmlCommands.bold=query("bold");HtmlCommands.contentReadOnly=query("contentReadOnly");HtmlCommands.copy=query("copy");HtmlCommands.createLink=query("createLink");HtmlCommands.cut=query("cut");HtmlCommands.decreaseFontSize=query("decreaseFontSize");HtmlCommands.defaultParagraphSeparator=query("defaultParagraphSeparator");HtmlCommands.enableAbsolutePositionEditor=query("enableAbsolutePositionEditor");HtmlCommands.enableInlineTableEditing=query("enableInlineTableEditing");HtmlCommands.enableObjectResizing=query("enableObjectResizing");HtmlCommands.fontName=query("fontName");HtmlCommands.fontSize=query("fontSize");HtmlCommands.foreColor=query("foreColor");HtmlCommands.formatBlock=query("formatBlock");HtmlCommands.forwardDelete=query("forwardDelete");HtmlCommands.heading=query("heading");HtmlCommands.hiliteColor=query("hiliteColor");HtmlCommands.increaseFontSize=query("increaseFontSize");HtmlCommands.indent=query("indent");HtmlCommands.insertBrOnReturn=query("insertBrOnReturn");HtmlCommands.insertHorizontalRule=query("insertHorizontalRule");HtmlCommands.insertHTML=query("insertHTML");HtmlCommands.insertImage=query("insertImage");HtmlCommands.insertOrderedList=query("insertOrderedList");HtmlCommands.insertUnorderedList=query("insertUnorderedList");HtmlCommands.insertParagraph=query("insertParagraph");HtmlCommands.insertText=query("insertText");HtmlCommands.italic=query("italic");HtmlCommands.justifyCenter=query("justifyCenter");HtmlCommands.justifyFull=query("justifyFull");HtmlCommands.justifyLeft=query("justifyLeft");HtmlCommands.justifyRight=query("justifyRight");HtmlCommands.outdent=query("outdent");HtmlCommands.paste=query("paste");HtmlCommands.redo=query("redo");HtmlCommands.removeFormat=query("removeFormat");HtmlCommands.selectAll=query("selectAll");HtmlCommands.strikeThrough=query("strikeThrough");HtmlCommands.subscript=query("subscript");HtmlCommands.superscript=query("superscript");HtmlCommands.underline=query("underline");HtmlCommands.undo=query("undo");HtmlCommands.unlink=query("unlink");HtmlCommands.useCSS=query("useCSS");HtmlCommands.styleWithCSS=query("styleWithCSS");HtmlCommands.AutoUrlDetect=query("AutoUrlDetect");HtmlCommands.enabled={canExecute(e){return true},execute(){throw new Error("not supported")}}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/services/PopupService","../../basic/FormField","./CommandButton","./HtmlCommands"],(function(_export,_context){"use strict";var __decorate,__metadata,Bind,BindableProperty,XNode,PopupService,PopupWindow,FormField,CommandButton,HtmlCommands,ImageDialog;function showImageDialog(s,e){return PopupService.showWindow(e.currentTarget,ImageDialog,{title:"Add Image"})}function AddImage({eventInsertHtml=(s,e)=>s.insertImage(s,e),insertCommand=HtmlCommands.insertImage}){return CommandButton({icon:"ri-image-add-fill",insertCommand,disabled:false,title:"Insert Image",eventInsertHtml})}_export({showImageDialog,default:AddImage});return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default;PopupWindow=_webAtomsCoreDistWebServicesPopupService.PopupWindow},function(_basicFormField){FormField=_basicFormField.default},function(_CommandButton){CommandButton=_CommandButton.default},function(_HtmlCommands){HtmlCommands=_HtmlCommands.default}],execute:function(){ImageDialog=class ImageDialog extends PopupWindow{create(){this.link="";this.alt="";this.render(XNode.create("div",null,XNode.create(FormField,{label:"Url"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.link))})),XNode.create(FormField,{label:"Alt"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.alt))})),XNode.create("div",{class:"command-bar"},XNode.create("button",{eventClick:()=>this.close(this.createImage()),text:"Add"}))))}createImage(){if(this.alt){return`<img src="${this.link}" alt="${this.alt}" />`}return`<img src="${this.link}"/>`}};__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"link",void 0);__decorate([BindableProperty,__metadata("design:type",String)],ImageDialog.prototype,"alt",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/html-editor/commands/AddImage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/types","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/data-styles/data-styles","./commands/AddImage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,XNode,sleep,CancelToken,AtomControl,ChildEnumerator,descendentElementIterator,showImageDialog,styled,InlineHtmlEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistWebCoreAtomUI){ChildEnumerator=_webAtomsCoreDistWebCoreAtomUI.ChildEnumerator;descendentElementIterator=_webAtomsCoreDistWebCoreAtomUI.descendentElementIterator},function(_webAtomsDataStylesDataStyles){},function(_commandsAddImage){showImageDialog=_commandsAddImage.showImageDialog},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
995
995
|
|
|
996
996
|
& > [data-element=editor] {
|
|
997
997
|
|
|
@@ -1310,7 +1310,7 @@ and limitations under the License.
|
|
|
1310
1310
|
grid-row-start: 2;
|
|
1311
1311
|
grid-column-start: 2;
|
|
1312
1312
|
}
|
|
1313
|
-
`.installGlobal("*[data-item-suggestion]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/item-suggestion-style");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips-style","./styles/item-suggestion-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion({icon,label,header,deleteIcon},...nodes){return XNode.create("div",{"data-item-suggestion":"suggestion"},icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsStyle){},function(_stylesItemSuggestionStyle){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),autofocus:Bind.oneWay((()=>this.autofocus)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{const search=this.search;setTimeout((()=>{if(this.onBlurItemToChip&&search){const item=this.onBlurItemToChip(search);if(item){this.items.add(item);this.searchInput.value="";this.search=""}}}),50)}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}});__decorate([BindableProperty,__metadata("design:type",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomChips.prototype,"autofocus",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");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","../EntityService","../../common/Sql","../../model/model","../../common/cache/CacheTTL","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Sql,EmailAddress,CacheTTL,DISingleton,cacheVersion,cacheSeconds,hideActivityIndicator,EmailAddressService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){EmailAddress=_modelModel.EmailAddress},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheVersion="1";cacheSeconds=CacheTTL.seconds.oneDay;hideActivityIndicator=true;EmailAddressService=class EmailAddressService{getName(ea){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.entityService.query(EmailAddress).where({ea},(p=>x=>x.emailAddress===p.ea)).firstOrDefault({cacheSeconds,cacheVersion,hideActivityIndicator});return f===null||f===void 0?void 0:f.name}))}search(search,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!search){return[]}let q=this.entityService.query(EmailAddress);if(!/\%$/.test(search)){search=`${search}%`.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress,p.search)||Sql.text.iLike(x.name,p.search)))}const list=yield q.orderByDescending((x=>x.emailAddressID)).toPagedList({start:0,size:10,count:false,cacheSeconds,cacheVersion,cancelToken,hideActivityIndicator});return list.items}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailAddressService.prototype,"entityService",void 0);EmailAddressService=__decorate([DISingleton()],EmailAddressService);_export("default",EmailAddressService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomChips","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/email-addresses/EmailAddressService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomChips,Chip,EmailRecipient,XNode,Bind,InjectProperty,EmailAddressService,EmailRecipientChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEmailAddressesEmailAddressService){EmailAddressService=_servicesEmailAddressesEmailAddressService.default}],execute:function(){_export("default",EmailRecipientChips=class EmailRecipientChips extends AtomChips{preCreate(){super.preCreate();this.search="";this.suggestions=[];this.itemToChip=(item,text)=>{if(typeof item==="string"){return this.createRecipient(item)}const{name,emailAddress,emailAddressID}=item;return EmailRecipient.create({emailAddressID,name,emailAddressText:emailAddress})};this.itemRenderer=item=>XNode.create(Chip,{title:item.name?item.emailAddressText:void 0,label:item.name||item.emailAddressText});this.suggestionRenderer=item=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},item.name&&item.name!==item.emailAddress&&XNode.create("div",{text:item.name}),XNode.create("div",{text:item.emailAddress}));this.onKeyPressedItemToChip=(key,search)=>{if(key==="Enter"||key==="Comma"){return this.createRecipient(search)}};this.onBlurItemToChip=search=>this.createRecipient(search);this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,ct)=>this.addressService.search(this.search,ct)))}))}createRecipient(search){search=search===null||search===void 0?void 0:search.trim();if(!search){return}if(!/\@/.test(search)){return}const er=EmailRecipient.create({emailAddressText:search});if(!er.name&&er.emailAddressText){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const n=yield this.addressService.getName(er.emailAddressText);if(n){er.name=n;this.refreshItem(er)}}))))}return er}});__decorate([InjectProperty,__metadata("design:type",EmailAddressService)],EmailRecipientChips.prototype,"addressService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");System.register([],(function(_export,_context){"use strict";var Emoji;return{setters:[],execute:function(){_export("Emoji",Emoji={emojiUnicode:emoji=>{let comp;if(emoji.length===1){comp=emoji.charCodeAt(0)}comp=(emoji.charCodeAt(0)-55296)*1024+(emoji.charCodeAt(1)-56320)+65536;if(comp<0){comp=emoji.charCodeAt(0)}return comp.toString(16).padStart(4,"0")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/Emoji");System.register(["@web-atoms/core/dist/core/XNode","../../../../services/Emoji"],(function(_export,_context){"use strict";var XNode,Emoji,SocialTemplate,unsubscribe,bodyColor,borderColor,svgImage,EmojiButton,AvatarButton;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_servicesEmoji){Emoji=_servicesEmoji.Emoji}],execute:function(){unsubscribe="⛔";bodyColor="#f0f0f0";borderColor="#c0c0c0";svgImage=(emoji,height=16)=>{const pad=height+5;const svg=`<svg viewBox="0 0 ${pad+5} ${pad}" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="${height-2}" style="font-size:${height}px">${emoji}</text>\n </svg>`;return`data:image/svg+xml;charset=utf-8,`+svg};EmojiButton=({emoji,senderEmail})=>{const emojiCode="u"+Emoji.emojiUnicode(emoji);return XNode.create("a",{"data-element":"emoji-button",style:"padding-left:5px;padding-right:5px; text-decoration: none;","data-command":"track","data-track":emoji},XNode.create("img",{style:"margin-left:5px; max-height: 16px; height: 16px;",src:`/social-mail/social/img/counts/${emojiCode}/`}))};AvatarButton=({senderEmail,senderName})=>{const names=senderName.split(/\s+/,2);const first=names[0];const last=names.pop();const initials=first===last?first:first+last;XNode.create("a",{"data-element":"avatar","data-editor-action":"change-avatar",style:"padding-left:5px;padding-right:5px; text-decoration: none;","data-command":"subscribe"},XNode.create("img",{alt:senderName,style:"margin-left:5px;height: 30px",src:svgImage(initials,30)}))};_export("default",SocialTemplate=class SocialTemplate{static simple({senderEmail,senderName}){senderEmail||(senderEmail="[{senderEmail}]");senderName||(senderName="[{senderName}]");return XNode.create("div",{contentEditable:false,style:`border: solid 1px ${borderColor}; background-color: ${bodyColor}; border-radius: 10px; padding: 5px;margin:10px;`},XNode.create("table",{"data-element":"header"},XNode.create("tr",null,XNode.create("td",{rowSpan:"2","data-element":"avatar"},XNode.create(AvatarButton,{senderEmail,senderName})),XNode.create("td",{"data-element":"title",contentEditable:true},senderName)),XNode.create("tr",null,XNode.create("td",{"data-element":"follow"},"Follow"))),XNode.create("div",{contentEditable:true,style:`border: solid 1px ${borderColor}; background-color: white; border-radius: 10px; padding: 5px; margin-bottom: 5px;`},XNode.create("p",null,"Hello,")),XNode.create("div",{"data-element":"footer"},XNode.create(EmojiButton,{emoji:"❤️",senderEmail}),XNode.create(EmojiButton,{emoji:"👍",senderEmail}),XNode.create(EmojiButton,{emoji:"🗨️",senderEmail})),XNode.create("div",null,XNode.create("br",null),XNode.create("br",null),XNode.create("a",{"data-command":"unsubscribe"},"Unsubscribe")))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/TitleEditor","../../../common/controls/email-recipients/EmailRecipientChips","@web-atoms/email-dom/dist/DomToString","../templates/social/SocialTemplate","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,AppFile,Email,EmailRecipient,Action,MailService,InjectProperty,DateTime,AtomRepeater,TitleEditor,EmailRecipientChips,DomToString,SocialTemplate,styled,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_templatesSocialSocialTemplate){SocialTemplate=_templatesSocialSocialTemplate.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1313
|
+
`.installGlobal("*[data-item-suggestion]")}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/item-suggestion-style");System.register(["tslib","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/types","@web-atoms/core/dist/core/XNode","./AtomRepeater","./Chip","./InlinePopup","./styles/chips-style","./styles/item-suggestion-style"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomBinder,Bind,BindableProperty,CancelToken,XNode,AtomRepeater,MatchTrue,InlinePopup,AtomChips;function getChips(target){let start=target;while(start){const chips=start.atomControl;if(chips&&chips instanceof AtomChips){return chips}start=start.parentElement}}function askSuggestionPopup(host,opener,itemRenderer,suggestionFilter,cancelToken){class Suggestions extends InlinePopup{create(){this.opener=opener;this.render(XNode.create("div",{"data-suggestion-popup":"suggestion-popup"},XNode.create("div",{class:"items"},XNode.create(AtomRepeater,{class:"presenter",selectedItem:Bind.oneWay((()=>this.opener.anchorItem)),itemRenderer,eventDeleteSuggestion:e=>opener.element.dispatchEvent(e),visibilityFilter:suggestionFilter!==null&&suggestionFilter!==void 0?suggestionFilter:MatchTrue,"event-item-click":e=>{e.preventDefault();e.stopImmediatePropagation();e.stopPropagation();this.close(e.detail)},items:Bind.oneWay((()=>this.opener.suggestions))}))))}}return Suggestions.showControl(host,{cancelToken,alignment:"auto"})}function Suggestion({icon,label,header,deleteIcon},...nodes){return XNode.create("div",{"data-item-suggestion":"suggestion"},icon&&XNode.create("i",{class:"icon "+icon}),header&&XNode.create("label",{class:"header",text:header}),label&&XNode.create("label",{class:"label",text:label}),...nodes,deleteIcon&&XNode.create("i",{class:"delete "+deleteIcon,"data-click-event":"remove-suggestion"}))}_export({Suggestion,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreAtomBinder){AtomBinder=_webAtomsCoreDistCoreAtomBinder.AtomBinder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreTypes){CancelToken=_webAtomsCoreDistCoreTypes.CancelToken},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default;MatchTrue=_AtomRepeater.MatchTrue},function(_Chip){_export("Chip",_Chip.default)},function(_InlinePopup){InlinePopup=_InlinePopup.default},function(_stylesChipsStyle){},function(_stylesItemSuggestionStyle){}],execute:function(){document.body.addEventListener("focusin",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(true)}));document.body.addEventListener("focusout",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.setFocus(false)}));document.body.addEventListener("keydown",(e=>{const chips=getChips(e.target);chips===null||chips===void 0?void 0:chips.onKey(e)}));_export("default",AtomChips=class AtomChips extends AtomRepeater{get searchType(){return this.searchInput.type}set searchType(v){this.searchInput.type=v}get enterKeyHint(){return this.searchInput.enterKeyHint}set enterKeyHint(v){this.searchInput.enterKeyHint=v}onPropertyChanged(name){var _a;super.onPropertyChanged(name);switch(name){case"labelPath":this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});break;case"prompt":this.updateClasses();break;case"focused":this.updatePopup();break;case"suggestions":(_a=this.suggestionsWatcher)===null||_a===void 0?void 0:_a.dispose();this.suggestionsWatcher=undefined;const suggestions=this.suggestions;if(suggestions){this.suggestionsWatcher=this.registerDisposable(suggestions.watch((()=>{this.updatePopup()})))}this.updatePopup();break}}preCreate(){super.preCreate();this.preventDuplicates=true;this.softDeleteProperty=null;this.prompt="Search";this.element.setAttribute("data-atom-chips","atom-chips");this.element.setAttribute("data-mode","search");this.suggestionFilter=MatchTrue;this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item};this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item};this.itemRenderer=item=>XNode.create("div",{text:this.labelPath(item)});this.element.dataset.dropDown="drop-down";this.render(XNode.create("div",null,XNode.create("div",{class:"presenter"}),XNode.create("input",{class:"search",placeholder:Bind.oneWay((()=>this.prompt)),value:Bind.twoWaysImmediate((()=>this.search)),autofocus:Bind.oneWay((()=>this.autofocus)),type:"search"}),XNode.create("div",{class:"footer"})));this.itemsPresenter=this.element.children[0];this.searchInput=this.element.children[1];this.footerPresenter=this.element.children[2];this.bindEvent(this.element,"removeChip",(e=>e.defaultPrevented||this.removeItem(e.detail)));this.bindEvent(this.element,"undoRemoveChip",(e=>e.defaultPrevented||this.undoRemoveItem(e.detail)));this.bindEvent(this.searchInput,"blur",(()=>{const search=this.search;setTimeout((()=>{if(this.onBlurItemToChip&&search){const item=this.onBlurItemToChip(search);if(item){this.items.add(item);this.searchInput.value="";this.search=""}}}),50)}))}setFocus(hasFocus){if(hasFocus){if(this.focusTimeout){clearTimeout(this.focusTimeout);this.focusTimeout=void 0}this.focused=true;return}this.focusTimeout=setTimeout((()=>{this.focusTimeout=void 0;this.focused=false}),1500)}updatePopup(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const suggestions=this.suggestions;if(!this.focused){(_a=this.popupCancelToken)===null||_a===void 0?void 0:_a.cancel();this.popupCancelToken=null;return}const detail=this.suggestions;const ce=new CustomEvent("suggestions-requested",{detail});this.element.dispatchEvent(ce);if(ce.defaultPrevented){return}const{promise}=ce;if(promise){yield promise}if(ce.detail!==this.suggestions){this.suggestions=ce.detail}if(!(suggestions===null||suggestions===void 0?void 0:suggestions.length)){(_b=this.popupCancelToken)===null||_b===void 0?void 0:_b.cancel();this.popupCancelToken=null;return}if(this.popupCancelToken){return}const cancelToken=this.popupCancelToken=new CancelToken;try{let selectedItem=yield askSuggestionPopup(this.element,this,(_c=this.suggestionRenderer)!==null&&_c!==void 0?_c:this.itemRenderer,this.suggestionFilter,cancelToken);const itemToChip=this.itemToChip;if(itemToChip){selectedItem=itemToChip(selectedItem,this.search)}this.addItem(selectedItem);this.search="";this.popupCancelToken=null}catch(e){this.popupCancelToken=null;if(CancelToken.isCancelled(e)){return}console.warn(e)}}))}addItem(selectedItem){var _a;const ce=new CustomEvent("suggestionChosen",{detail:selectedItem,cancelable:true,bubbles:true});this.element.dispatchEvent(ce);if(!ce.defaultPrevented){const item=ce.detail;const vp=(_a=this.valuePath)!==null&&_a!==void 0?_a:x=>x;const v=vp(item);for(const iterator of this.items){if(v===vp(iterator)){return}}this.items.add(ce.detail)}}undoRemoveItem(item){let{softDeleteProperty}=this;softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=false;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}removeItem(item){let{softDeleteProperty}=this;if(softDeleteProperty){softDeleteProperty=typeof softDeleteProperty!=="string"?"$deleted":softDeleteProperty;item[softDeleteProperty]=true;AtomBinder.refreshValue(this.items,"length");this.refreshItem(item)}else{this.items.remove(item)}}onKey(e){var _a,_b;const suggested=this.suggestions;const onKeyPressedItemToChip=this.onKeyPressedItemToChip;if(onKeyPressedItemToChip&&this.search){const item=onKeyPressedItemToChip(e.key,this.search);if(item){this.addItem(item);this.searchInput.value="";return}}switch(e.key){case"Enter":(_a=e.preventDefault)===null||_a===void 0?void 0:_a.call(e);(_b=e.stopImmediatePropagation)===null||_b===void 0?void 0:_b.call(e);setTimeout((()=>{let anchorItem=this.anchorItem;const itemToChip=this.itemToChip;if(itemToChip){anchorItem=itemToChip(anchorItem,this.search)}if(!anchorItem){return}this.addItem(anchorItem);this.anchorIndex=0;this.anchorItem=null;this.search=""}),1);break;case"ArrowDown":if(suggested){if(!this.anchorItem){this.anchorIndex=0}else{if(this.anchorIndex<suggested.length-1){this.anchorIndex++}}this.anchorItem=suggested[this.anchorIndex]}break;case"ArrowUp":if(suggested){if(!this.anchorItem){return}if(this.anchorIndex){this.anchorIndex--}this.anchorItem=suggested[this.anchorIndex]}break}}});__decorate([BindableProperty,__metadata("design:type",Array)],AtomChips.prototype,"suggestions",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"search",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"prompt",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"suggestionPrompt",void 0);__decorate([BindableProperty,__metadata("design:type",Object)],AtomChips.prototype,"autofocus",void 0);__decorate([BindableProperty,__metadata("design:type",String)],AtomChips.prototype,"softDeleteProperty",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"labelPath",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"match",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionRenderer",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"suggestionFilter",void 0);__decorate([BindableProperty,__metadata("design:type",Boolean)],AtomChips.prototype,"focused",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onKeyPressedItemToChip",void 0);__decorate([BindableProperty,__metadata("design:type",Function)],AtomChips.prototype,"onBlurItemToChip",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/AtomChips");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","../EntityService","../../common/Sql","../../model/model","../../common/cache/CacheTTL","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Sql,EmailAddress,CacheTTL,DISingleton,cacheVersion,cacheSeconds,hideActivityIndicator,EmailAddressService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_commonSql){Sql=_commonSql.Sql},function(_modelModel){EmailAddress=_modelModel.EmailAddress},function(_commonCacheCacheTTL){CacheTTL=_commonCacheCacheTTL.CacheTTL},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){cacheVersion="1";cacheSeconds=CacheTTL.seconds.oneDay;hideActivityIndicator=true;EmailAddressService=class EmailAddressService{getName(ea){return __awaiter(this,void 0,void 0,(function*(){const f=yield this.entityService.query(EmailAddress).where({ea},(p=>x=>x.emailAddress===p.ea)).firstOrDefault({cacheSeconds,cacheVersion,hideActivityIndicator});return f===null||f===void 0?void 0:f.name}))}search(search,cancelToken){return __awaiter(this,void 0,void 0,(function*(){if(!search){return[]}let q=this.entityService.query(EmailAddress);if(!/\%$/.test(search)){search=`${search}%`.toLocaleLowerCase();q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress,p.search)||Sql.text.like(x.name,p.search)))}else{q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress,p.search)||Sql.text.iLike(x.name,p.search)))}const list=yield q.orderByDescending((x=>x.emailAddressID)).toPagedList({start:0,size:10,count:false,cacheSeconds,cacheVersion,cancelToken,hideActivityIndicator});return list.items}))}};__decorate([Inject,__metadata("design:type",EntityService)],EmailAddressService.prototype,"entityService",void 0);EmailAddressService=__decorate([DISingleton()],EmailAddressService);_export("default",EmailAddressService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService");System.register(["tslib","@web-atoms/web-controls/dist/basic/AtomChips","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","../../../services/email-addresses/EmailAddressService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,AtomChips,Chip,EmailRecipient,XNode,Bind,InjectProperty,EmailAddressService,EmailRecipientChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip},function(_modelModel){EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEmailAddressesEmailAddressService){EmailAddressService=_servicesEmailAddressesEmailAddressService.default}],execute:function(){_export("default",EmailRecipientChips=class EmailRecipientChips extends AtomChips{preCreate(){super.preCreate();this.search="";this.suggestions=[];this.itemToChip=(item,text)=>{if(typeof item==="string"){return this.createRecipient(item)}const{name,emailAddress,emailAddressID}=item;return EmailRecipient.create({emailAddressID,name,emailAddressText:emailAddress})};this.itemRenderer=item=>XNode.create(Chip,{title:item.name?item.emailAddressText:void 0,label:item.name||item.emailAddressText});this.suggestionRenderer=item=>XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},item.name&&item.name!==item.emailAddress&&XNode.create("div",{text:item.name}),XNode.create("div",{text:item.emailAddress}));this.onKeyPressedItemToChip=(key,search)=>{if(key==="Enter"||key==="Comma"){return this.createRecipient(search)}};this.onBlurItemToChip=search=>this.createRecipient(search);this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,ct)=>this.addressService.search(this.search,ct)))}))}createRecipient(search){search=search===null||search===void 0?void 0:search.trim();if(!search){return}if(!/\@/.test(search)){return}const er=EmailRecipient.create({emailAddressText:search});if(!er.name&&er.emailAddressText){this.app.runAsync((()=>__awaiter(this,void 0,void 0,(function*(){const n=yield this.addressService.getName(er.emailAddressText);if(n){er.name=n;this.refreshItem(er)}}))))}return er}});__decorate([InjectProperty,__metadata("design:type",EmailAddressService)],EmailRecipientChips.prototype,"addressService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips");System.register([],(function(_export,_context){"use strict";var Emoji;return{setters:[],execute:function(){_export("Emoji",Emoji={emojiUnicode:emoji=>{let comp;if(emoji.length===1){comp=emoji.charCodeAt(0)}comp=(emoji.charCodeAt(0)-55296)*1024+(emoji.charCodeAt(1)-56320)+65536;if(comp<0){comp=emoji.charCodeAt(0)}return comp.toString(16).padStart(4,"0")}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/Emoji");System.register(["@web-atoms/core/dist/core/XNode","../../../../services/Emoji"],(function(_export,_context){"use strict";var XNode,Emoji,SocialTemplate,unsubscribe,bodyColor,borderColor,svgImage,EmojiButton,AvatarButton;_export("default",void 0);return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_servicesEmoji){Emoji=_servicesEmoji.Emoji}],execute:function(){unsubscribe="⛔";bodyColor="#f0f0f0";borderColor="#c0c0c0";svgImage=(emoji,height=16)=>{const pad=height+5;const svg=`<svg viewBox="0 0 ${pad+5} ${pad}" xmlns="http://www.w3.org/2000/svg">\n <text x="0" y="${height-2}" style="font-size:${height}px">${emoji}</text>\n </svg>`;return`data:image/svg+xml;charset=utf-8,`+svg};EmojiButton=({emoji,senderEmail})=>{const emojiCode="u"+Emoji.emojiUnicode(emoji);return XNode.create("a",{"data-element":"emoji-button",style:"padding-left:5px;padding-right:5px; text-decoration: none;","data-command":"track","data-track":emoji},XNode.create("img",{style:"margin-left:5px; max-height: 16px; height: 16px;",src:`/social-mail/social/img/counts/${emojiCode}/[{activityId}]`}))};AvatarButton=({senderEmail,senderName})=>{const names=senderName.split(/\s+/,2);const first=names[0];const last=names.pop();const initials=first===last?first:first+last;XNode.create("a",{"data-element":"avatar","data-editor-action":"change-avatar",style:"padding-left:5px;padding-right:5px; text-decoration: none;","data-command":"subscribe"},XNode.create("img",{alt:senderName,style:"margin-left:5px;height: 30px",src:svgImage(initials,30)}))};_export("default",SocialTemplate=class SocialTemplate{static simple({senderEmail,senderName}){senderEmail||(senderEmail="[{senderEmail}]");senderName||(senderName="[{senderName}]");return XNode.create("div",{contentEditable:false,style:`border: solid 1px ${borderColor}; background-color: ${bodyColor}; border-radius: 10px; padding: 5px;margin:10px;`},XNode.create("table",{"data-element":"header"},XNode.create("tr",null,XNode.create("td",{rowSpan:"2","data-element":"avatar"},XNode.create(AvatarButton,{senderEmail,senderName})),XNode.create("td",{"data-element":"title",contentEditable:true},senderName)),XNode.create("tr",null,XNode.create("td",{"data-element":"follow"},"Follow"))),XNode.create("div",{contentEditable:true,style:`border: solid 1px ${borderColor}; background-color: white; border-radius: 10px; padding: 5px; margin-bottom: 5px;`},XNode.create("p",null,"Hello,")),XNode.create("div",{"data-element":"footer"},XNode.create(EmojiButton,{emoji:"❤️",senderEmail}),XNode.create(EmojiButton,{emoji:"👍",senderEmail}),XNode.create(EmojiButton,{emoji:"🗨️",senderEmail})),XNode.create("div",null,XNode.create("br",null),XNode.create("br",null),XNode.create("a",{"data-command":"unsubscribe"},"Unsubscribe")))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/templates/social/SocialTemplate");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../model/model","@web-atoms/core/dist/view-model/Action","./service/MailService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/date-time/dist/DateTime","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/basic/TitleEditor","../../../common/controls/email-recipients/EmailRecipientChips","@web-atoms/email-dom/dist/DomToString","../templates/social/SocialTemplate","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,InlineHtmlEditorWithToolbar,XNode,Bind,Form,FormField,HorizontalFormField,AppFile,Email,EmailRecipient,Action,MailService,InjectProperty,DateTime,AtomRepeater,TitleEditor,EmailRecipientChips,DomToString,SocialTemplate,styled,ComposeMailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonControlsHtmlInlineHtmlEditorWithToolbar){InlineHtmlEditorWithToolbar=_commonControlsHtmlInlineHtmlEditorWithToolbar.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default;HorizontalFormField=_webAtomsWebControlsDistBasicFormField.HorizontalFormField},function(_modelModel){AppFile=_modelModel.AppFile;Email=_modelModel.Email;EmailRecipient=_modelModel.EmailRecipient},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistBasicTitleEditor){TitleEditor=_webAtomsWebControlsDistBasicTitleEditor.default},function(_commonControlsEmailRecipientsEmailRecipientChips){EmailRecipientChips=_commonControlsEmailRecipientsEmailRecipientChips.default},function(_webAtomsEmailDomDistDomToString){DomToString=_webAtomsEmailDomDistDomToString.default},function(_templatesSocialSocialTemplate){SocialTemplate=_templatesSocialSocialTemplate.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){styled.css`
|
|
1314
1314
|
|
|
1315
1315
|
& * {
|
|
1316
1316
|
outline: none;
|