@social-mail/social-mail-client 1.2.263 → 1.2.265
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 +351 -5
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +5 -5
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/admin/pages/repair/RepairPage.d.ts.map +1 -1
- package/dist/admin/pages/repair/RepairPage.js +4 -0
- package/dist/admin/pages/repair/RepairPage.js.map +1 -1
- package/dist/model/model.d.ts +70 -0
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +330 -2
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js +330 -2
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js +1 -1
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/store/Store.pack.js +330 -2
- package/dist/public/store/Store.pack.js.map +1 -1
- package/dist/public/store/Store.pack.min.js +1 -1
- package/dist/public/store/Store.pack.min.js.map +1 -1
- package/dist/services/store/StoreItemService.js +1 -1
- package/dist/services/store/StoreItemService.js.map +1 -1
- package/dist/services/store/StoreService.d.ts.map +1 -1
- package/dist/services/store/StoreService.js +1 -1
- package/dist/services/store/StoreService.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +355 -16
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +5 -5
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/drawer/AppDrawer.d.ts +1 -1
- package/dist/web/drawer/AppDrawer.js +8 -11
- package/dist/web/drawer/AppDrawer.js.map +1 -1
- package/dist/web/page/files/service/CloudFileService.d.ts +1 -0
- package/dist/web/page/files/service/CloudFileService.d.ts.map +1 -1
- package/dist/web/page/files/service/CloudFileService.js +15 -1
- package/dist/web/page/files/service/CloudFileService.js.map +1 -1
- package/package.json +1 -1
- package/src/admin/pages/repair/RepairPage.tsx +2 -1
- package/src/model/model.ts +102 -2
- package/src/services/store/StoreItemService.ts +1 -1
- package/src/services/store/StoreService.ts +4 -1
- package/src/web/drawer/AppDrawer.tsx +4 -4
- package/src/web/page/files/service/CloudFileService.ts +12 -1
|
@@ -738,7 +738,7 @@ and limitations under the License.
|
|
|
738
738
|
}
|
|
739
739
|
}
|
|
740
740
|
|
|
741
|
-
`.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([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");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","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,apiPath,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},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/api/entity/")}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,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEmail,MailboxContactTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,Store,StoreUser,StoreConfig,StoreItemItemTypeArray,StoreItem,StoreItemFolder,StoreItemPrice,StorePriceAddOn,StoreMediaFile,StoreInsight,StoreLedger,StoreJournalJournalTypeArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTag,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,WebSiteChannel,WebSiteStore,LoginSession,TextDocument,Tag,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string"}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_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))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity"}],properties:[{name:"path",type:"string",default:["path",'""']},{name:"isFolder",type:"boolean",default:["isFolder","false"]},{name:"name",type:"string",default:["name",'""']},{name:"fileSize",type:"number",default:["fileSize","0"]},{name:"contentType",type:"string",default:["contentType",'""']},{name:"contentDisposition",type:"string",default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",default:["contentID",'""']},{name:"fileContentID",type:"number"},{name:"creatorID",type:"number"},{name:"parentID",type:"number"},{name:"emailID",type:"number"},{name:"isDeleted",type:"boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSiteFolder"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSiteFolder"},{name:"stores",isCollection:true,isInverse:true,relatedName:"Store"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteFolderVersion"}]}));modelEntitySchemas["AppFile"]=AppFile;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"secret",type:"string",default:["secret",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity"}],properties:[{name:"fileID",type:"number"},{name:"userID",type:"number"},{name:"sessionID",type:"number"},{name:"fileContentID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"folderID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_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))},{name:"app_file_access",keys:[{name:"accessID",type:"number",generated:"identity"},{name:"type",type:"string"}],properties:[{name:"fileID",type:"number"},{name:"userID",type:"number"},{name:"accessCode",type:"string",default:["accessCode",'""']},{name:"expires",type:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number"},{name:"tagID",type:"number"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity"}],properties:[{name:"contentHash",type:"string",default:["contentHash",'""']},{name:"cloudPath",type:"string",default:["cloudPath",'""']},{name:"contentType",type:"string",default:["contentType",'""']},{name:"contentSize",type:"number",default:["contentSize","0"]},{name:"compression",type:"string",default:["compression",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number"},{name:"deleted",type:"boolean",default:["deleted","false"]}],relations:[{name:"textDocument",fkMap:[{fk:"textDocumentID",relatedKey:"textDocumentID"}],relatedName:"TextDocument"},{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string"}],properties:[{name:"configValue",type:"string",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity"}],properties:[{name:"externalID",type:"string",default:["externalID",'""']},{name:"userID",type:"number"},{name:"mailboxID",type:"number"},{name:"domainID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"description",type:"string",default:["description",'""']},{name:"companyID",type:"string",default:["companyID",'""']},{name:"salesTaxID",type:"string",default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",default:["incomeTaxID",'""']},{name:"type",type:"string",default:["type",'""']},{name:"synchronization",type:"string",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number"},{name:"billingAddressID",type:"number"},{name:"shippingAddressID",type:"number"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"sellerStores",isCollection:true,isInverse:true,relatedName:"Store"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"ledgers",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number"},{name:"contactID",type:"number"}],properties:[{name:"type",type:"string",default:["type",'""']},{name:"notes",type:"string",default:["notes",'""']},{name:"blocked",type:"boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number"},{name:"phoneNumberE64",type:"string"}],properties:[{name:"type",type:"string",default:["type",'""']},{name:"notes",type:"string",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity"}],properties:[{name:"contactID",type:"number"},{name:"type",type:"string",default:["type",'""']},{name:"title",type:"string",default:["title",'""']},{name:"valuesJson",type:"string",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number"},{name:"contactID",type:"number"}],properties:[{name:"blocked",type:"boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity"}],properties:[{name:"contactID",type:"number"},{name:"title",type:"string",default:["title",'""']},{name:"line1",type:"string",default:["line1",'""']},{name:"line2",type:"string",default:["line2",'""']},{name:"line3",type:"string",default:["line3",'""']},{name:"city",type:"string",default:["city",'""']},{name:"state",type:"string",default:["state",'""']},{name:"countryCode",type:"string",default:["countryCode",'""']},{name:"phoneNumber",type:"string",default:["phoneNumber",'""']},{name:"notes",type:"string",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID","keyHash"],{key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity"},{name:"keyHash",type:"string"}],properties:[{name:"key",type:"string",default:["key",'""']},{name:"expiry",type:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",default:["ready","false"]},{name:"slide",type:"boolean",default:["slide","false"]},{name:"lockToken",type:"string",default:["lockToken",'""']},{name:"lockExpiry",type:"DateTime",default:["lockExpiry","new DefaultFactory(() => new DateTime())"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"received",type:"number",default:["received","0"]},{name:"failed",type:"number",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}]}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,external:false},{name:"hosted_domains",keys:[{name:"domainID",type:"number"}],properties:[{name:"enableReceive",type:"boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",default:["useRelay","false"]},{name:"external",type:"boolean",default:["external","false"]},{name:"aliasForName",type:"string"}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"}]}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number"},{name:"userID",type:"number"}],properties:[{name:"prefix",type:"string",default:["prefix",'""']},{name:"isAdmin",type:"boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_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},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity"}],properties:[{name:"domainID",type:"number"},{name:"type",type:"string",default:["type",'"smtp"']},{name:"host",type:"string",default:["host",'""']},{name:"username",type:"string",default:["username",'""']},{name:"password",type:"string",default:["password",'""']},{name:"priority",type:"number",default:["priority","0"]},{name:"script",type:"string",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"keyType",type:"string",default:["keyType",'""']},{name:"publicKey",type:"string",default:["publicKey",'""']},{name:"domainID",type:"number"},{name:"privateKey",type:"string",default:["privateKey",'""']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity"}],properties:[{name:"subject",type:"string",default:["subject",'""']},{name:"summary",type:"string",default:["summary",'""']},{name:"textBody",type:"string",default:["textBody",'""']},{name:"htmlBody",type:"string",default:["htmlBody",'""']},{name:"senderName",type:"string",default:["senderName",'""']},{name:"senderID",type:"number"},{name:"userID",type:"number"},{name:"received",type:"boolean",default:["received","false"]},{name:"headers",type:"string",default:["headers",'""']},{name:"headerMessageID",type:"string",default:["headerMessageID",'""']},{name:"externalEmailID",type:"string",default:["externalEmailID",'""']},{name:"dateReceived",type:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",default:["status",'"queued"']},{name:"forwardCount",type:"number",default:["forwardCount","0"]},{name:"replyCount",type:"number",default:["replyCount","0"]},{name:"viewCount",type:"number",default:["viewCount","0"]},{name:"mimeFileID",type:"number"},{name:"htmlBodyID",type:"number"},{name:"emailSize",type:"number",default:["emailSize","0"]},{name:"originalFileSize",type:"number",default:["originalFileSize","0"]},{name:"workflowID",type:"string",default:["workflowID",'""']},{name:"parentID",type:"number"},{name:"forwardedID",type:"number"},{name:"engagement",type:"string",default:["engagement",'""']},{name:"tags",type:"string",default:["tags",'""']}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"}]}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number"},{name:"engagement",type:"string"}],properties:[{name:"count",type:"number",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity"}],properties:[{name:"emailID",type:"number"},{name:"fileName",type:"string",default:["fileName",'""']},{name:"fileSize",type:"number",default:["fileSize","0"]},{name:"compression",type:"string",default:["compression",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_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"},{name:"email_recipients",keys:[{name:"emailID",type:"number"},{name:"emailAddressID",type:"number"}],properties:[{name:"type",type:"string",default:["type",'"from"']},{name:"name",type:"string",default:["name",'""']},{name:"dateSent",type:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",default:["error",'""']},{name:"status",type:"string",default:["status",'""']},{name:"replyTo",type:"string",default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number"},{name:"tagID",type:"number"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity"}],properties:[{name:"emailAddress",type:"string",default:["emailAddress",'""']},{name:"domainID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"blocked",type:"boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity"}],properties:[{name:"domainID",type:"number"},{name:"mailboxID",type:"number"},{name:"folderID",type:"number"}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,unreplied:0,unread:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,requireApproval:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number"}],properties:[{name:"domainID",type:"number"},{name:"storage",type:"number",default:["storage","0"]},{name:"maxStorage",type:"number",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",default:["firstID","0"]},{name:"recentID",type:"number",default:["recentID","0"]},{name:"unreplied",type:"number",default:["unreplied","0"]},{name:"unread",type:"number",default:["unread","0"]},{name:"logoID",type:"number"},{name:"description",type:"string",default:["description",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",default:["isChannel","false"]},{name:"isPrivateChannel",type:"boolean",default:["isPrivateChannel","false"]},{name:"requireApproval",type:"boolean",default:["requireApproval","false"]},{name:"subscriberCount",type:"number",default:["subscriberCount","0"]},{name:"datePublished",type:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}]}));modelEntitySchemas["Mailbox"]=Mailbox;_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number"},{name:"emailID",type:"number"}],properties:[],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["MailboxEmail"]=MailboxEmail;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number"},{name:"emailAddressID",type:"number"}],properties:[{name:"lastEmailID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",default:["unread","0"]},{name:"replied",type:"DateTime",default:["replied","new DefaultFactory(() => new DateTime())"]},{name:"total",type:"number",default:["total","0"]},{name:"doNotIndex",type:"boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",default:["isOwner","false"]},{name:"canContribute",type:"boolean",default:["canContribute","false"]},{name:"priority",type:"number",default:["priority","0"]},{name:"blocked",type:"boolean",default:["blocked","false"]},{name:"mute",type:"boolean",default:["mute","false"]},{name:"status",type:"string",default:["status",'"invited"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number"},{name:"emailAddressID",type:"number"},{name:"emailID",type:"number"}],properties:[{name:"dateReceived",type:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",default:["engagement",'""']},{name:"signedFileLogID",type:"number",default:["signedFileLogID","0"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number"},{name:"emailAddressID",type:"number"},{name:"tagID",type:"number"}],properties:[{name:"count",type:"number",default:["count","0"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_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},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity"}],properties:[{name:"mailboxID",type:"number"},{name:"direction",type:"string",default:["direction",'"in"']},{name:"protocol",type:"string",default:["protocol",'"imap"']},{name:"username",type:"string",default:["username",'""']},{name:"password",type:"string",default:["password",'""']},{name:"host",type:"string",default:["host",'""']},{name:"port",type:"number",default:["port","0"]},{name:"isSecure",type:"boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",default:["intervalSeconds","0"]},{name:"active",type:"boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",default:["syncState",'""']},{name:"lastSyncError",type:"string",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number"}],properties:[{name:"inviteContent",type:"string",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity"}],properties:[{name:"mailboxID",type:"number"},{name:"emailID",type:"number"},{name:"emailAddressID",type:"number"},{name:"activity",type:"string",default:["activity",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",default:["ipAddress",'""']},{name:"accessCode",type:"string",default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_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"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity"}],properties:[{name:"word",type:"string",default:["word",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",default:["status",'"begin"']},{name:"recentID",type:"number",default:["recentID","0"]},{name:"firstID",type:"number",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number"},{name:"fileContentID",type:"number"}],properties:[{name:"rank",type:"number",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity"}],properties:[{name:"domainID",type:"number"},{name:"webSiteFolderID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",default:["ipAddress",'""']},{name:"activity",type:"string",default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("Store",Store=new Model("Store",["storeID"],{name:""},{name:"stores",keys:[{name:"storeID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"sellerID",type:"number"},{name:"folderID",type:"number"}],relations:[{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"storeUsers",isCollection:true,isInverse:true,relatedName:"StoreUser"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"ledgers",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeWebsites",isCollection:true,isInverse:true,relatedName:"WebSiteStore"}]}));modelEntitySchemas["Store"]=Store;_export("StoreUser",StoreUser=new Model("StoreUser",["storeID","userID"],{},{name:"store_users",keys:[{name:"storeID",type:"number"},{name:"userID",type:"number"}],properties:[],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["StoreUser"]=StoreUser;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number"},{name:"groupName",type:"string"},{name:"configName",type:"string"}],properties:[{name:"encrypted",type:"boolean",default:["encrypted","false"]},{name:"configValue",type:"string",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"itemFolderID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"active",type:"boolean",default:["active","false"]},{name:"internalNotes",type:"string",default:["internalNotes",'""']},{name:"description",type:"string",default:["description",'""']},{name:"itemType",type:"string",default:["itemType",'"product"']},{name:"folderID",type:"number"},{name:"sizeForID",type:"number"},{name:"variantForID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number"},{name:"price",type:"number",default:["price","0"]},{name:"maxPrice",type:"number",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"priceAddOns",isCollection:true,isInverse:true,relatedName:"StorePriceAddOn"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"ledgers",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}]}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"path",type:"string",default:["path",'""']},{name:"parentID",type:"number"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",amount:0,active:false,addonsAmount:0},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity"}],properties:[{name:"storeItemID",type:"number"},{name:"startDate",type:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",default:["currency",'""']},{name:"amount",type:"number",default:["amount","0"]},{name:"maxAmount",type:"number",default:["maxAmount","0"]},{name:"active",type:"boolean",default:["active","false"]},{name:"addonsAmount",type:"number",default:["addonsAmount","0"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"addons",isCollection:true,isInverse:true,relatedName:"StorePriceAddOn"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePriceAddOn",StorePriceAddOn=new Model("StorePriceAddOn",["priceID","addOnItemID"],{inclusive:false,print:false},{name:"store_price_add_ons",keys:[{name:"priceID",type:"number"},{name:"addOnItemID",type:"number"}],properties:[{name:"inclusive",type:"boolean",default:["inclusive","false"]},{name:"print",type:"boolean",default:["print","false"]}],relations:[{name:"price",fkMap:[{fk:"priceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"addOnItem",fkMap:[{fk:"addOnItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StorePriceAddOn"]=StorePriceAddOn;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number"},{name:"appFileID",type:"number"}],properties:[{name:"fileContentID",type:"number",default:["fileContentID","0"]},{name:"sortOrder",type:"number",default:["sortOrder","0"]},{name:"title",type:"string",default:["title",'""']},{name:"description",type:"string",default:["description",'""']},{name:"isPreview",type:"boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"storeItemID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"value",type:"number",default:["value","0"]},{name:"isPublic",type:"boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreLedger",StoreLedger=new Model("StoreLedger",["ledgerID"],{ledgerType:"",name:"",balance:0},{name:"store_ledger",keys:[{name:"ledgerID",type:"number",generated:"identity"}],properties:[{name:"path",type:"string",default:["path",'""']},{name:"storeID",type:"number"},{name:"parentID",type:"number"},{name:"contactID",type:"number"},{name:"itemID",type:"number"},{name:"head",type:"string",default:["head",'""']},{name:"ledgerType",type:"string",default:["ledgerType",'""']},{name:"name",type:"string",default:["name",'""']},{name:"description",type:"string",default:["description",'""']},{name:"balance",type:"number",default:["balance","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"ledgerID"}],relatedName:"StoreLedger"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreLedger"]=StoreLedger;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"",total:0,balance:0},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",default:["journalType",'"order"']},{name:"description",type:"string",default:["description",'""']},{name:"posted",type:"boolean",default:["posted","false"]},{name:"status",type:"string",default:["status",'""']},{name:"sellerID",type:"number"},{name:"buyerID",type:"number"},{name:"total",type:"number",default:["total","0"]},{name:"balance",type:"number",default:["balance","0"]},{name:"referenceID",type:"number"},{name:"folderID",type:"number"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity"}],properties:[{name:"journalID",type:"number"},{name:"ledgerID",type:"number"},{name:"credit",type:"number",default:["credit","0"]},{name:"debit",type:"number",default:["debit","0"]},{name:"balance",type:"number",default:["balance","0"]},{name:"description",type:"string",default:["description",'""']},{name:"lineItemID",type:"number"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"ledger",fkMap:[{fk:"ledgerID",relatedKey:"ledgerID"}],relatedName:"StoreLedger"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"commission",value:"commission"},{label:"fee",value:"fee"},{label:"tax",value:"tax"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{amount:0,total:0,quantity:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity"}],properties:[{name:"journalID",type:"number"},{name:"itemID",type:"number"},{name:"itemPriceID",type:"number"},{name:"amount",type:"number",default:["amount","0"]},{name:"total",type:"number",default:["total","0"]},{name:"quantity",type:"number",default:["quantity","0"]},{name:"inclusive",type:"boolean",default:["inclusive","false"]},{name:"itemType",type:"string",default:["itemType",'"commission"']},{name:"hide",type:"boolean",default:["hide","false"]},{name:"vendorID",type:"number"},{name:"sourceID",type:"number"},{name:"taxFolderID",type:"number"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFolder",fkMap:[{fk:"taxFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number"},{name:"tagID",type:"number"}],properties:[{name:"sortOrder",type:"number",default:["sortOrder","0"]},{name:"tagValue",type:"string",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_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)),storage:0,maxStorage:0},{name:"users",keys:[{name:"userID",type:"number",generated:"identity"}],properties:[{name:"userName",type:"string",default:["userName",'""']},{name:"displayName",type:"string",default:["displayName",'""']},{name:"passwordHash",type:"string",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",default:["passwordSalt",'""']},{name:"status",type:"string",default:["status",'"active"']},{name:"isExternal",type:"boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",default:["storage","0"]},{name:"maxStorage",type:"number",default:["maxStorage","0"]}],relations:[{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"stores",isCollection:true,isInverse:true,relatedName:"StoreUser"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteFolderVersion"}]}));modelEntitySchemas["User"]=User;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"appFileID",type:"number"},{name:"mailboxID",type:"number"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"mailboxID",type:"number",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",default:["emailAddressID","0"]},{name:"notify",type:"boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number"},{name:"roleName",type:"string"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number"},{name:"mailboxID",type:"number"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"method",type:"string",default:["method",'"totp"']},{name:"secret",type:"string",default:["secret",'""']},{name:"hint",type:"string",default:["hint",'""']},{name:"verified",type:"boolean",default:["verified","false"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSiteFolder",WebSiteFolder=new Model("WebSiteFolder",["folderID"],{isStatic:false,isTemplate:false,isModified:false},{name:"web_site_folders",keys:[{name:"folderID",type:"number"}],properties:[{name:"currentVersionID",type:"number"},{name:"isStatic",type:"boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",default:["isTemplate","false"]},{name:"isModified",type:"boolean",default:["isModified","false"]}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteFolderHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteFolderVersion"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"},{name:"websiteStores",isCollection:true,isInverse:true,relatedName:"WebSiteStore"}]}));modelEntitySchemas["WebSiteFolder"]=WebSiteFolder;_export("WebSiteFolderHost",WebSiteFolderHost=new Model("WebSiteFolderHost",["host"],{},{name:"web_site_folder_host",keys:[{name:"host",type:"string"}],properties:[{name:"folderID",type:"number"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"}]}));modelEntitySchemas["WebSiteFolderHost"]=WebSiteFolderHost;_export("WebSiteFolderVersion",WebSiteFolderVersion=new Model("WebSiteFolderVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_folder_version",keys:[{name:"folderID",type:"number"},{name:"snapshotFolderID",type:"number"}],properties:[{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",default:["name",'""']},{name:"description",type:"string",default:["description",'""']},{name:"authorID",type:"number"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteFolderVersion"]=WebSiteFolderVersion;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number"},{name:"channelID",type:"number"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("WebSiteStore",WebSiteStore=new Model("WebSiteStore",["folderID","storeID"],{},{name:"web_site_stores",keys:[{name:"folderID",type:"number"},{name:"storeID",type:"number"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"}]}));modelEntitySchemas["WebSiteStore"]=WebSiteStore;_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"start",type:"DateTime",default:["start","new DefaultFactory(() => new Date())"]},{name:"expiry",type:"DateTime",default:["expiry","new DefaultFactory(() => new Date())"]},{name:"invalid",type:"boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",default:["status",'""']},{name:"deviceToken",type:"string",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",default:["deviceTokenType",'""']}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}]}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number"}],properties:[{name:"searchable",type:"string",default:["searchable",'""']}],relations:[{name:"fileContent",isCollection:false,isInverse:true,relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"lowerCaseName",type:"string",generated:"computed"},{name:"path",type:"string",default:["path",'""']},{name:"isSystemTag",type:"boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",default:["contentTypes",'""']},{name:"parentID",type:"number"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}]}));modelEntitySchemas["Tag"]=Tag;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));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,_a,socialMail;_export("default",void 0);return{setters:[],execute:function(){socialMail=(_a=window.socialMail)!==null&&_a!==void 0?_a:{path:"/",name:"Social Mail"};_export("default",SocialMailApp=class SocialMailApp{});SocialMailApp.config=socialMail}}}));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,MailboxContact,UserPushSubscription,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;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(onlyHosted=false){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(HostedDomain);if(onlyHosted){q=q.where({},(p=>x=>x.external===false))}const hosted=yield q.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});yield this.updateNotify(top.items);return top.items}))}updateNotify(items){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!(items===null||items===void 0?void 0:items.length)){return}const{userID}=SocialMailApp.user;const ids=items.map((x=>x.mailboxID));const all=yield this.entityService.query(UserPushSubscription).where({ids,userID},(p=>x=>x.userID===p.userID&&x.mailboxID in p.ids&&x.emailAddressID===null)).toArray();const map=new Map(all.map((x=>[x.mailboxID,x])));for(const iterator of items){iterator.notify=(_b=(_a=map.get(iterator.mailboxID))===null||_a===void 0?void 0:_a.notify)!==null&&_b!==void 0?_b:false}}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){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)))}}const all=yield q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken});yield this.updateNotify(all.items);return all}))}toggleNotify(m){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID}=m;let n=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();if(!n){const{userID}=SocialMailApp.user;n=UserPushSubscription.create({userID,mailboxID})}n.notify=!m.notify;yield this.entityService.save(n);m.notify=n.notify}))}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}))}saveContact(mc,retry=3){return __awaiter(this,void 0,void 0,(function*(){const{emailAddressText,mailboxID}=mc;const emailAddress=emailAddressText.trim().toLocaleLowerCase();const q=this.entityService.query(MailboxContact).where({mailboxID,emailAddress},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddress.emailAddress===p.emailAddress)).include((x=>x.emailAddress));const result=yield q.firstOrDefault();if(result){return result}try{yield this.entityService.save(mc);return yield q.firstOrDefault()}catch(error){if(retry--){return yield this.saveContact(mc,retry)}throw error}}))}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`
|
|
741
|
+
`.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([],(function(_export,_context){"use strict";var _a,root,apiPath,apiPathRoot;return{setters:[],execute:function(){root=((_a=window.socialMail)===null||_a===void 0?void 0:_a.path)||"/";if(root.endsWith("/")){root=root.substring(0,root.length-1)}_export("apiPath",apiPath=root?url=>root+url:url=>url);_export("apiPathRoot",apiPathRoot=root)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/apiPath");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","../common/apiPath"],(function(_export,_context){"use strict";var __decorate,__metadata,DISingleton,BaseEntityService,Inject,App,BusyProgress,apiPath,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},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){EntityService=class EntityService extends BaseEntityService{constructor(){super(...arguments);this.queryProcessor="JavaScript";this.url=apiPath("/api/entity/")}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,modelEntitySchemas,AppRole,AppFileContentDispositionArray,AppFile,AccessToken,AppFileVersion,AppFileAccessTypeArray,AppFileAccess,AppFileTag,FileContent,Configuration,Contact,ContactEmail,ContactPhone,ContactItem,ContactDomain,ContactAddress,CachedItem,Domain,HostedDomain,DomainUser,DomainRelayTypeArray,DomainRelay,DomainKey,EmailStatusArray,Email,EmailEngagement,EmailLog,EmailRecipientTypeArray,EmailRecipient,EmailTag,EmailAddress,EmailTemplate,Mailbox,MailboxEmail,MailboxContactStatusArray,MailboxContact,MailboxContactEmail,MailboxContactTag,MailboxSyncTargetDirectionArray,MailboxSyncTargetProtocolArray,MailboxSyncTargetLastSyncStatusArray,MailboxSyncTarget,ChannelConfig,SubscriberActivity,SearchWordStatusArray,SearchWord,SearchWordIndex,ServerActivityActivityArray,ServerActivity,Store,StoreUser,StoreConfig,StoreItemItemTypeArray,StoreItem,StoreItemFolder,StoreItemPrice,StorePriceAddOn,StoreMediaFile,StoreInsight,StoreLedger,StoreJournalJournalTypeArray,StoreJournal,StoreJournalEntry,StoreJournalLineItemItemTypeArray,StoreJournalLineItem,StoreItemTag,UserStatusArray,User,UserPin,UserPushSubscription,UserRole,UserMailbox,UserAuthFactorMethodArray,UserAuthFactor,WebSiteFolder,WebSiteFolderHost,WebSiteFolderVersion,WebSiteChannel,WebSiteStore,LoginSession,TextDocument,Tag,VirtualServer,DnsZone,DnsZoneRecordTypeArray,DnsZoneRecord,DnsSigningKey,fixRelatedSchemas;return{setters:[function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_webAtomsEntityDistServicesBaseEntityService){Model=_webAtomsEntityDistServicesBaseEntityService.Model;DefaultFactory=_webAtomsEntityDistServicesBaseEntityService.DefaultFactory}],execute:function(){_export("modelEntitySchemas",modelEntitySchemas={});_export("AppRole",AppRole=new Model("AppRole",["roleName"],{},{name:"app_roles",keys:[{name:"roleName",type:"string"}],properties:[],relations:[{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"}]}));modelEntitySchemas["AppRole"]=AppRole;_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))},{name:"app_files",keys:[{name:"appFileID",type:"number",generated:"identity"}],properties:[{name:"path",type:"string",default:["path",'""']},{name:"isFolder",type:"boolean",default:["isFolder","false"]},{name:"name",type:"string",default:["name",'""']},{name:"fileSize",type:"number",default:["fileSize","0"]},{name:"contentType",type:"string",default:["contentType",'""']},{name:"contentDisposition",type:"string",default:["contentDisposition",'"attachment"']},{name:"contentID",type:"string",default:["contentID",'""']},{name:"fileContentID",type:"number"},{name:"creatorID",type:"number"},{name:"parentID",type:"number"},{name:"emailID",type:"number"},{name:"isDeleted",type:"boolean",default:["isDeleted","false"]},{name:"isShared",type:"boolean",default:["isShared","false"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"versions",type:"number",default:["versions","0"]}],relations:[{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"creator",fkMap:[{fk:"creatorID",relatedKey:"userID"}],relatedName:"User"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"children",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"fileVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"folderVersions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"accessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"tags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"mailboxLogos",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"previewContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"websiteFolder",isCollection:false,isInverse:true,relatedName:"WebSiteFolder"},{name:"currentVersionWebSites",isCollection:true,isInverse:true,relatedName:"WebSiteFolder"},{name:"stores",isCollection:true,isInverse:true,relatedName:"Store"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"storeMediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"storeJournals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"websiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteFolderVersion"}]}));modelEntitySchemas["AppFile"]=AppFile;_export("AccessToken",AccessToken=new Model("AccessToken",["tokenID"],{dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime))},{name:"access_tokens",keys:[{name:"tokenID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"secret",type:"string",default:["secret",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AccessToken"]=AccessToken;_export("AppFileVersion",AppFileVersion=new Model("AppFileVersion",["versionID"],{name:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"app_file_versions",keys:[{name:"versionID",type:"number",generated:"identity"}],properties:[{name:"fileID",type:"number"},{name:"userID",type:"number"},{name:"sessionID",type:"number"},{name:"fileContentID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"folderID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"session",fkMap:[{fk:"sessionID",relatedKey:"sessionID"}],relatedName:"LoginSession"},{name:"fileContent",fkMap:[{fk:"fileContentID",relatedKey:"fileContentID"}],relatedName:"FileContent"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["AppFileVersion"]=AppFileVersion;_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))},{name:"app_file_access",keys:[{name:"accessID",type:"number",generated:"identity"},{name:"type",type:"string"}],properties:[{name:"fileID",type:"number"},{name:"userID",type:"number"},{name:"accessCode",type:"string",default:["accessCode",'""']},{name:"expires",type:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"file",fkMap:[{fk:"fileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["AppFileAccess"]=AppFileAccess;_export("AppFileTag",AppFileTag=new Model("AppFileTag",["appFileID","tagID"],{},{name:"app_file_tags",keys:[{name:"appFileID",type:"number"},{name:"tagID",type:"number"}],properties:[],relations:[{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["AppFileTag"]=AppFileTag;_export("FileContent",FileContent=new Model("FileContent",["fileContentID"],{contentHash:"",contentType:"",contentSize:0,dateCreated:new DefaultFactory((()=>new DateTime)),deleted:false},{name:"file_contents",keys:[{name:"fileContentID",type:"number",generated:"identity"}],properties:[{name:"contentHash",type:"string",default:["contentHash",'""']},{name:"cloudPath",type:"string",default:["cloudPath",'""']},{name:"contentType",type:"string",default:["contentType",'""']},{name:"contentSize",type:"number",default:["contentSize","0"]},{name:"compression",type:"string",default:["compression",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"textDocumentID",type:"number"},{name:"deleted",type:"boolean",default:["deleted","false"]}],relations:[{name:"textDocument",fkMap:[{fk:"textDocumentID",relatedKey:"textDocumentID"}],relatedName:"TextDocument"},{name:"appFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}]}));modelEntitySchemas["FileContent"]=FileContent;_export("Configuration",Configuration=new Model("Configuration",["name"],{},{name:"configuration",keys:[{name:"name",type:"string"}],properties:[{name:"configValue",type:"string",default:["configValue",'""']}],relations:[]}));modelEntitySchemas["Configuration"]=Configuration;_export("Contact",Contact=new Model("Contact",["contactID"],{name:"",type:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"contacts",keys:[{name:"contactID",type:"number",generated:"identity"}],properties:[{name:"externalID",type:"string",default:["externalID",'""']},{name:"userID",type:"number"},{name:"mailboxID",type:"number"},{name:"domainID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"description",type:"string",default:["description",'""']},{name:"companyID",type:"string",default:["companyID",'""']},{name:"salesTaxID",type:"string",default:["salesTaxID",'""']},{name:"gstTaxID",type:"string",default:["gstTaxID",'""']},{name:"vatTaxID",type:"string",default:["vatTaxID",'""']},{name:"incomeTaxID",type:"string",default:["incomeTaxID",'""']},{name:"type",type:"string",default:["type",'""']},{name:"synchronization",type:"string",default:["synchronization",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"previewID",type:"number"},{name:"billingAddressID",type:"number"},{name:"shippingAddressID",type:"number"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"preview",fkMap:[{fk:"previewID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"billingAddress",fkMap:[{fk:"billingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"addresses",isCollection:true,isInverse:true,relatedName:"ContactAddress"},{name:"shippingAddress",fkMap:[{fk:"shippingAddressID",relatedKey:"addressID"}],relatedName:"ContactAddress"},{name:"emails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"phones",isCollection:true,isInverse:true,relatedName:"ContactPhone"},{name:"items",isCollection:true,isInverse:true,relatedName:"ContactItem"},{name:"domains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"sellerStores",isCollection:true,isInverse:true,relatedName:"Store"},{name:"vendorItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"ledgers",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"soldInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"boughtInvoices",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"soldItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["Contact"]=Contact;_export("ContactEmail",ContactEmail=new Model("ContactEmail",["emailAddressID","contactID"],{type:"",blocked:false},{name:"contact_emails",keys:[{name:"emailAddressID",type:"number"},{name:"contactID",type:"number"}],properties:[{name:"type",type:"string",default:["type",'""']},{name:"notes",type:"string",default:["notes",'""']},{name:"blocked",type:"boolean",default:["blocked","false"]}],relations:[{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactEmail"]=ContactEmail;_export("ContactPhone",ContactPhone=new Model("ContactPhone",["contactID","phoneNumberE64"],{type:""},{name:"contact_phones",keys:[{name:"contactID",type:"number"},{name:"phoneNumberE64",type:"string"}],properties:[{name:"type",type:"string",default:["type",'""']},{name:"notes",type:"string",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactPhone"]=ContactPhone;_export("ContactItem",ContactItem=new Model("ContactItem",["itemID"],{type:"",title:"",valuesJson:""},{name:"contact_items",keys:[{name:"itemID",type:"number",generated:"identity"}],properties:[{name:"contactID",type:"number"},{name:"type",type:"string",default:["type",'""']},{name:"title",type:"string",default:["title",'""']},{name:"valuesJson",type:"string",default:["valuesJson",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactItem"]=ContactItem;_export("ContactDomain",ContactDomain=new Model("ContactDomain",["domainID","contactID"],{blocked:false},{name:"contact_domains",keys:[{name:"domainID",type:"number"},{name:"contactID",type:"number"}],properties:[{name:"blocked",type:"boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"}]}));modelEntitySchemas["ContactDomain"]=ContactDomain;_export("ContactAddress",ContactAddress=new Model("ContactAddress",["addressID"],{title:"",line1:""},{name:"contact_addresses",keys:[{name:"addressID",type:"number",generated:"identity"}],properties:[{name:"contactID",type:"number"},{name:"title",type:"string",default:["title",'""']},{name:"line1",type:"string",default:["line1",'""']},{name:"line2",type:"string",default:["line2",'""']},{name:"line3",type:"string",default:["line3",'""']},{name:"city",type:"string",default:["city",'""']},{name:"state",type:"string",default:["state",'""']},{name:"countryCode",type:"string",default:["countryCode",'""']},{name:"phoneNumber",type:"string",default:["phoneNumber",'""']},{name:"notes",type:"string",default:["notes",'""']}],relations:[{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"billingContacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"shippingContacts",isCollection:true,isInverse:true,relatedName:"Contact"}]}));modelEntitySchemas["ContactAddress"]=ContactAddress;_export("CachedItem",CachedItem=new Model("CachedItem",["itemID","keyHash"],{key:"",expiry:new DefaultFactory((()=>new DateTime)),ready:false,slide:false},{name:"cached_item",keys:[{name:"itemID",type:"number",generated:"identity"},{name:"keyHash",type:"string"}],properties:[{name:"key",type:"string",default:["key",'""']},{name:"expiry",type:"DateTime",default:["expiry","new DefaultFactory(() => new DateTime())"]},{name:"ready",type:"boolean",default:["ready","false"]},{name:"slide",type:"boolean",default:["slide","false"]},{name:"lockToken",type:"string",default:["lockToken",'""']},{name:"lockExpiry",type:"DateTime",default:["lockExpiry","new DefaultFactory(() => new DateTime())"]}],relations:[]}));modelEntitySchemas["CachedItem"]=CachedItem;_export("Domain",Domain=new Model("Domain",["domainID"],{name:"",received:0,failed:0},{name:"domains",keys:[{name:"domainID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"received",type:"number",default:["received","0"]},{name:"failed",type:"number",default:["failed","0"]}],relations:[{name:"emailAddresses",isCollection:true,isInverse:true,relatedName:"EmailAddress"},{name:"hostedDomain",isCollection:false,isInverse:true,relatedName:"HostedDomain"},{name:"contactDomains",isCollection:true,isInverse:true,relatedName:"ContactDomain"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"}]}));modelEntitySchemas["Domain"]=Domain;_export("HostedDomain",HostedDomain=new Model("HostedDomain",["domainID"],{enableReceive:false,enableSend:false,useRelay:false,external:false},{name:"hosted_domains",keys:[{name:"domainID",type:"number"}],properties:[{name:"enableReceive",type:"boolean",default:["enableReceive","false"]},{name:"enableSend",type:"boolean",default:["enableSend","false"]},{name:"useRelay",type:"boolean",default:["useRelay","false"]},{name:"external",type:"boolean",default:["external","false"]},{name:"aliasForName",type:"string"}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"aliasFor",fkMap:[{fk:"aliasForName",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"aliases",isCollection:true,isInverse:true,relatedName:"HostedDomain"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"Mailbox"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"relays",isCollection:true,isInverse:true,relatedName:"DomainRelay"},{name:"domainKeys",isCollection:true,isInverse:true,relatedName:"DomainKey"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"}]}));modelEntitySchemas["HostedDomain"]=HostedDomain;_export("DomainUser",DomainUser=new Model("DomainUser",["domainID","userID"],{isAdmin:false,allowCreateMailbox:false},{name:"domain_users",keys:[{name:"domainID",type:"number"},{name:"userID",type:"number"}],properties:[{name:"prefix",type:"string",default:["prefix",'""']},{name:"isAdmin",type:"boolean",default:["isAdmin","false"]},{name:"allowCreateMailbox",type:"boolean",default:["allowCreateMailbox","false"]}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["DomainUser"]=DomainUser;_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},{name:"domain_relays",keys:[{name:"domainRelayID",type:"number",generated:"identity"}],properties:[{name:"domainID",type:"number"},{name:"type",type:"string",default:["type",'"smtp"']},{name:"host",type:"string",default:["host",'""']},{name:"username",type:"string",default:["username",'""']},{name:"password",type:"string",default:["password",'""']},{name:"priority",type:"number",default:["priority","0"]},{name:"script",type:"string",default:["script",'""']}],relations:[{name:"hostedDomain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainRelay"]=DomainRelay;_export("DomainKey",DomainKey=new Model("DomainKey",["domainKeyID"],{name:"",keyType:"",publicKey:""},{name:"domain_keys",keys:[{name:"domainKeyID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"keyType",type:"string",default:["keyType",'""']},{name:"publicKey",type:"string",default:["publicKey",'""']},{name:"domainID",type:"number"},{name:"privateKey",type:"string",default:["privateKey",'""']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"}]}));modelEntitySchemas["DomainKey"]=DomainKey;_export("EmailStatusArray",EmailStatusArray=[{label:"queued",value:"queued"},{label:"received",value:"received"},{label:"draft",value:"draft"},{label:"published",value:"published"},{label:"pending-approval",value:"pending-approval"},{label:"scheduled",value:"scheduled"},{label:"sent",value:"sent"},{label:"sent-failed",value:"sent-failed"},{label:"deleted",value:"deleted"}]);_export("Email",Email=new Model("Email",["emailID"],{senderName:"",received:false,dateReceived:new DefaultFactory((()=>new DateTime)),dateCreated:new DefaultFactory((()=>new DateTime)),status:"queued",forwardCount:0,replyCount:0,viewCount:0,emailSize:0,originalFileSize:0},{name:"emails",keys:[{name:"emailID",type:"number",generated:"identity"}],properties:[{name:"subject",type:"string",default:["subject",'""']},{name:"summary",type:"string",default:["summary",'""']},{name:"textBody",type:"string",default:["textBody",'""']},{name:"htmlBody",type:"string",default:["htmlBody",'""']},{name:"senderName",type:"string",default:["senderName",'""']},{name:"senderID",type:"number"},{name:"userID",type:"number"},{name:"received",type:"boolean",default:["received","false"]},{name:"headers",type:"string",default:["headers",'""']},{name:"headerMessageID",type:"string",default:["headerMessageID",'""']},{name:"externalEmailID",type:"string",default:["externalEmailID",'""']},{name:"dateReceived",type:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateSent",type:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",default:["status",'"queued"']},{name:"forwardCount",type:"number",default:["forwardCount","0"]},{name:"replyCount",type:"number",default:["replyCount","0"]},{name:"viewCount",type:"number",default:["viewCount","0"]},{name:"mimeFileID",type:"number"},{name:"htmlBodyID",type:"number"},{name:"emailSize",type:"number",default:["emailSize","0"]},{name:"originalFileSize",type:"number",default:["originalFileSize","0"]},{name:"workflowID",type:"string",default:["workflowID",'""']},{name:"parentID",type:"number"},{name:"forwardedID",type:"number"},{name:"engagement",type:"string",default:["engagement",'""']},{name:"tags",type:"string",default:["tags",'""']}],relations:[{name:"senderEmail",fkMap:[{fk:"senderID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"senderUser",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mimeFile",fkMap:[{fk:"mimeFileID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"logs",isCollection:true,isInverse:true,relatedName:"EmailLog"},{name:"htmlBodyFile",fkMap:[{fk:"htmlBodyID",relatedKey:"logID"}],relatedName:"EmailLog"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"emailID"}],relatedName:"Email"},{name:"children",isCollection:true,isInverse:true,relatedName:"Email"},{name:"forwarded",fkMap:[{fk:"forwardedID",relatedKey:"emailID"}],relatedName:"Email"},{name:"forwards",isCollection:true,isInverse:true,relatedName:"Email"},{name:"attachments",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"engagements",isCollection:true,isInverse:true,relatedName:"EmailEngagement"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxes",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"lastEmailThreads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"}]}));modelEntitySchemas["Email"]=Email;_export("EmailEngagement",EmailEngagement=new Model("EmailEngagement",["emailID","engagement"],{count:0},{name:"email_engagements",keys:[{name:"emailID",type:"number"},{name:"engagement",type:"string"}],properties:[{name:"count",type:"number",default:["count","0"]}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["EmailEngagement"]=EmailEngagement;_export("EmailLog",EmailLog=new Model("EmailLog",["logID"],{fileName:"",fileSize:0,compression:"",dateCreated:new DefaultFactory((()=>new DateTime)),cloudPath:""},{name:"email_logs",keys:[{name:"logID",type:"number",generated:"identity"}],properties:[{name:"emailID",type:"number"},{name:"fileName",type:"string",default:["fileName",'""']},{name:"fileSize",type:"number",default:["fileSize","0"]},{name:"compression",type:"string",default:["compression",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"cloudPath",type:"string",default:["cloudPath",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"mimeFileEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"htmlBodyFileEmails",isCollection:true,isInverse:true,relatedName:"Email"}]}));modelEntitySchemas["EmailLog"]=EmailLog;_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"},{name:"email_recipients",keys:[{name:"emailID",type:"number"},{name:"emailAddressID",type:"number"}],properties:[{name:"type",type:"string",default:["type",'"from"']},{name:"name",type:"string",default:["name",'""']},{name:"dateSent",type:"DateTime",default:["dateSent","new DefaultFactory(() => new DateTime())"]},{name:"error",type:"string",default:["error",'""']},{name:"status",type:"string",default:["status",'""']},{name:"replyTo",type:"string",default:["replyTo",'""']}],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["EmailRecipient"]=EmailRecipient;_export("EmailTag",EmailTag=new Model("EmailTag",["emailID","tagID"],{},{name:"email_tags",keys:[{name:"emailID",type:"number"},{name:"tagID",type:"number"}],properties:[],relations:[{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["EmailTag"]=EmailTag;_export("EmailAddress",EmailAddress=new Model("EmailAddress",["emailAddressID"],{emailAddress:"",name:"",blocked:false},{name:"email_addresses",keys:[{name:"emailAddressID",type:"number",generated:"identity"}],properties:[{name:"emailAddress",type:"string",default:["emailAddress",'""']},{name:"domainID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"blocked",type:"boolean",default:["blocked","false"]}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"senders",isCollection:true,isInverse:true,relatedName:"Email"},{name:"mailbox",isCollection:false,isInverse:true,relatedName:"Mailbox"},{name:"contactEmails",isCollection:true,isInverse:true,relatedName:"ContactEmail"},{name:"recipients",isCollection:true,isInverse:true,relatedName:"EmailRecipient"},{name:"threads",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"}]}));modelEntitySchemas["EmailAddress"]=EmailAddress;_export("EmailTemplate",EmailTemplate=new Model("EmailTemplate",["templateID"],{},{name:"email_templates",keys:[{name:"templateID",type:"number",generated:"identity"}],properties:[{name:"domainID",type:"number"},{name:"mailboxID",type:"number"},{name:"folderID",type:"number"}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["EmailTemplate"]=EmailTemplate;_export("Mailbox",Mailbox=new Model("Mailbox",["mailboxID"],{storage:0,maxStorage:0,indexAttachments:false,indexImageAttachments:false,unreplied:0,unread:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),isChannel:false,isPrivateChannel:false,requireApproval:false,subscriberCount:0},{name:"mailboxes",keys:[{name:"mailboxID",type:"number"}],properties:[{name:"domainID",type:"number"},{name:"storage",type:"number",default:["storage","0"]},{name:"maxStorage",type:"number",default:["maxStorage","0"]},{name:"indexAttachments",type:"boolean",default:["indexAttachments","false"]},{name:"indexImageAttachments",type:"boolean",default:["indexImageAttachments","false"]},{name:"firstID",type:"number",default:["firstID","0"]},{name:"recentID",type:"number",default:["recentID","0"]},{name:"unreplied",type:"number",default:["unreplied","0"]},{name:"unread",type:"number",default:["unread","0"]},{name:"logoID",type:"number"},{name:"description",type:"string",default:["description",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"isChannel",type:"boolean",default:["isChannel","false"]},{name:"isPrivateChannel",type:"boolean",default:["isPrivateChannel","false"]},{name:"requireApproval",type:"boolean",default:["requireApproval","false"]},{name:"subscriberCount",type:"number",default:["subscriberCount","0"]},{name:"datePublished",type:"DateTime",default:["datePublished","new DefaultFactory(() => new DateTime())"]},{name:"dateEngaged",type:"DateTime",default:["dateEngaged","new DefaultFactory(() => new DateTime())"]},{name:"parentID",type:"number",default:["parentID","0"]}],relations:[{name:"emailAddress",fkMap:[{fk:"mailboxID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"HostedDomain"},{name:"logo",fkMap:[{fk:"logoID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"templates",isCollection:true,isInverse:true,relatedName:"EmailTemplate"},{name:"emails",isCollection:true,isInverse:true,relatedName:"MailboxEmail"},{name:"mailboxContacts",isCollection:true,isInverse:true,relatedName:"MailboxContact"},{name:"threadEmails",isCollection:true,isInverse:true,relatedName:"MailboxContactEmail"},{name:"syncTargets",isCollection:true,isInverse:true,relatedName:"MailboxSyncTarget"},{name:"channelConfig",isCollection:false,isInverse:true,relatedName:"ChannelConfig"},{name:"subscriberActivities",isCollection:true,isInverse:true,relatedName:"SubscriberActivity"},{name:"userPins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"websiteChannels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"}]}));modelEntitySchemas["Mailbox"]=Mailbox;_export("MailboxEmail",MailboxEmail=new Model("MailboxEmail",["mailboxID","emailID"],{},{name:"mailbox_emails",keys:[{name:"mailboxID",type:"number"},{name:"emailID",type:"number"}],properties:[],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["MailboxEmail"]=MailboxEmail;_export("MailboxContactStatusArray",MailboxContactStatusArray=[{label:"invited",value:"invited"},{label:"added",value:"added"},{label:"active",value:"active"},{label:"unsubscribed",value:"unsubscribed"},{label:"blocked",value:"blocked"}]);_export("MailboxContact",MailboxContact=new Model("MailboxContact",["mailboxID","emailAddressID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),unread:0,total:0,isOwner:false,canContribute:false,priority:0,blocked:false,mute:false,status:"invited"},{name:"mailbox_contacts",keys:[{name:"mailboxID",type:"number"},{name:"emailAddressID",type:"number"}],properties:[{name:"lastEmailID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"unread",type:"number",default:["unread","0"]},{name:"replied",type:"DateTime",default:["replied","new DefaultFactory(() => new DateTime())"]},{name:"total",type:"number",default:["total","0"]},{name:"doNotIndex",type:"boolean",default:["doNotIndex","false"]},{name:"doNotIndexAttachments",type:"boolean",default:["doNotIndexAttachments","false"]},{name:"isOwner",type:"boolean",default:["isOwner","false"]},{name:"canContribute",type:"boolean",default:["canContribute","false"]},{name:"priority",type:"number",default:["priority","0"]},{name:"blocked",type:"boolean",default:["blocked","false"]},{name:"mute",type:"boolean",default:["mute","false"]},{name:"status",type:"string",default:["status",'"invited"']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"emailAddress",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"},{name:"lastEmail",fkMap:[{fk:"lastEmailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"tags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"}]}));modelEntitySchemas["MailboxContact"]=MailboxContact;_export("MailboxContactEmail",MailboxContactEmail=new Model("MailboxContactEmail",["mailboxID","emailAddressID","emailID"],{dateReceived:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_emails",keys:[{name:"mailboxID",type:"number"},{name:"emailAddressID",type:"number"},{name:"emailID",type:"number"}],properties:[{name:"dateReceived",type:"DateTime",default:["dateReceived","new DefaultFactory(() => new DateTime())"]},{name:"timeRead",type:"DateTime",default:["timeRead","new DefaultFactory(() => new DateTime())"]},{name:"engagement",type:"string",default:["engagement",'""']},{name:"signedFileLogID",type:"number",default:["signedFileLogID","0"]}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"}]}));modelEntitySchemas["MailboxContactEmail"]=MailboxContactEmail;_export("MailboxContactTag",MailboxContactTag=new Model("MailboxContactTag",["mailboxID","emailAddressID","tagID"],{count:0,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"mailbox_contact_tags",keys:[{name:"mailboxID",type:"number"},{name:"emailAddressID",type:"number"},{name:"tagID",type:"number"}],properties:[{name:"count",type:"number",default:["count","0"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"mailboxContact",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"},{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"MailboxContact"}]}));modelEntitySchemas["MailboxContactTag"]=MailboxContactTag;_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},{name:"mailbox_sync_targets",keys:[{name:"syncTargetID",type:"number",generated:"identity"}],properties:[{name:"mailboxID",type:"number"},{name:"direction",type:"string",default:["direction",'"in"']},{name:"protocol",type:"string",default:["protocol",'"imap"']},{name:"username",type:"string",default:["username",'""']},{name:"password",type:"string",default:["password",'""']},{name:"host",type:"string",default:["host",'""']},{name:"port",type:"number",default:["port","0"]},{name:"isSecure",type:"boolean",default:["isSecure","false"]},{name:"syncAllFolders",type:"boolean",default:["syncAllFolders","false"]},{name:"syncJunkMails",type:"boolean",default:["syncJunkMails","false"]},{name:"allFolderName",type:"string",default:["allFolderName",'""']},{name:"intervalSeconds",type:"number",default:["intervalSeconds","0"]},{name:"active",type:"boolean",default:["active","false"]},{name:"lastSync",type:"DateTime",default:["lastSync","new DefaultFactory(() => new DateTime())"]},{name:"lastSyncStatus",type:"string",default:["lastSyncStatus",'"none"']},{name:"syncState",type:"string",default:["syncState",'""']},{name:"lastSyncError",type:"string",default:["lastSyncError",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["MailboxSyncTarget"]=MailboxSyncTarget;_export("ChannelConfig",ChannelConfig=new Model("ChannelConfig",["mailboxID"],{sendInviteOnEngagement:false,memberOnlyEngagement:false,notSafeForWork:false},{name:"channel_configs",keys:[{name:"mailboxID",type:"number"}],properties:[{name:"inviteContent",type:"string",default:["inviteContent",'""']},{name:"welcomeContent",type:"string",default:["welcomeContent",'""']},{name:"sendInviteOnEngagement",type:"boolean",default:["sendInviteOnEngagement","false"]},{name:"memberOnlyEngagement",type:"boolean",default:["memberOnlyEngagement","false"]},{name:"notSafeForWork",type:"boolean",default:["notSafeForWork","false"]},{name:"postFooter",type:"string",default:["postFooter",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["ChannelConfig"]=ChannelConfig;_export("SubscriberActivity",SubscriberActivity=new Model("SubscriberActivity",["activityID"],{activity:"",dateCreated:new DefaultFactory((()=>new DateTime))},{name:"subscriber_activities",keys:[{name:"activityID",type:"number",generated:"identity"}],properties:[{name:"mailboxID",type:"number"},{name:"emailID",type:"number"},{name:"emailAddressID",type:"number"},{name:"activity",type:"string",default:["activity",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",default:["ipAddress",'""']},{name:"accessCode",type:"string",default:["accessCode",'""']}],relations:[{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"},{name:"email",fkMap:[{fk:"emailID",relatedKey:"emailID"}],relatedName:"Email"},{name:"subscriber",fkMap:[{fk:"emailAddressID",relatedKey:"emailAddressID"}],relatedName:"EmailAddress"}]}));modelEntitySchemas["SubscriberActivity"]=SubscriberActivity;_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"},{name:"search_words",keys:[{name:"wordID",type:"number",generated:"identity"}],properties:[{name:"word",type:"string",default:["word",'""']},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"expires",type:"DateTime",default:["expires","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",default:["status",'"begin"']},{name:"recentID",type:"number",default:["recentID","0"]},{name:"firstID",type:"number",default:["firstID","0"]}],relations:[{name:"indexes",isCollection:true,isInverse:true,relatedName:"SearchWordIndex"}]}));modelEntitySchemas["SearchWord"]=SearchWord;_export("SearchWordIndex",SearchWordIndex=new Model("SearchWordIndex",["wordID","fileContentID"],{rank:0},{name:"search_word_index",keys:[{name:"wordID",type:"number"},{name:"fileContentID",type:"number"}],properties:[{name:"rank",type:"number",default:["rank","0"]}],relations:[{name:"word",fkMap:[{fk:"wordID",relatedKey:"wordID"}],relatedName:"SearchWord"}]}));modelEntitySchemas["SearchWordIndex"]=SearchWordIndex;_export("ServerActivityActivityArray",ServerActivityActivityArray=[{label:"visit",value:"visit"},{label:"rcpt-not-found",value:"rcpt-not-found"},{label:"mail-received",value:"mail-received"}]);_export("ServerActivity",ServerActivity=new Model("ServerActivity",["activityID"],{dateCreated:new DefaultFactory((()=>new DateTime)),ipAddress:"",activity:"visit"},{name:"server_activities",keys:[{name:"activityID",type:"number",generated:"identity"}],properties:[{name:"domainID",type:"number"},{name:"webSiteFolderID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"ipAddress",type:"string",default:["ipAddress",'""']},{name:"activity",type:"string",default:["activity",'"visit"']}],relations:[{name:"domain",fkMap:[{fk:"domainID",relatedKey:"domainID"}],relatedName:"Domain"},{name:"webSite",fkMap:[{fk:"webSiteFolderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"}]}));modelEntitySchemas["ServerActivity"]=ServerActivity;_export("Store",Store=new Model("Store",["storeID"],{name:""},{name:"stores",keys:[{name:"storeID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"sellerID",type:"number"},{name:"folderID",type:"number"}],relations:[{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"storeUsers",isCollection:true,isInverse:true,relatedName:"StoreUser"},{name:"configs",isCollection:true,isInverse:true,relatedName:"StoreConfig"},{name:"storeItems",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"itemFolders",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"ledgers",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"journals",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"storeWebsites",isCollection:true,isInverse:true,relatedName:"WebSiteStore"}]}));modelEntitySchemas["Store"]=Store;_export("StoreUser",StoreUser=new Model("StoreUser",["storeID","userID"],{},{name:"store_users",keys:[{name:"storeID",type:"number"},{name:"userID",type:"number"}],properties:[],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["StoreUser"]=StoreUser;_export("StoreConfig",StoreConfig=new Model("StoreConfig",["storeID","groupName","configName"],{encrypted:false,configValue:""},{name:"store_configs",keys:[{name:"storeID",type:"number"},{name:"groupName",type:"string"},{name:"configName",type:"string"}],properties:[{name:"encrypted",type:"boolean",default:["encrypted","false"]},{name:"configValue",type:"string",default:["configValue",'""']}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"}]}));modelEntitySchemas["StoreConfig"]=StoreConfig;_export("StoreItemItemTypeArray",StoreItemItemTypeArray=[{label:"product",value:"product"},{label:"service",value:"service"},{label:"tax",value:"tax"},{label:"fee",value:"fee"},{label:"commission",value:"commission"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreItem",StoreItem=new Model("StoreItem",["storeItemID"],{name:"",active:false,itemType:"product",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),price:0,maxPrice:0},{name:"store_items",keys:[{name:"storeItemID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"itemFolderID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"active",type:"boolean",default:["active","false"]},{name:"internalNotes",type:"string",default:["internalNotes",'""']},{name:"description",type:"string",default:["description",'""']},{name:"itemType",type:"string",default:["itemType",'"product"']},{name:"folderID",type:"number"},{name:"sizeForID",type:"number"},{name:"variantForID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"vendorID",type:"number"},{name:"price",type:"number",default:["price","0"]},{name:"maxPrice",type:"number",default:["maxPrice","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"itemFolder",fkMap:[{fk:"itemFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"fileFolder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"sizeFor",fkMap:[{fk:"sizeForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"sizes",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"variantFor",fkMap:[{fk:"variantForID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"variants",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"storeItemPrices",isCollection:true,isInverse:true,relatedName:"StoreItemPrice"},{name:"priceAddOns",isCollection:true,isInverse:true,relatedName:"StorePriceAddOn"},{name:"mediaFiles",isCollection:true,isInverse:true,relatedName:"StoreMediaFile"},{name:"insights",isCollection:true,isInverse:true,relatedName:"StoreInsight"},{name:"ledgers",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}]}));modelEntitySchemas["StoreItem"]=StoreItem;_export("StoreItemFolder",StoreItemFolder=new Model("StoreItemFolder",["itemFolderID"],{name:"",path:""},{name:"store_item_folders",keys:[{name:"itemFolderID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"path",type:"string",default:["path",'""']},{name:"parentID",type:"number"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreItemFolder"},{name:"items",isCollection:true,isInverse:true,relatedName:"StoreItem"},{name:"taxLineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreItemFolder"]=StoreItemFolder;_export("StoreItemPrice",StoreItemPrice=new Model("StoreItemPrice",["priceID"],{startDate:new DefaultFactory((()=>new DateTime)),currency:"",amount:0,active:false,addonsAmount:0},{name:"store_item_prices",keys:[{name:"priceID",type:"number",generated:"identity"}],properties:[{name:"storeItemID",type:"number"},{name:"startDate",type:"DateTime",default:["startDate","new DefaultFactory(() => new DateTime())"]},{name:"endDate",type:"DateTime",default:["endDate","new DefaultFactory(() => new DateTime())"]},{name:"currency",type:"string",default:["currency",'""']},{name:"amount",type:"number",default:["amount","0"]},{name:"maxAmount",type:"number",default:["maxAmount","0"]},{name:"active",type:"boolean",default:["active","false"]},{name:"addonsAmount",type:"number",default:["addonsAmount","0"]}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"addons",isCollection:true,isInverse:true,relatedName:"StorePriceAddOn"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreItemPrice"]=StoreItemPrice;_export("StorePriceAddOn",StorePriceAddOn=new Model("StorePriceAddOn",["priceID","addOnItemID"],{inclusive:false,print:false},{name:"store_price_add_ons",keys:[{name:"priceID",type:"number"},{name:"addOnItemID",type:"number"}],properties:[{name:"inclusive",type:"boolean",default:["inclusive","false"]},{name:"print",type:"boolean",default:["print","false"]}],relations:[{name:"price",fkMap:[{fk:"priceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"addOnItem",fkMap:[{fk:"addOnItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StorePriceAddOn"]=StorePriceAddOn;_export("StoreMediaFile",StoreMediaFile=new Model("StoreMediaFile",["storeItemID","appFileID"],{sortOrder:0,title:"",isPreview:false,isDeleted:false},{name:"store_media_files",keys:[{name:"storeItemID",type:"number"},{name:"appFileID",type:"number"}],properties:[{name:"fileContentID",type:"number",default:["fileContentID","0"]},{name:"sortOrder",type:"number",default:["sortOrder","0"]},{name:"title",type:"string",default:["title",'""']},{name:"description",type:"string",default:["description",'""']},{name:"isPreview",type:"boolean",default:["isPreview","false"]},{name:"isDeleted",type:"boolean",default:["isDeleted","false"]},{name:"fileHtmlView",type:"string",default:["fileHtmlView",'""']},{name:"fileLink",type:"string",default:["fileLink",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"appFile",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"}]}));modelEntitySchemas["StoreMediaFile"]=StoreMediaFile;_export("StoreInsight",StoreInsight=new Model("StoreInsight",["insightID"],{name:"",value:0,isPublic:false},{name:"store_insights",keys:[{name:"insightID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"storeItemID",type:"number"},{name:"name",type:"string",default:["name",'""']},{name:"value",type:"number",default:["value","0"]},{name:"isPublic",type:"boolean",default:["isPublic","false"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"}]}));modelEntitySchemas["StoreInsight"]=StoreInsight;_export("StoreLedger",StoreLedger=new Model("StoreLedger",["ledgerID"],{ledgerType:"",name:"",balance:0},{name:"store_ledger",keys:[{name:"ledgerID",type:"number",generated:"identity"}],properties:[{name:"path",type:"string",default:["path",'""']},{name:"storeID",type:"number"},{name:"parentID",type:"number"},{name:"contactID",type:"number"},{name:"itemID",type:"number"},{name:"head",type:"string",default:["head",'""']},{name:"ledgerType",type:"string",default:["ledgerType",'""']},{name:"name",type:"string",default:["name",'""']},{name:"description",type:"string",default:["description",'""']},{name:"balance",type:"number",default:["balance","0"]}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"parent",fkMap:[{fk:"parentID",relatedKey:"ledgerID"}],relatedName:"StoreLedger"},{name:"children",isCollection:true,isInverse:true,relatedName:"StoreLedger"},{name:"contact",fkMap:[{fk:"contactID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreLedger"]=StoreLedger;_export("StoreJournalJournalTypeArray",StoreJournalJournalTypeArray=[{label:"order",value:"order"},{label:"purchase-order",value:"purchase-order"},{label:"sales-invoice",value:"sales-invoice"},{label:"journal",value:"journal"},{label:"purchase-bill",value:"purchase-bill"},{label:"payment",value:"payment"}]);_export("StoreJournal",StoreJournal=new Model("StoreJournal",["journalID"],{dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),journalType:"order",posted:false,status:"",total:0,balance:0},{name:"store_journals",keys:[{name:"journalID",type:"number",generated:"identity"}],properties:[{name:"storeID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"journalType",type:"string",default:["journalType",'"order"']},{name:"description",type:"string",default:["description",'""']},{name:"posted",type:"boolean",default:["posted","false"]},{name:"status",type:"string",default:["status",'""']},{name:"sellerID",type:"number"},{name:"buyerID",type:"number"},{name:"total",type:"number",default:["total","0"]},{name:"balance",type:"number",default:["balance","0"]},{name:"referenceID",type:"number"},{name:"folderID",type:"number"}],relations:[{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"},{name:"seller",fkMap:[{fk:"sellerID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"buyer",fkMap:[{fk:"buyerID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"reference",fkMap:[{fk:"referenceID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"references",isCollection:true,isInverse:true,relatedName:"StoreJournal"},{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"},{name:"lineItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournal"]=StoreJournal;_export("StoreJournalEntry",StoreJournalEntry=new Model("StoreJournalEntry",["entryID"],{credit:0,debit:0},{name:"store_journal_entries",keys:[{name:"entryID",type:"number",generated:"identity"}],properties:[{name:"journalID",type:"number"},{name:"ledgerID",type:"number"},{name:"credit",type:"number",default:["credit","0"]},{name:"debit",type:"number",default:["debit","0"]},{name:"balance",type:"number",default:["balance","0"]},{name:"description",type:"string",default:["description",'""']},{name:"lineItemID",type:"number"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"ledger",fkMap:[{fk:"ledgerID",relatedKey:"ledgerID"}],relatedName:"StoreLedger"},{name:"lineItem",fkMap:[{fk:"lineItemID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"}]}));modelEntitySchemas["StoreJournalEntry"]=StoreJournalEntry;_export("StoreJournalLineItemItemTypeArray",StoreJournalLineItemItemTypeArray=[{label:"commission",value:"commission"},{label:"fee",value:"fee"},{label:"tax",value:"tax"},{label:"variant",value:"variant"},{label:"size",value:"size"}]);_export("StoreJournalLineItem",StoreJournalLineItem=new Model("StoreJournalLineItem",["lineItemID"],{amount:0,total:0,quantity:0,inclusive:false,hide:false},{name:"store_journal_line_items",keys:[{name:"lineItemID",type:"number",generated:"identity"}],properties:[{name:"journalID",type:"number"},{name:"itemID",type:"number"},{name:"itemPriceID",type:"number"},{name:"amount",type:"number",default:["amount","0"]},{name:"total",type:"number",default:["total","0"]},{name:"quantity",type:"number",default:["quantity","0"]},{name:"inclusive",type:"boolean",default:["inclusive","false"]},{name:"itemType",type:"string",default:["itemType",'"commission"']},{name:"hide",type:"boolean",default:["hide","false"]},{name:"vendorID",type:"number"},{name:"sourceID",type:"number"},{name:"taxFolderID",type:"number"}],relations:[{name:"journal",fkMap:[{fk:"journalID",relatedKey:"journalID"}],relatedName:"StoreJournal"},{name:"item",fkMap:[{fk:"itemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"itemPrice",fkMap:[{fk:"itemPriceID",relatedKey:"priceID"}],relatedName:"StoreItemPrice"},{name:"vendor",fkMap:[{fk:"vendorID",relatedKey:"contactID"}],relatedName:"Contact"},{name:"source",fkMap:[{fk:"sourceID",relatedKey:"lineItemID"}],relatedName:"StoreJournalLineItem"},{name:"relatedItems",isCollection:true,isInverse:true,relatedName:"StoreJournalLineItem"},{name:"taxFolder",fkMap:[{fk:"taxFolderID",relatedKey:"itemFolderID"}],relatedName:"StoreItemFolder"},{name:"entries",isCollection:true,isInverse:true,relatedName:"StoreJournalEntry"}]}));modelEntitySchemas["StoreJournalLineItem"]=StoreJournalLineItem;_export("StoreItemTag",StoreItemTag=new Model("StoreItemTag",["storeItemID","tagID"],{sortOrder:0},{name:"store_item_tags",keys:[{name:"storeItemID",type:"number"},{name:"tagID",type:"number"}],properties:[{name:"sortOrder",type:"number",default:["sortOrder","0"]},{name:"tagValue",type:"string",default:["tagValue",'""']}],relations:[{name:"storeItem",fkMap:[{fk:"storeItemID",relatedKey:"storeItemID"}],relatedName:"StoreItem"},{name:"tag",fkMap:[{fk:"tagID",relatedKey:"tagID"}],relatedName:"Tag"}]}));modelEntitySchemas["StoreItemTag"]=StoreItemTag;_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)),storage:0,maxStorage:0},{name:"users",keys:[{name:"userID",type:"number",generated:"identity"}],properties:[{name:"userName",type:"string",default:["userName",'""']},{name:"displayName",type:"string",default:["displayName",'""']},{name:"passwordHash",type:"string",default:["passwordHash",'""']},{name:"passwordSalt",type:"string",default:["passwordSalt",'""']},{name:"status",type:"string",default:["status",'"active"']},{name:"isExternal",type:"boolean",default:["isExternal","false"]},{name:"multiFactor",type:"boolean",default:["multiFactor","false"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"storage",type:"number",default:["storage","0"]},{name:"maxStorage",type:"number",default:["maxStorage","0"]}],relations:[{name:"createdFiles",isCollection:true,isInverse:true,relatedName:"AppFile"},{name:"sentEmails",isCollection:true,isInverse:true,relatedName:"Email"},{name:"accessTokens",isCollection:true,isInverse:true,relatedName:"AccessToken"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"},{name:"sessions",isCollection:true,isInverse:true,relatedName:"LoginSession"},{name:"fileAccessList",isCollection:true,isInverse:true,relatedName:"AppFileAccess"},{name:"contacts",isCollection:true,isInverse:true,relatedName:"Contact"},{name:"domainUsers",isCollection:true,isInverse:true,relatedName:"DomainUser"},{name:"stores",isCollection:true,isInverse:true,relatedName:"StoreUser"},{name:"pins",isCollection:true,isInverse:true,relatedName:"UserPin"},{name:"userPushSubscriptions",isCollection:true,isInverse:true,relatedName:"UserPushSubscription"},{name:"roles",isCollection:true,isInverse:true,relatedName:"UserRole"},{name:"userMailboxes",isCollection:true,isInverse:true,relatedName:"UserMailbox"},{name:"authFactors",isCollection:true,isInverse:true,relatedName:"UserAuthFactor"},{name:"publishedWebSiteVersions",isCollection:true,isInverse:true,relatedName:"WebSiteFolderVersion"}]}));modelEntitySchemas["User"]=User;_export("UserPin",UserPin=new Model("UserPin",["pinID"],{},{name:"user_pins",keys:[{name:"pinID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"appFileID",type:"number"},{name:"mailboxID",type:"number"}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"file",fkMap:[{fk:"appFileID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserPin"]=UserPin;_export("UserPushSubscription",UserPushSubscription=new Model("UserPushSubscription",["subscriptionID"],{notify:false},{name:"user_push_subscriptions",keys:[{name:"subscriptionID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"mailboxID",type:"number",default:["mailboxID","0"]},{name:"emailAddressID",type:"number",default:["emailAddressID","0"]},{name:"notify",type:"boolean",default:["notify","false"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserPushSubscription"]=UserPushSubscription;_export("UserRole",UserRole=new Model("UserRole",["userID","roleName"],{},{name:"user_roles",keys:[{name:"userID",type:"number"},{name:"roleName",type:"string"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"role",fkMap:[{fk:"roleName",relatedKey:"roleName"}],relatedName:"AppRole"}]}));modelEntitySchemas["UserRole"]=UserRole;_export("UserMailbox",UserMailbox=new Model("UserMailbox",["userID","mailboxID"],{},{name:"user_mailboxes",keys:[{name:"userID",type:"number"},{name:"mailboxID",type:"number"}],properties:[],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"mailbox",fkMap:[{fk:"mailboxID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["UserMailbox"]=UserMailbox;_export("UserAuthFactorMethodArray",UserAuthFactorMethodArray=[{label:"totp",value:"totp"},{label:"hotp",value:"hotp"},{label:"fido2",value:"fido2"},{label:"one-time",value:"one-time"},{label:"otp",value:"otp"}]);_export("UserAuthFactor",UserAuthFactor=new Model("UserAuthFactor",["authFactorID"],{method:"totp",verified:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"user_auth_factor",keys:[{name:"authFactorID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"method",type:"string",default:["method",'"totp"']},{name:"secret",type:"string",default:["secret",'""']},{name:"hint",type:"string",default:["hint",'""']},{name:"verified",type:"boolean",default:["verified","false"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["UserAuthFactor"]=UserAuthFactor;_export("WebSiteFolder",WebSiteFolder=new Model("WebSiteFolder",["folderID"],{isStatic:false,isTemplate:false,isModified:false,snapshotStorage:0},{name:"web_site_folders",keys:[{name:"folderID",type:"number"}],properties:[{name:"currentVersionID",type:"number"},{name:"isStatic",type:"boolean",default:["isStatic","false"]},{name:"isTemplate",type:"boolean",default:["isTemplate","false"]},{name:"isModified",type:"boolean",default:["isModified","false"]},{name:"snapshotStorage",type:"number",default:["snapshotStorage","0"]}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"currentVersion",fkMap:[{fk:"currentVersionID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"activities",isCollection:true,isInverse:true,relatedName:"ServerActivity"},{name:"hosts",isCollection:true,isInverse:true,relatedName:"WebSiteFolderHost"},{name:"versions",isCollection:true,isInverse:true,relatedName:"WebSiteFolderVersion"},{name:"channels",isCollection:true,isInverse:true,relatedName:"WebSiteChannel"},{name:"websiteStores",isCollection:true,isInverse:true,relatedName:"WebSiteStore"}]}));modelEntitySchemas["WebSiteFolder"]=WebSiteFolder;_export("WebSiteFolderHost",WebSiteFolderHost=new Model("WebSiteFolderHost",["host"],{},{name:"web_site_folder_host",keys:[{name:"host",type:"string"}],properties:[{name:"folderID",type:"number"}],relations:[{name:"folder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"}]}));modelEntitySchemas["WebSiteFolderHost"]=WebSiteFolderHost;_export("WebSiteFolderVersion",WebSiteFolderVersion=new Model("WebSiteFolderVersion",["folderID","snapshotFolderID"],{dateCreated:new DefaultFactory((()=>new DateTime)),name:""},{name:"web_site_folder_version",keys:[{name:"folderID",type:"number"},{name:"snapshotFolderID",type:"number"}],properties:[{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"name",type:"string",default:["name",'""']},{name:"description",type:"string",default:["description",'""']},{name:"authorID",type:"number"}],relations:[{name:"websiteFolder",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"},{name:"snapshotFolder",fkMap:[{fk:"snapshotFolderID",relatedKey:"appFileID"}],relatedName:"AppFile"},{name:"author",fkMap:[{fk:"authorID",relatedKey:"userID"}],relatedName:"User"}]}));modelEntitySchemas["WebSiteFolderVersion"]=WebSiteFolderVersion;_export("WebSiteChannel",WebSiteChannel=new Model("WebSiteChannel",["folderID","channelID"],{},{name:"web_site_channels",keys:[{name:"folderID",type:"number"},{name:"channelID",type:"number"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"},{name:"channel",fkMap:[{fk:"channelID",relatedKey:"mailboxID"}],relatedName:"Mailbox"}]}));modelEntitySchemas["WebSiteChannel"]=WebSiteChannel;_export("WebSiteStore",WebSiteStore=new Model("WebSiteStore",["folderID","storeID"],{},{name:"web_site_stores",keys:[{name:"folderID",type:"number"},{name:"storeID",type:"number"}],properties:[],relations:[{name:"website",fkMap:[{fk:"folderID",relatedKey:"folderID"}],relatedName:"WebSiteFolder"},{name:"store",fkMap:[{fk:"storeID",relatedKey:"storeID"}],relatedName:"Store"}]}));modelEntitySchemas["WebSiteStore"]=WebSiteStore;_export("LoginSession",LoginSession=new Model("LoginSession",["sessionID"],{invalid:false,dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"login_sessions",keys:[{name:"sessionID",type:"number",generated:"identity"}],properties:[{name:"userID",type:"number"},{name:"start",type:"DateTime",default:["start","new DefaultFactory(() => new Date())"]},{name:"expiry",type:"DateTime",default:["expiry","new DefaultFactory(() => new Date())"]},{name:"invalid",type:"boolean",default:["invalid","false"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"status",type:"string",default:["status",'""']},{name:"deviceToken",type:"string",default:["deviceToken",'""']},{name:"deviceTokenType",type:"string",default:["deviceTokenType",'""']}],relations:[{name:"user",fkMap:[{fk:"userID",relatedKey:"userID"}],relatedName:"User"},{name:"versions",isCollection:true,isInverse:true,relatedName:"AppFileVersion"}]}));modelEntitySchemas["LoginSession"]=LoginSession;_export("TextDocument",TextDocument=new Model("TextDocument",["textDocumentID"],{searchable:""},{name:"text_documents",keys:[{name:"textDocumentID",type:"number"}],properties:[{name:"searchable",type:"string",default:["searchable",'""']}],relations:[{name:"fileContent",isCollection:false,isInverse:true,relatedName:"FileContent"}]}));modelEntitySchemas["TextDocument"]=TextDocument;_export("Tag",Tag=new Model("Tag",["tagID"],{name:"",isSystemTag:false},{name:"tags",keys:[{name:"tagID",type:"number",generated:"identity"}],properties:[{name:"name",type:"string",default:["name",'""']},{name:"lowerCaseName",type:"string",generated:"computed"},{name:"path",type:"string",default:["path",'""']},{name:"isSystemTag",type:"boolean",default:["isSystemTag","false"]},{name:"contentTypes",type:"string",default:["contentTypes",'""']},{name:"parentID",type:"number"}],relations:[{name:"parent",fkMap:[{fk:"parentID",relatedKey:"tagID"}],relatedName:"Tag"},{name:"children",isCollection:true,isInverse:true,relatedName:"Tag"},{name:"fileTags",isCollection:true,isInverse:true,relatedName:"AppFileTag"},{name:"emailTags",isCollection:true,isInverse:true,relatedName:"EmailTag"},{name:"mailboxContactTags",isCollection:true,isInverse:true,relatedName:"MailboxContactTag"},{name:"storeItemTags",isCollection:true,isInverse:true,relatedName:"StoreItemTag"}]}));modelEntitySchemas["Tag"]=Tag;_export("VirtualServer",VirtualServer=new Model("VirtualServer",["serverID"],{serverName:"",active:false,host:"",maxStorageGB:0},{name:"virtual_servers",keys:[{name:"serverID",type:"number",generated:"identity"}],properties:[{name:"serverName",type:"string",default:["serverName",'""']},{name:"ownerEmailAddress",type:"string",default:["ownerEmailAddress",'""']},{name:"ownerPhoneNumber",type:"string",default:["ownerPhoneNumber",'""']},{name:"active",type:"boolean",default:["active","false"]},{name:"bucketName",type:"string",default:["bucketName",'""']},{name:"database",type:"string",default:["database",'""']},{name:"host",type:"string",default:["host",'""']},{name:"forwardHost",type:"string",default:["forwardHost",'""']},{name:"forwardPrivateKey",type:"string",default:["forwardPrivateKey",'""']},{name:"forwardPublicKey",type:"string",default:["forwardPublicKey",'""']},{name:"environmentVariables",type:"string",default:["environmentVariables",'""']},{name:"maxStorageGB",type:"number",default:["maxStorageGB","0"]}],relations:[{name:"dnsZones",isCollection:true,isInverse:true,relatedName:"DnsZone"}]}));modelEntitySchemas["VirtualServer"]=VirtualServer;_export("DnsZone",DnsZone=new Model("DnsZone",["zoneID"],{zone:"",dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime))},{name:"dns_zones",keys:[{name:"zoneID",type:"number",generated:"identity"}],properties:[{name:"serverID",type:"number"},{name:"zone",type:"string",default:["zone",'""']},{name:"zoneLowerCase",type:"string",generated:"computed"},{name:"keySigningKeyID",type:"number"},{name:"zoneSigningKeyID",type:"number"},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"signed",type:"string",default:["signed",'""']},{name:"unsigned",type:"string",default:["unsigned",'""']}],relations:[{name:"virtualServer",fkMap:[{fk:"serverID",relatedKey:"serverID"}],relatedName:"VirtualServer"},{name:"ksk",fkMap:[{fk:"keySigningKeyID",relatedKey:"keyID"}],relatedName:"DnsSigningKey"},{name:"zsk",fkMap:[{fk:"zoneSigningKeyID",relatedKey:"keyID"}],relatedName:"DnsSigningKey"},{name:"records",isCollection:true,isInverse:true,relatedName:"DnsZoneRecord"}]}));modelEntitySchemas["DnsZone"]=DnsZone;_export("DnsZoneRecordTypeArray",DnsZoneRecordTypeArray=[{label:"A",value:"A"},{label:"AAAA",value:"AAAA"},{label:"CNAME",value:"CNAME"},{label:"MX",value:"MX"},{label:"TXT",value:"TXT"},{label:"PTR",value:"PTR"},{label:"SRV",value:"SRV"},{label:"CAA",value:"CAA"},{label:"NS",value:"NS"},{label:"SOA",value:"SOA"}]);_export("DnsZoneRecord",DnsZoneRecord=new Model("DnsZoneRecord",["recordID"],{disabled:false,name:"",type:"A",isAlias:false,value:"",ttl:0,dateCreated:new DefaultFactory((()=>new DateTime)),dateUpdated:new DefaultFactory((()=>new DateTime)),hosted:false},{name:"dns_zone_records",keys:[{name:"recordID",type:"number",generated:"identity"}],properties:[{name:"zoneID",type:"number"},{name:"disabled",type:"boolean",default:["disabled","false"]},{name:"name",type:"string",default:["name",'""']},{name:"type",type:"Object",default:["type",'"A"']},{name:"isAlias",type:"boolean",default:["isAlias","false"]},{name:"value",type:"string",default:["value",'""']},{name:"ttl",type:"number",default:["ttl","0"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"dateUpdated",type:"DateTime",default:["dateUpdated","new DefaultFactory(() => new DateTime())"]},{name:"notes",type:"string",default:["notes",'""']},{name:"signature",type:"string",default:["signature",'""']},{name:"expiryDate",type:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"fqdn",type:"string",default:["fqdn",'""']},{name:"hosted",type:"boolean",default:["hosted","false"]}],relations:[{name:"zone",fkMap:[{fk:"zoneID",relatedKey:"zoneID"}],relatedName:"DnsZone"}]}));modelEntitySchemas["DnsZoneRecord"]=DnsZoneRecord;_export("DnsSigningKey",DnsSigningKey=new Model("DnsSigningKey",["keyID"],{publicKey:"",digestAlgorithm:0,signingAlgorithm:0,digest:"",flags:0,dateCreated:new DefaultFactory((()=>new DateTime)),expiryDate:new DefaultFactory((()=>new DateTime)),fileName:""},{name:"dns_signing_keys",keys:[{name:"keyID",type:"number",generated:"identity"}],properties:[{name:"publicKey",type:"string",default:["publicKey",'""']},{name:"privateKey",type:"string",default:["privateKey",'""']},{name:"digestAlgorithm",type:"number",default:["digestAlgorithm","0"]},{name:"signingAlgorithm",type:"number",default:["signingAlgorithm","0"]},{name:"digest",type:"string",default:["digest",'""']},{name:"flags",type:"number",default:["flags","0"]},{name:"dateCreated",type:"DateTime",default:["dateCreated","new DefaultFactory(() => new DateTime())"]},{name:"expiryDate",type:"DateTime",default:["expiryDate","new DefaultFactory(() => new DateTime())"]},{name:"fileName",type:"string",default:["fileName",'""']}],relations:[{name:"kskZones",isCollection:true,isInverse:true,relatedName:"DnsZone"},{name:"zskZones",isCollection:true,isInverse:true,relatedName:"DnsZone"}]}));modelEntitySchemas["DnsSigningKey"]=DnsSigningKey;fixRelatedSchemas=schema=>{for(const key in schema){if(Object.prototype.hasOwnProperty.call(schema,key)){const element=schema[key];if(!element.name){continue}const{relations}=element.schema;if(!relations){continue}for(const iterator of relations){iterator.relatedModel=schema[iterator.relatedName]}}}};fixRelatedSchemas(modelEntitySchemas)}}}));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,_a,socialMail;_export("default",void 0);return{setters:[],execute:function(){socialMail=(_a=window.socialMail)!==null&&_a!==void 0?_a:{path:"/",name:"Social Mail"};_export("default",SocialMailApp=class SocialMailApp{});SocialMailApp.config=socialMail}}}));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,MailboxContact,UserPushSubscription,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;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(onlyHosted=false){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(HostedDomain);if(onlyHosted){q=q.where({},(p=>x=>x.external===false))}const hosted=yield q.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});yield this.updateNotify(top.items);return top.items}))}updateNotify(items){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!(items===null||items===void 0?void 0:items.length)){return}const{userID}=SocialMailApp.user;const ids=items.map((x=>x.mailboxID));const all=yield this.entityService.query(UserPushSubscription).where({ids,userID},(p=>x=>x.userID===p.userID&&x.mailboxID in p.ids&&x.emailAddressID===null)).toArray();const map=new Map(all.map((x=>[x.mailboxID,x])));for(const iterator of items){iterator.notify=(_b=(_a=map.get(iterator.mailboxID))===null||_a===void 0?void 0:_a.notify)!==null&&_b!==void 0?_b:false}}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){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)))}}const all=yield q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken});yield this.updateNotify(all.items);return all}))}toggleNotify(m){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID}=m;let n=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();if(!n){const{userID}=SocialMailApp.user;n=UserPushSubscription.create({userID,mailboxID})}n.notify=!m.notify;yield this.entityService.save(n);m.notify=n.notify}))}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}))}saveContact(mc,retry=3){return __awaiter(this,void 0,void 0,(function*(){const{emailAddressText,mailboxID}=mc;const emailAddress=emailAddressText.trim().toLocaleLowerCase();const q=this.entityService.query(MailboxContact).where({mailboxID,emailAddress},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddress.emailAddress===p.emailAddress)).include((x=>x.emailAddress));const result=yield q.firstOrDefault();if(result){return result}try{yield this.entityService.save(mc);return yield q.firstOrDefault()}catch(error){if(retry--){return yield this.saveContact(mc,retry)}throw error}}))}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`
|
|
742
742
|
display: flex;
|
|
743
743
|
flex-direction: column;
|
|
744
744
|
gap: var(--spacing, 5px);
|
|
@@ -1760,7 +1760,7 @@ and limitations under the License.
|
|
|
1760
1760
|
|
|
1761
1761
|
}
|
|
1762
1762
|
}
|
|
1763
|
-
`.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));const isDraft=item.status==="draft";let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMail(thread)))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),isDraft&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create(EditIconTextButton,{"data-click-event":"edit-draft",text:"Edit Draft"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-draft",text:"Delete Draft"})),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.showComposeButton()}))}showComposeButton(email=null){if(email){this.mailsRepeater.items.remove(email)}this.footerRenderer=()=>XNode.create("div",{"data-position":"absolute","style-right":"20px","style-bottom":"5px","data-layout":"row"},XNode.create(AddIconTextButton,{"event-click":()=>this.startCompose(),"data-margin-left":"auto",text:"Compose"}))}startCompose(thread=null,email=null){this.footerRenderer=()=>{var _a;return XNode.create(MiniComposeBox,{mailboxContact:thread!==null&&thread!==void 0?thread:this.parameters,draft:(_a=thread===null||thread===void 0?void 0:thread.email)!==null&&_a!==void 0?_a:email})}}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;const index=this.mails.findIndex((x=>x.emailID===emailID));if(index!==-1){this.mails.removeAt(index)}this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForward.dispatchEvent(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForwardAsAttachment.dispatchEvent(thread),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMail(thread)))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail(mce,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressID:this.parameters.emailAddressID,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressID,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`<${this.parameters.emailAddress.emailAddress}>`}<br/>\n Subject: ${email.subject}\n </summary>\n <div>\n\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});this.startCompose(null,child)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"emailSent"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"showComposeButton",null);__decorate([Action({onEvent:"edit-draft"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"startCompose",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;User=_modelModel.User},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,contentType=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null&&x.contentType!=="snapshot"));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}if(contentType){q=q.where({contentType},(p=>x=>x.contentType===p.contentType))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){var _a;return __awaiter(this,void 0,void 0,(function*(){let root;if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}root=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});(_a=root.children)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.isFolder?Number.MIN_SAFE_INTEGER:b.isFolder?Number.MAX_SAFE_INTEGER:a.name.localeCompare(b.name)));return root}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showSnapShot=false,showFolder=true,includeFilesInFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}if(!showSnapShot){q=q.where((x=>x.contentType!=="snapshot"))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){if(includeFilesInFolder||iterator.isFolder){children.add(iterator)}}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}results.sort(((a,b)=>a.isFolder?Number.MIN_SAFE_INTEGER:b.isFolder?Number.MAX_SAFE_INTEGER:a.name.localeCompare(b.name)));results.refresh();return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,isDeleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
|
|
1763
|
+
`.installLocal();id=1;fixLinks=()=>{const mID=`m_id_${id++}`;setTimeout((x=>{const m=document.getElementById(x);if(!m){return}m.querySelectorAll("a").forEach((a=>a.target="_blank"))}),100,mID);return mID};_export("default",ConversationPage=class ConversationPage extends ContentPage{constructor(){super(...arguments);this.mails=[];this.search="";this.version=1}init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;const mb=this.parameters;const name=mb.emailAddress.name;const emailAddress=mb.emailAddress.emailAddress;const title=`${name} <${emailAddress}>`;if(isMobileView){this.title=title;this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Search"}),XNode.create("span",{text:title}))}this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(),{newMail:()=>{this.version++},mailRead:(mailboxID,emailAddressID,emailID)=>{for(const iterator of this.mailsRepeater.items){if(iterator.emailID!==emailID){continue}iterator.timeRead=DateTime.now;this.mailsRepeater.refreshItem(iterator)}}}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"vertical-flex",style:"flex-direction: column-reverse",presenter:Bind.presenter((c=>this.mailsRepeater=c)),items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.conversationService.list({start,size:10,search:this.search,mailboxID:mb.mailboxID,emailAddressID:mb.emailAddressID,version:this.version,cancelToken}))),{itemRenderer:thread=>{var _a,_b,_c,_d,_e,_f,_g,_h;const item=thread.email;const internalDate=(_b=(_a=item.dateSent)!==null&&_a!==void 0?_a:item.dateReceived)!==null&&_b!==void 0?_b:item.dateCreated;const sent=item.senderID===thread.mailboxID;const remaining=DateTime.from((_c=item.dateSent)!==null&&_c!==void 0?_c:DateTime.today).diff(DateTime.now);const isSending=thread.email.status==="scheduled"&&remaining.totalSeconds>3;const engagements=(_d=thread.email.engagements)!==null&&_d!==void 0?_d:[];const tags=((_e=thread.email.tags)!==null&&_e!==void 0?_e:"").split(",").filter((x=>x));const isDraft=item.status==="draft";let readStatus="";let readColor="";if(sent){const timeRead=thread.timeRead&&DateTime.from(thread.timeRead);if(timeRead){readStatus=`Read ${DateFormats.relative.short(timeRead)}`;readColor="green"}else if(item.status==="sent"){readStatus="Sent";readColor="yellow"}else if(item.status==="scheduled"){readStatus="In queue";readColor="lightblue"}else{readStatus="";readColor=""}}if(remaining.totalSeconds>0){setTimeout((()=>this.mailsRepeater.refreshItem(thread)),2e3)}return XNode.create("div",{class:itemCss,"data-sent":sent},XNode.create("div",{"data-layout":"row"},XNode.create("div",{"data-flex":"stretch-full",text:item.subject}),item.received?XNode.create("div",null):item.userID!==SocialMailApp.user.userID&&XNode.create("div",{"style-max-width":"20ch",title:(_f=item.senderUser)===null||_f===void 0?void 0:_f.displayName,text:(_g=item.senderUser)===null||_g===void 0?void 0:_g.displayName}),XNode.create("div",{text:DateFormats.relative.short(internalDate),title:DateFormats.withWeekDayAndTime(internalDate)}),XNode.create("i",{"data-click-event":"mail-options",class:"fa-light fa-square-ellipsis-vertical",title:"Options"})),XNode.create(LimitedText,{height:"40vh"},XNode.create("div",Object.assign({class:"message"},renderMail(thread)))),XNode.create("div",{class:"engagements"},readStatus&&XNode.create("i",{class:"fa-solid fa-circle-small","style-color":readColor,title:readStatus}),...engagements.map((x=>XNode.create("span",{"data-click-event":"view-engagements","data-cursor":"pointer",title:`View all ${x.engagement} ${x.count}`,text:`${x.engagement} ${x.count}`})))),((_h=item.attachments)===null||_h===void 0?void 0:_h.length)&&XNode.create("div",{class:"attachments","data-layout":"flex-wrap-padding"},...item.attachments.map(FilePreview)),XNode.create("div",{"data-layout":"row","data-margin-top":"default","data-margin-bottom":"default"},...tags.map((x=>XNode.create("span",{text:`#${x.startsWith("#")?x.substring(1):x}`})))),isDraft&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create(EditIconTextButton,{"data-click-event":"edit-draft",text:"Edit Draft"}),XNode.create(DeleteIconTextButton,{"data-click-event":"delete-draft",text:"Delete Draft"})),!sent&&XNode.create("div",{"data-layout":"row","data-margin-top":"default"},XNode.create("i",{"data-click-event":"react-email",class:"fa-light fa-face-smile-plus",title:"React"}),XNode.create("i",{"data-click-event":"reply-email",class:"fas fa-reply",title:"Reply"}),XNode.create("i",{"data-click-event":"reply-all-email",class:"fa-solid fa-reply-all",title:"Reply All"}),XNode.create("i",{"data-click-event":"forward-email",class:"fa-solid fa-share-all",title:"Forward"})),isSending&&XNode.create("div",{"data-layout":"command-row","style-padding-left":"20px"},XNode.create("span",{text:`Sending in (${Math.ceil(remaining.totalSeconds)} sec) `}),XNode.create("button",{"data-click-event":"stop-email","data-layout":"stop-icon-button","style-margin-left":"20px"},XNode.create("i",{class:"fas fa-stop"}),"Stop")))}})));this.actionRenderer=()=>XNode.create(PopupActionButton,{icon:"fas fa-bars"},XNode.create("div",{"data-layout":"vertical-flex","style-width":"200px"},this.parameters.blocked?XNode.create(MenuItem,{"data-click-event":"unblock-sender",icon:"fas fa-badge-check",label:"Unblock Sender"}):XNode.create(MenuItem,{"data-click-event":"block-sender",icon:"fas fa-ban",label:"Block Sender"})));this.showComposeButton()}))}showComposeButton(email=null){if(email){this.mailsRepeater.items.remove(email)}this.footerRenderer=()=>XNode.create("div",{"data-position":"absolute","style-right":"20px","style-bottom":"5px","data-layout":"row"},XNode.create(AddIconTextButton,{"event-click":()=>this.startCompose(),"data-margin-left":"auto",text:"Compose"}))}startCompose(thread=null,email=null){this.footerRenderer=()=>{var _a;return XNode.create(MiniComposeBox,{mailboxContact:thread!==null&&thread!==void 0?thread:this.parameters,draft:(_a=thread===null||thread===void 0?void 0:thread.email)!==null&&_a!==void 0?_a:email})}}onClick(a,e){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){const anchor=e.composed?e.composedPath().find((x=>x.tagName==="A")):AncestorEnumerator.find(e.target,(x=>x.tagName==="A"));if(!anchor){return}const href=anchor.getAttribute("href");if(!/^mailto\:/.test(href)){return}e.preventDefault();const url=new URL(href);const to=url.pathname;const subject=(_a=url.searchParams.get("subject"))!==null&&_a!==void 0?_a:"";const body=(_b=url.searchParams.get("body"))!==null&&_b!==void 0?_b:"";const inReplyTo=(_c=url.searchParams.get("inReplyTo"))!==null&&_c!==void 0?_c:"";const{item}=AtomRepeater.itemFromElement(e.target);const{email:{parentID,headerMessageID}}=item;const recipients=[EmailRecipient.create({emailAddressText:to})];const child=Email.create({senderID:this.parameters.mailboxID,subject,headers:JSON.stringify({inReplyTo}),parentID:inReplyTo===headerMessageID?parentID:null,received:false,recipients,htmlBody:`<div contentEditable="true">${body}</div>`});yield PageNavigator.pushPageForResult(ComposeMailPage,{mailboxID:child.senderID,mailbox:this.parameters.mailbox,model:child})}))}onEmailScheduled(email){if(email.senderID!==this.parameters.mailboxID){return}const{emailID}=email;const{emailAddressID,mailboxID}=this.parameters;const index=this.mails.findIndex((x=>x.emailID===emailID));if(index!==-1){this.mails.removeAt(index)}this.mails.insert(0,MailboxContactEmail.create({emailID,emailAddressID,mailboxID,email}))}stopEmail(thread){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.stopEmail(thread)}))}forwardEmail(thread,ce){return __awaiter(this,void 0,void 0,(function*(){void InlinePopup.show(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForward.dispatchEvent(thread),label:"As Inline Message"}),XNode.create(MenuItem,{eventClick:()=>CommonEvents.onEmailForwardAsAttachment.dispatchEvent(thread),label:"As Attachment"})),{alignment:"above"})}))}mailOptions(thread,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){void InlinePopupControl.showPopup(ce.target,XNode.create("div",{"data-click-event":"none","data-click-animate":"none"},((_a=thread.email)===null||_a===void 0?void 0:_a.status)==="published"&&XNode.create(MenuItem,{icon:"fas fa-delete","data-click-event":"un-publish-mail"}),XNode.create(MenuItem,{eventClick:()=>PageNavigator.pushPage(MailDetailPage,thread.email),icon:"fas fa-eye",label:"Details"}),XNode.create(MenuItem,{href:apiPath(`/api/emails/logs/${thread.email.mimeFileID}/${thread.email.emailID}.eml`),icon:"fas fa-download",label:"Download"}),XNode.create(MenuItem,{"data-click-event":"open-logs",icon:"fa-regular fa-clock-rotate-left",label:"Logs"}),((_b=thread.email)===null||_b===void 0?void 0:_b.status)==="draft"&&XNode.create(MenuItem,{"data-click-event":"delete-draft",icon:"fa-regular fa-clock-rotate-left",label:"Delete Draft"})))}))}openLogs({emailID}){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(LogsPage,{emailID})}))}reactEmail(thread,ce){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const emoji=yield EmojiPicker.show({parameters:{thread,preview:XNode.create("div",Object.assign({},renderMail(thread)))}});const{email:{emailID,subject}}=thread;const now=DateTime.now;const{emailAddressID}=thread;const email=Email.create({parentID:emailID,subject:"Re: "+subject,textBody:emoji+"\n",htmlBody:`<div>${emoji}</div>`,engagement:emoji,senderID:this.parameters.mailboxID,headers:JSON.stringify({"x-engagement":emoji}),dateSent:now,dateReceived:now,dateCreated:now,received:false,status:"scheduled",recipients:[EmailRecipient.create({emailAddressID})]});yield this.resolve(EntityService).save(email);const engagements=(_a=(_b=thread.email).engagements)!==null&&_a!==void 0?_a:_b.engagements=[];let e=engagements.find((x=>x.engagement===emoji));if(!e){e=EmailEngagement.create({engagement:emoji,emailID,count:1});engagements.add(e)}else{e.count++}this.mailsRepeater.refreshItem(thread)}))}replyEmail(mce,ce){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{email}=mce;const parse=JSON.parse(email.headers);const replyTo=(_a=parse===null||parse===void 0?void 0:parse.replyTo)===null||_a===void 0?void 0:_a[0];const emailAddressText=this.parameters.emailAddress.emailAddress.toLocaleLowerCase();const name=email.senderName;const parentID=(_b=email.parentID)!==null&&_b!==void 0?_b:email.emailID;const recipients=[EmailRecipient.create({name,replyTo,emailAddressID:this.parameters.emailAddressID,emailAddressText})];if(/all/i.test(ce.type)){for(const{name:rName,emailAddressID,emailAddress:{emailAddress}}of email.recipients){if(recipients.some((er=>er.emailAddressText===emailAddress))){continue}if(this.parameters.mailboxID===emailAddressID){continue}recipients.push(EmailRecipient.create({name:rName,emailAddressID,emailAddressText:emailAddress}))}}const subject=/^re\s?\:/i.test(email.subject)?email.subject:`Re: ${email.subject}`;const child=Email.create({senderID:this.parameters.mailboxID,subject,parentID,received:false,recipients,htmlBody:`<section>\n <section contentEditable="true">\n <p>\n <br/>\n <br/>\n </p>\n </section>\n <blockquote data-type="reply-to" style="margin-inline-start: 20px; margin-inline-end: 0; border-left: solid 1px lightgray; padding-left: 10px;">\n <details>\n <summary>From: ${email.senderName} ${`<${this.parameters.emailAddress.emailAddress}>`}<br/>\n Subject: ${email.subject}\n </summary>\n <div>\n\n ${email.htmlBody}\n </div>\n </details>\n </blockquote>\n </section>`});this.startCompose(null,child)}))}blockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}unblockSender(){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.block(this.parameters)}))}viewEngagements(thread){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EngagementDetails,thread)}))}deleteDraft(mce){return __awaiter(this,void 0,void 0,(function*(){yield this.conversationService.delete(mce.email);this.mails.remove(mce)}))}});__decorate([InjectProperty,__metadata("design:type",ConversationService)],ConversationPage.prototype,"conversationService",void 0);__decorate([Action({onEvent:"emailSent"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"showComposeButton",null);__decorate([Action({onEvent:"edit-draft"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"startCompose",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,PointerEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"onClick",null);__decorate([Action({onEvent:CommonEvents.onEmailScheduled}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],ConversationPage.prototype,"onEmailScheduled",null);__decorate([Action({onEvent:"stop-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"stopEmail",null);__decorate([Action({onEvent:"forward-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"forwardEmail",null);__decorate([Action({onEvent:"mail-options"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"mailOptions",null);__decorate([Action({onEvent:"open-logs"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"openLogs",null);__decorate([Action({onEvent:"react-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"reactEmail",null);__decorate([Action({onEvent:["reply-email","reply-all-email"]}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,CustomEvent]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"replyEmail",null);__decorate([Action({onEvent:"block-sender",confirm:"Are you sure you want to block this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"blockSender",null);__decorate([Action({onEvent:"unblock-sender",confirm:"Are you sure you want to unblock this sender?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"unblockSender",null);__decorate([Action({onEvent:"view-engagements"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"viewEngagements",null);__decorate([Action({onEvent:"delete-draft",confirm:"Are you sure you want to delete this draft?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],ConversationPage.prototype,"deleteDraft",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ConversationPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../common/controls/repeater/InfiniteRepeater","../../../common/NumberFormats","../../commands/AppCommands","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxService,InjectProperty,XNode,AtomRepeater,InfiniteRepeater,toFileSize,AppCommands,Bind,ChooseMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",ChooseMailboxPage=class ChooseMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.mailboxes=[];this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Open Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"list",items:this.mailboxes},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start}))),{itemRenderer:item=>XNode.create("div",null,XNode.create("a",{"data-click-event":"route",href:AppCommands.openMailbox.displayRoute({id:item.mailboxID}),text:item.emailAddress.emailAddress}),XNode.create("span",{text:toFileSize(item.storage)}))})))}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],ChooseMailboxPage.prototype,"mailboxService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","@web-atoms/date-time/dist/DateTime","../../../../common/Sql","../../../../common/SocialMailApp","../../../../services/files/LocalFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,User,WebSiteFolder,DateTime,Sql,SocialMailApp,LocalFileService,hideActivityIndicator,CloudFileService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;User=_modelModel.User;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_commonSql){Sql=_commonSql.Sql},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default}],execute:function(){hideActivityIndicator=true;CloudFileService=class CloudFileService{topSites(){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;const q=this.entityService.query(WebSiteFolder);const top=yield q.orderByDescending({userID},(p=>x=>x.folder.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.currentVersionID)).include((x=>x.folder.creator)).toPagedList({size:3,count:false});return top.items}))}top(site=false){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null));q=site?q.where((x=>x.contentType==="application/site")):q.where((x=>x.contentType==="folder"));const top=yield q.orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).include((x=>x.creator)).toPagedList({size:3,count:false});return top.items}))}drives({start=0,size=50,search="",version=1,contentType=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){const userID=SocialMailApp.user.userID;let q=this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null&&x.contentType!=="snapshot"));if(search){q=q.where({search},(p=>x=>Sql.text.includes(x.creator.userName,p.search)))}if(contentType){q=q.where({contentType},(p=>x=>x.contentType===p.contentType))}return q.include((x=>x.creator)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.fileSize)).toPagedList({start,size,cancelToken})}))}allTemplates(){return __awaiter(this,void 0,void 0,(function*(){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray();const roots=children.map((x=>x.path+"%"));const all=yield this.entityService.query(AppFile).where({roots},(p=>x=>Sql.text.likeAny(x.path,p.roots))).toArray();return all.filter((x=>!x.parentID))}))}getFile(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).firstOrDefault({cancelToken});return folder}))}getFolder(id,cancelToken=null){return __awaiter(this,void 0,void 0,(function*(){const folder=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});if(folder.children){folder.children.remove((x=>!x.isFolder))}else{folder.children=[]}return folder}))}root({id,templates=false,cancelToken=null}){var _a;return __awaiter(this,void 0,void 0,(function*(){let root;if(templates){const children=yield this.entityService.query(AppFile).where((x=>x.templates.some((c=>true)))).toArray({cancelToken});root=AppFile.create({name:"Templates",isFolder:true,appFileID:0,creator:User.create({}),children});return root}root=yield this.entityService.query(AppFile).where({id},(p=>x=>x.appFileID===p.id&&x.isDeleted===false)).include((x=>x.creator)).include((x=>x.children)).firstOrDefault({cancelToken});(_a=root.children)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.isFolder?Number.MIN_SAFE_INTEGER:b.isFolder?Number.MAX_SAFE_INTEGER:a.name.localeCompare(b.name)));return root}))}rootFolders(){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(AppFile).where((x=>x.isFolder===true&&x.parentID===null&&x.path!==null)).include((x=>x.creator)).toArray()}))}createFolder({name,parentID}){return __awaiter(this,void 0,void 0,(function*(){const dateCreated=DateTime.now;const r=yield this.entityService.save(AppFile.create({name,parentID,isFolder:true,contentType:"folder",dateCreated,dateUpdated:dateCreated}));return this.entityService.query(AppFile).where({id:r.appFileID},(p=>x=>x.appFileID===p.id)).include((x=>x.creator)).firstOrDefault()}))}expand(folder,showDeleted=false){return __awaiter(this,void 0,void 0,(function*(){const parentID=folder.appFileID;const files=yield this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isFolder===true&&x.isDeleted===p.showDeleted)).toArray({hideActivityIndicator});const{children}=folder;for(const iterator of files){if(children.some((c=>c.appFileID===iterator.appFileID))){continue}children.add(iterator)}}))}files({search="",accept="",folder,cancelToken,showDeleted=false,showSnapShot=false,showFolder=true,includeFilesInFolder=true}){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const parentID=folder===null||folder===void 0?void 0:folder.appFileID;if(!parentID){return folder===null||folder===void 0?void 0:folder.children}let q=this.entityService.query(AppFile).where({parentID,showDeleted},(p=>x=>x.parentID===p.parentID&&x.isDeleted===p.showDeleted));if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}if(accept){const contentTypes=accept.split(/\,/g).map((x=>x.replace("*","%").trim())).filter((x=>x));q=q.where({contentTypes},(p=>x=>x.isFolder||Sql.text.iLikeAny(x.contentType,p.contentTypes)))}if(!showFolder){q=q.where((x=>x.isFolder===false)).orderBy((x=>x.name))}else{q=q.orderByDescending((x=>x.isFolder)).thenBy((x=>x.name))}if(!showSnapShot){q=q.where((x=>x.contentType!=="snapshot"))}const files=yield q.toArray({cancelToken});const results=[];for(const iterator of files){if(!iterator.isFolder){if(accept&&iterator.parentID===folder.appFileID){const children=(_a=folder.children)!==null&&_a!==void 0?_a:folder.children=[];if(!children.some((f=>f.appFileID===iterator.appFileID))){if(includeFilesInFolder||iterator.isFolder){children.add(iterator)}}}results.push(iterator);continue}const fx=folder.children.find((f=>f.appFileID===iterator.appFileID));if(fx){results.push(fx);fx.fileSize=iterator.fileSize;continue}(_b=iterator.children)!==null&&_b!==void 0?_b:iterator.children=[];folder.children.add(iterator);results.push(iterator)}results.sort(((a,b)=>a.isFolder?Number.MIN_SAFE_INTEGER:b.isFolder?Number.MAX_SAFE_INTEGER:a.name.localeCompare(b.name)));results.refresh();return results}))}children(parentID,name,sha256){return this.entityService.query(AppFile,"children",parentID,name,sha256)}saveFile(fm){return __awaiter(this,void 0,void 0,(function*(){const{appFileID,content,parentID,folder}=fm;return this.localFileService.uploadFile(content,{appFileID,parentID,folder})}))}save(file){return __awaiter(this,void 0,void 0,(function*(){const c=this.entityService.cloner(file);yield this.entityService.save(c.copy);return file}))}delete(files){return __awaiter(this,void 0,void 0,(function*(){files=files.map((({appFileID})=>AppFile.create({appFileID,isDeleted:true})));yield this.entityService.save(files)}))}};__decorate([Inject,__metadata("design:type",EntityService)],CloudFileService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",LocalFileService)],CloudFileService.prototype,"localFileService",void 0);CloudFileService=__decorate([DISingleton()],CloudFileService);_export("default",CloudFileService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/core/AtomUI"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomControl,BindableProperty,styled,AncestorEnumerator,TreeView,expandSymbol;function findTreeElement(element){if(element.matches("[data-layout=tree-view-item]")){return element}return AncestorEnumerator.findSelector(element,"[data-layout=tree-view-item]")}_export({findTreeElement,default:void 0});return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebCoreAtomUI){AncestorEnumerator=_webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator}],execute:function(){expandSymbol=Symbol("expand");styled.css`
|
|
1764
1764
|
|
|
1765
1765
|
display: flex;
|
|
1766
1766
|
flex-direction: column;
|
|
@@ -4155,7 +4155,7 @@ display: grid;
|
|
|
4155
4155
|
border-bottom: solid 1px #80808080;
|
|
4156
4156
|
min-width: 250px;
|
|
4157
4157
|
}
|
|
4158
|
-
`.installGlobal("[data-app-form=app-form]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/form/AppForm");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,AppForm,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,Checkbox,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create(FormField,{label:"Template"},XNode.create(Checkbox,{checked:Bind.twoWays((()=>this.model.isTemplate)),text:"Save this as a Template"})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor","../../../../web/commands/AppCommands","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,AppCommands,Bind,Checkbox,InfiniteRepeater,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.showTemplate=false;this.sites=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.showTemplate)),text:"Templates"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.sites},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.list({search:this.search,showTemplate:this.showTemplate,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,item.isTemplate?XNode.create("i",{title:"This is a template",class:"fa-duotone fa-folder-grid"}):XNode.create("i",{class:"fa-duotone fa-folder"}),XNode.create("a",{"data-click-event":"route",href:AppCommands.editWebSite.displayRoute({id:item.folderID}),text:item.folder.name}),XNode.create("br",null),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.folderID})},XNode.create("i",{class:"fas fa-folder"})))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Store,Sql,StoreService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Store=_modelModel.Store},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Store).where({storeID},(p=>x=>x.storeID===p.storeID)).include((x=>[x.storeUsers,x.storeWebsites.forEach((w=>w.website.folder))])).firstOrDefault()}))}top(){return __awaiter(this,void 0,void 0,(function*(){const{items}=yield this.stores({size:3,cancelToken:null});return items}))}stores({search="",start=0,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Store);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}return q.orderByDescending((x=>x.storeID)).toPagedList({start,size,cancelToken})}))}save(store){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(store,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreService.prototype,"entityService",void 0);StoreService=__decorate([DISingleton()],StoreService);_export("default",StoreService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,StoreItemPrice,StoreJournal,StoreJournalLineItem,Sql,DateTime,StoreOrderService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){StoreItemPrice=_modelModel.StoreItemPrice;StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){StoreOrderService=class StoreOrderService{get(orderID){return this.entityService.query(StoreJournal).where({orderID},(p=>x=>x.journalID===p.orderID)).include((x=>[x.lineItems.forEach((oi=>[oi.itemPrice.storeItem.store])),x.entries.forEach((e=>e.ledger)),x.buyer.items,x.seller.items])).firstOrDefault()}list({storeID=void 0,start=0,size=100,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreJournal).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.buyer.name,p.search)||x.lineItems.some((oi=>Sql.text.iLike(oi.itemPrice.storeItem.name,p.search)))))}return q.orderByDescending((x=>x.journalID)).toPagedList({start,size,cancelToken})}))}save(order){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(order,(c=>c.include((x=>x.entries)).include((x=>x.lineItems)).thenInclude((x=>x.relatedItems))));return order}))}updateTaxFolder(model,line,taxFolder){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!taxFolder){if(!line.relatedItems){return}for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}line.relatedItems.remove(iterator)}return}const{itemFolderID}=taxFolder;const date=(_a=model.dateCreated)!==null&&_a!==void 0?_a:DateTime.now;const taxItemPrices=yield this.entityService.query(StoreItemPrice).where({itemFolderID,date},(p=>x=>x.startDate<=p.date&&x.storeItem.itemFolderID===p.itemFolderID)).include((x=>x.storeItem)).toArray();const taxItems=taxItemPrices.map((x=>x.storeItem)).groupBy((x=>x.storeItemID)).map((x=>x[0]));const taxItemIDs=new Set(taxItems.map((x=>x.storeItemID)));(_b=line.relatedItems)!==null&&_b!==void 0?_b:line.relatedItems=[];for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}if(!taxItemIDs.has(iterator.itemID)){line.relatedItems.remove(iterator);iterator.source=null;iterator.journal=null;model.lineItems.remove(iterator)}}for(const iterator of taxItems){const{storeItemID:itemID}=iterator;let taxLine=line.relatedItems.find((x=>x.itemID===itemID));if(!taxLine){taxLine=StoreJournalLineItem.create({itemID,source:line});if(line.lineItemID){taxLine.sourceID=line.lineItemID}line.relatedItems.add(taxLine)}taxLine.itemID=itemID;taxLine.item=iterator;taxLine.itemType="tax";const taxItemPrice=taxItemPrices.find((x=>x.storeItemID===itemID));taxLine.itemPriceID=taxItemPrice.priceID;const amount=Number(line.amount)*Number(taxItemPrice.amount);taxLine.amount=amount}}))}deleteLineItem(model,line){return __awaiter(this,void 0,void 0,(function*(){}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreOrderService.prototype,"entityService",void 0);StoreOrderService=__decorate([DISingleton()],StoreOrderService);_export("default",StoreOrderService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreOrderService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","../../../services/EntityService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/ExpressionParser","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../repeater/InfiniteRepeater","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,PageNavigator,Bind,EntityService,styled,AtomControl,ExpressionParser,modelEntitySchemas,InjectProperty,InfiniteRepeater,Action,ReferenceEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreExpressionParser){ExpressionParser=_webAtomsCoreDistCoreExpressionParser.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_repeaterInfiniteRepeater){InfiniteRepeater=_repeaterInfiniteRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){styled.css`
|
|
4158
|
+
`.installGlobal("[data-app-form=app-form]")}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/form/AppForm");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserAuthFactor,InjectProperty,UserService,XNode,AddIconTextButton,DeleteIconTextButton,SaveIconTextButton,FormField,Bind,Action,AtomRepeater,DateFormats,AppForm,MultiFactorSetupPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton;DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",MultiFactorSetupPage=class MultiFactorSetupPage extends ContentPage{init(){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Setup Multi Factor Authentication";if(!((_a=this.model.authFactors)===null||_a===void 0?void 0:_a.length)){yield this.notSetup();return}if(multiFactor){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),XNode.create("div",{"data-layout":"command-row"},XNode.create("div",null,"Multi factor authentication is enabled."),XNode.create(DeleteIconTextButton,{text:"Disable"}))));return}const disable=!((_b=this.model.authFactors)===null||_b===void 0?void 0:_b.length)||!this.model.authFactors.some((i=>i.method==="totp"&&i.verified))||this.model.authFactors.filter((i=>i.method==="one-time")).length<8;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"Methods"},XNode.create(AtomRepeater,{for:"table",items:this.model.authFactors,itemRenderer:item=>this.renderAuthFactor(item)})),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}),XNode.create(AddIconTextButton,{"event-click":()=>this.generateOTP(),text:"Generate OTP"})),disable&&XNode.create("div",null,"You must add at least one authenticator and generate 8 OTPs (one time passwords) to enable Multi factor authentication."),!multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{disabled:disable,"style-color":disable?"gray":"","data-click-event":"enable-multi-factor",text:"Enable"}),XNode.create(DeleteIconTextButton,{"data-submit-event":"clear-all",text:"Clear All"})),multiFactor&&XNode.create("div",{"data-layout":"command-row"},XNode.create(DeleteIconTextButton,{text:"Disable"}))))}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}notSetup(){return __awaiter(this,void 0,void 0,(function*(){this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create("p",null,"You account is not secure, please setup multi factor authentication."),XNode.create(AddIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Add Authenticator"}))}))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];for(let index=0;index<8;index++){authList.push(UserAuthFactor.create({method:"one-time"}))}yield this.userService.save(this.model);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}text+="\r\n"+iterator.displaySecret}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these passwords somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, click go to previous screen."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.init(),text:"Go"}))))}))}clearAll(){return __awaiter(this,void 0,void 0,(function*(){const all=this.model.authFactors;if(!(all===null||all===void 0?void 0:all.length)){return}for(const iterator of all){iterator.$deleted=true}yield this.userService.save(this.model);yield this.init()}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],MultiFactorSetupPage.prototype,"userService",void 0);__decorate([Action({onEvent:"clear-all",confirm:"Are you sure you want to delete all existing methods?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"clearAll",null);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Authenticator setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MultiFactorSetupPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/MultiFactorSetupPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/websites/WebSiteService","@web-atoms/web-controls/dist/basic/Checkbox"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Form,FormField,PopupWindowPage,AppFile,WebSiteFolder,Bind,Action,InjectProperty,WebSiteService,Checkbox,WebSiteFolderEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFile=_modelModel.AppFile;WebSiteFolder=_modelModel.WebSiteFolder},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default}],execute:function(){_export("default",WebSiteFolderEditor=class WebSiteFolderEditor extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Create Website Folder";this.model=WebSiteFolder.create({folder:AppFile.create({name:"",isFolder:true,contentType:"application/site"}),isStatic:true});this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name"},XNode.create("input",{autofocus:true,value:Bind.twoWaysImmediate((()=>this.model.folder.name))})),XNode.create(FormField,{label:"Template"},XNode.create(Checkbox,{checked:Bind.twoWays((()=>this.model.isTemplate)),text:"Save this as a Template"})),XNode.create("div",null,"We recommend using the host name as folder name, e.g. akashkava.com"),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"save-web-site"},"Save"))))}))}saveWebSite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteFolderEditor.prototype,"websiteService",void 0);__decorate([Action({onEvent:"save-web-site",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteFolderEditor.prototype,"saveWebSite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/edit/WebSiteFolderEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../services/websites/WebSiteService","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","../edit/WebSiteFolderEditor","../../../../web/commands/AppCommands","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/Checkbox","../../../controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,AtomRepeater,ContentPage,WebSiteService,Action,PageNavigator,WebSiteFolderEditor,AppCommands,Bind,Checkbox,InfiniteRepeater,WebSiteListPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_editWebSiteFolderEditor){WebSiteFolderEditor=_editWebSiteFolderEditor.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",WebSiteListPage=class WebSiteListPage extends ContentPage{constructor(){super(...arguments);this.search="";this.showTemplate=false;this.sites=[]}init(){return __awaiter(this,void 0,void 0,(function*(){this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.showTemplate)),text:"Templates"}));this.renderer=XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.sites},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.websiteService.list({search:this.search,showTemplate:this.showTemplate,start,cancelToken}))),{itemRenderer:item=>XNode.create("div",null,item.isTemplate?XNode.create("i",{title:"This is a template",class:"fa-duotone fa-folder-grid"}):XNode.create("i",{class:"fa-duotone fa-folder"}),XNode.create("a",{"data-click-event":"route",href:AppCommands.editWebSite.displayRoute({id:item.folderID}),text:item.folder.name}),XNode.create("br",null),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:item.folderID})},XNode.create("i",{class:"fas fa-folder"})))})));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-click-event":"create-new-website"},"Create New Website"))}))}createNewWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(WebSiteFolderEditor);yield this.init()}))}});__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteListPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"create-new-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteListPage.prototype,"createNewWebsite",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/websites/list/WebSiteListPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,Store,Sql,StoreService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Store=_modelModel.Store},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Store).where({storeID},(p=>x=>x.storeID===p.storeID)).include((x=>[x.storeUsers.forEach((u=>u.user)),x.storeWebsites.forEach((w=>w.website.folder))])).firstOrDefault()}))}top(){return __awaiter(this,void 0,void 0,(function*(){const{items}=yield this.stores({size:3,cancelToken:null});return items}))}stores({search="",start=0,size=100,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Store);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.name,p.search)))}return q.orderByDescending((x=>x.storeID)).toPagedList({start,size,cancelToken})}))}save(store){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(store,(x=>x))}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreService.prototype,"entityService",void 0);StoreService=__decorate([DISingleton()],StoreService);_export("default",StoreService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreService");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,StoreItemPrice,StoreJournal,StoreJournalLineItem,Sql,DateTime,StoreOrderService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){StoreItemPrice=_modelModel.StoreItemPrice;StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){StoreOrderService=class StoreOrderService{get(orderID){return this.entityService.query(StoreJournal).where({orderID},(p=>x=>x.journalID===p.orderID)).include((x=>[x.lineItems.forEach((oi=>[oi.itemPrice.storeItem.store])),x.entries.forEach((e=>e.ledger)),x.buyer.items,x.seller.items])).firstOrDefault()}list({storeID=void 0,start=0,size=100,search="",cancelToken=void 0}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreJournal).where({storeID},(p=>x=>x.storeID===p.storeID));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.buyer.name,p.search)||x.lineItems.some((oi=>Sql.text.iLike(oi.itemPrice.storeItem.name,p.search)))))}return q.orderByDescending((x=>x.journalID)).toPagedList({start,size,cancelToken})}))}save(order){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(order,(c=>c.include((x=>x.entries)).include((x=>x.lineItems)).thenInclude((x=>x.relatedItems))));return order}))}updateTaxFolder(model,line,taxFolder){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!taxFolder){if(!line.relatedItems){return}for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}line.relatedItems.remove(iterator)}return}const{itemFolderID}=taxFolder;const date=(_a=model.dateCreated)!==null&&_a!==void 0?_a:DateTime.now;const taxItemPrices=yield this.entityService.query(StoreItemPrice).where({itemFolderID,date},(p=>x=>x.startDate<=p.date&&x.storeItem.itemFolderID===p.itemFolderID)).include((x=>x.storeItem)).toArray();const taxItems=taxItemPrices.map((x=>x.storeItem)).groupBy((x=>x.storeItemID)).map((x=>x[0]));const taxItemIDs=new Set(taxItems.map((x=>x.storeItemID)));(_b=line.relatedItems)!==null&&_b!==void 0?_b:line.relatedItems=[];for(const iterator of[...line.relatedItems]){if(iterator.itemType!=="tax"){continue}if(!taxItemIDs.has(iterator.itemID)){line.relatedItems.remove(iterator);iterator.source=null;iterator.journal=null;model.lineItems.remove(iterator)}}for(const iterator of taxItems){const{storeItemID:itemID}=iterator;let taxLine=line.relatedItems.find((x=>x.itemID===itemID));if(!taxLine){taxLine=StoreJournalLineItem.create({itemID,source:line});if(line.lineItemID){taxLine.sourceID=line.lineItemID}line.relatedItems.add(taxLine)}taxLine.itemID=itemID;taxLine.item=iterator;taxLine.itemType="tax";const taxItemPrice=taxItemPrices.find((x=>x.storeItemID===itemID));taxLine.itemPriceID=taxItemPrice.priceID;const amount=Number(line.amount)*Number(taxItemPrice.amount);taxLine.amount=amount}}))}deleteLineItem(model,line){return __awaiter(this,void 0,void 0,(function*(){}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreOrderService.prototype,"entityService",void 0);StoreOrderService=__decorate([DISingleton()],StoreOrderService);_export("default",StoreOrderService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreOrderService");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Bind","../../../services/EntityService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/ExpressionParser","../../../model/model","@web-atoms/core/dist/core/InjectProperty","../repeater/InfiniteRepeater","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,PageNavigator,Bind,EntityService,styled,AtomControl,ExpressionParser,modelEntitySchemas,InjectProperty,InfiniteRepeater,Action,ReferenceEditor;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreExpressionParser){ExpressionParser=_webAtomsCoreDistCoreExpressionParser.default},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_repeaterInfiniteRepeater){InfiniteRepeater=_repeaterInfiniteRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){styled.css`
|
|
4159
4159
|
|
|
4160
4160
|
position: relative;
|
|
4161
4161
|
overflow: visible !important;
|
|
@@ -4183,7 +4183,7 @@ display: grid;
|
|
|
4183
4183
|
overflow: visible;
|
|
4184
4184
|
}
|
|
4185
4185
|
|
|
4186
|
-
`.installGlobal("[data-collection-editor-ex]");hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true};_export("default",CollectionEditorEx=class CollectionEditorEx extends AtomControl{constructor(app,e=document.createElement("details")){super(app,e);this.label="";this.model=null;this.field=null;this.pageResultToItem=null;this.itemFactory=null;this.itemRenderer=null;this.inlineAdd=false;this.addPage=null;this.editPage=null;this.autoFocus=false;this.saveAfterAdd=true;this.layout="data-grid";this.footer=null;this.addItemDefaults=null;this.schema=null;this.items=[];this.fieldName=null;this.relation=null;this.element.setAttribute("data-collection-editor-ex","collection-editor-ex");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;var _b,_c;return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;if(this.model){(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]}const fx=()=>{var _a;var _b,_c;return(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]};const exp=`() => this.model`;fx.toString=()=>exp;this.renderer=XNode.create("details",{"data-border":"frame",open:true,items:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName))))},XNode.create("summary",{text:Bind.oneWay((()=>this.label))}),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.repeater=c)),"data-layout":this.layout,"event-delete-collection-item":ce=>this.deleteItem(ce.detail),items:Bind.oneWay((()=>this.items)),footer:Bind.oneWay((()=>{var _a;return this.inlineAdd?this.schema.create(Object.assign({},(_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})):void 0})),footerRenderer:newItem=>{var _a,_b;const node=this.itemRenderer(newItem);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create("button",{"event-click":()=>__awaiter(this,void 0,void 0,(function*(){var _c;yield this.addNewItemInList(newItem);this.repeater.footer=this.schema.create(Object.assign({},(_c=this.addItemDefaults)!==null&&_c!==void 0?_c:{}))})),text:"Add"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node},itemRenderer:item=>{var _a,_b;const node=this.itemRenderer(item);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node}}),this.footer?this.footer():!this.inlineAdd&&XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":()=>this.onAddItem(),text:"Add New"}))))}))}deleteItem(item){return __awaiter(this,void 0,void 0,(function*(){const{items,repeater}=this;if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}))}onAddItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{addPage,addItemDefaults,pageResultToItem,itemFactory}=this;let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}));newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=(_a=itemFactory===null||itemFactory===void 0?void 0:itemFactory())!==null&&_a!==void 0?_a:this.relation.relatedModel.create(Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}))}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}yield this.addNewItemInList(newItem)}))}addNewItemInList(newItem){return __awaiter(this,void 0,void 0,(function*(){const{repeater,model,schema}=this;if(hasKeys(model,schema)&&this.saveAfterAdd){const es=this.resolve(EntityService);const draft=Object.assign(Object.assign({},model),{[this.fieldName]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[this.fieldName]));yield es.save(clone.copy)}repeater.items.add(newItem)}))}});__decorate([Action({confirm:"Are you sure you want to delete this?",confirmTitle:"Confirm Delete"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"deleteItem",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"onAddItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Contact,DISingleton,ContactService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Contact=_modelModel.Contact},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){ContactService=class ContactService{get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Contact).where({id},(p=>x=>x.contactID===p.id)).include((x=>[x.addresses,x.items,x.emails,x.phones,x.domain])).firstOrDefault()}))}save(contact){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(contact,(c=>c.include((x=>x.addresses)).include((x=>x.items)).include((x=>x.emails)).include((x=>x.phones))))}))}};__decorate([Inject,__metadata("design:type",EntityService)],ContactService.prototype,"entityService",void 0);ContactService=__decorate([DISingleton()],ContactService);_export("default",ContactService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/contacts/ContactService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../controls/collection-editor/CollectionEditorEx","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/contacts/ContactService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Contact,ContactEmail,ContactPhone,HostedDomain,XNode,Form,FormField,Bind,ToggleButtonBar,Select,InjectProperty,EntityService,CollectionEditorEx,SaveIconTextButton,Action,ContactService,ContactEditorPage,contactTypes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Contact=_modelModel.Contact;ContactEmail=_modelModel.ContactEmail;ContactPhone=_modelModel.ContactPhone;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesContactsContactService){ContactService=_servicesContactsContactService.default}],execute:function(){contactTypes=[{label:"Company",value:"company"},{label:"Person",value:"person"}];_export("default",ContactEditorPage=class ContactEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.contactID)?yield this.contactService.get(this.parameters.contactID):Contact.create({type:"person",name:"",emails:[ContactEmail.create({emailAddressText:"",emailAddressID:null})],phones:[ContactPhone.create({phoneNumberE64:""})]});this.title=this.model.contactID?"Edit "+this.model.name:"Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name",required:true,error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(FormField,{label:"Type"},XNode.create(ToggleButtonBar,{items:contactTypes,labelPath:x=>x.label,valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Domain"},XNode.create(Select,{items:Bind.oneWay((()=>this.entityService.query(HostedDomain).include((x=>x.domain)).toArray())),labelPath:x=>x.domain.name,valuePath:x=>x.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(CollectionEditorEx,{label:"Phone",model:this.model,field:x=>x.phones,itemRenderer:item=>XNode.create("div",null,XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.phoneNumberE64))}))}),XNode.create(CollectionEditorEx,{label:"Email",model:this.model,field:x=>x.emails,itemRenderer:item=>XNode.create("div",null,item.emailAddress?XNode.create("div",{text:item.emailAddress.emailAddress}):XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.emailAddress))}))})),XNode.create("details",{open:true,"data-border":"frame"},XNode.create("summary",null,"Tax Numbers"),XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(FormField,{label:"GST ID (GSTIN)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.gstTaxID))})),XNode.create(FormField,{label:"Income TAX (PAN/TAX ID)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.incomeTaxID))})),XNode.create(FormField,{label:"Sales TAX ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salesTaxID))})))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-contact"}))))}))}saveContact(){return __awaiter(this,void 0,void 0,(function*(){yield this.contactService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ContactEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",ContactService)],ContactEditorPage.prototype,"contactService",void 0);__decorate([Action({onEvent:"save-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ContactEditorPage.prototype,"saveContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/contacts/ContactEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreOrderService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/Expander","../../../controls/reference-editor/ReferenceEditor","../../../Sql","../../contacts/ContactEditorPage","../../../controls/collection-editor/CollectionEditorEx","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/AtomRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreJournal,StoreJournalLineItem,InjectProperty,StoreOrderService,XNode,Form,Expander,ReferenceEditor,Sql,ContactEditorPage,CollectionEditorEx,Bind,AtomRepeater,EditOrderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_controlsReferenceEditorReferenceEditor){ReferenceEditor=_controlsReferenceEditorReferenceEditor.default},function(_Sql){Sql=_Sql.Sql},function(_contactsContactEditorPage){ContactEditorPage=_contactsContactEditorPage.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default}],execute:function(){_export("default",EditOrderPage=class EditOrderPage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const storeID=this.parameters.storeID;if(!storeID){alert("StoreID must be present.");this.cancel();return}this.model=this.parameters.journalID?yield this.storeOrderService.get(this.parameters.journalID):StoreJournal.create(Object.assign(Object.assign({},this.parameters),{journalType:"sales-invoice",storeID,buyer:null,seller:null,lineItems:[StoreJournalLineItem.create({item:null,itemPrice:null,quantity:1})]}));this.renderer=XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(Form,null,XNode.create(ReferenceEditor,{label:"Buyer",model:this.model,field:x=>x.buyer,editModelPage:ContactEditorPage,searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch)||x.emails.some((e=>Sql.text.iLike(e.emailAddress.emailAddress,p.likeSearch)))||x.phones.some((e=>e.phoneNumberE64===p.search)))):q).where((x=>x.type!=="domain")).include((x=>[x.items,x.domains,x.addresses])).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("label",{text:x.name}),XNode.create("label",{text:x.gstTaxID||x.incomeTaxID}))})),XNode.create(CollectionEditorEx,{label:"Items",model:this.model,field:x=>x.lineItems,addItemDefaults:{item:null,itemPrice:null,quantity:1},"event-item-deleted":ce=>this.onLineItemDeleted(ce.detail),itemRenderer:line=>XNode.create("div",{"data-layout":"row","data-align-items":"flex-start"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.item,addNewDefaults:{storeID},searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch))):q).where({storeID},(p=>x=>x.storeID===p.storeID)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.itemPrice,addNewDefaults:Bind.source(line,(x=>({storeItemID:x.source.itemID}))),"event-reference-updated":ce=>this.onItemPriceUpdated(line,ce.detail),searchQuery:(q,search)=>q.where({id:line.itemID},(p=>x=>x.storeItemID===p.id)),itemRenderer:x=>XNode.create("div",{text:`${x.currency} ${x.amount}`})}),XNode.create("input",{value:Bind.sourceTwoWays(line,(x=>x.source.quantity))}),XNode.create("input",{readOnly:true,value:Bind.source(line,(x=>x.source.amount))}),XNode.create("div",{"data-layout":"vertical-flex","style-padding":"0","style-overflow":"visible"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.taxFolder,"event-reference-updated":ce=>this.taxFolderUpdated(line,ce.detail),searchQuery:(q,search)=>search?q.where({search:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.search))):q,itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(AtomRepeater,{items:Bind.source(line,(x=>x.source.relatedItems)),itemRenderer:ri=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.source(ri,(x=>x.source.item?x.source.item.name:""))}),XNode.create("div",{text:Bind.source(ri,(x=>x.source.amount))}))})))}),XNode.create(Expander,{isExpanded:false,"data-border":"frame"},XNode.create("div",null,"Journal Entries"),XNode.create("table",null,XNode.create("tr",null,XNode.create("th",null,"Ledger"),XNode.create("th",null,"Debit"),XNode.create("th",null,"Credit"),XNode.create("th",{title:"Balance when entry was posted"},"Posted Balance")),...((_a=this.model.entries)!==null&&_a!==void 0?_a:[]).map((x=>XNode.create("tr",null,XNode.create("td",null,x.ledger.name),XNode.create("td",null,x.debit),XNode.create("td",null,x.credit),XNode.create("td",{title:"Balance when posted"},x.balance)))))))}))}onItemPriceUpdated(line,detail){line.amount=Number(detail.amount)}onLineItemDeleted(line){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.deleteLineItem(this.model,line)}))}taxFolderUpdated(line,taxFolder){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.updateTaxFolder(this.model,line,taxFolder)}))}});__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],EditOrderPage.prototype,"storeOrderService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/orders/EditOrderPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../commands/CommonCommands","../../controls/repeater/InfiniteRepeater","../../../services/store/StoreOrderService","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./orders/EditOrderPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,CommonCommands,InfiniteRepeater,StoreOrderService,AddIconTextButton,Action,PageNavigator,EditOrderPage,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ordersEditOrderPage){EditOrderPage=_ordersEditOrderPage.default}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editProductList.displayRoute({storeID:this.parameters.id}),text:"Products"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editConfig.displayRoute({storeID:this.parameters.id}),text:"Settings"}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",null,XNode.create("label",{text:item.journalID}),XNode.create("label",{text:item.journalType}),XNode.create("a",{text:(_a=item.buyer)===null||_a===void 0?void 0:_a.name,"data-click-event":"route"}))}}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditOrderPage,{storeID:this.parameters.id})}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/StoreDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime","../files/MimeTypeService","../../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Store,StoreItem,StoreMediaFile,Sql,DateTime,MimeTypeService,CloudFileService,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Store=_modelModel.Store;StoreItem=_modelModel.StoreItem;StoreMediaFile=_modelModel.StoreMediaFile},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_filesMimeTypeService){MimeTypeService=_filesMimeTypeService.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){StoreItemService=class StoreItemService{get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const items=yield this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id||x.variantForID===p.id||x.sizeForID===p.id)).include((x=>[x.store.folder,x.itemFolder,x.fileFolder,x.storeItemPrices.forEach((i=>i.addons.forEach((a=>a.addOnItem.storeItemPrices)))),x.mediaFiles,x.storeItemTags.forEach((t=>t.tag))])).toArray();const item=items.find((x=>x.storeItemID===id));if(!item.folderID){const store=yield this.entityService.query(Store).where({storeID:item.storeID},(p=>x=>x.storeID===p.storeID)).firstOrDefault();const{folderID:parentID}=store;const now=DateTime.now;const fileFolder=AppFile.create({parentID,name:`${item.name} (${item.storeItemID})`,isFolder:true,contentType:"folder",dateCreated:now,dateUpdated:now});yield this.entityService.save(fileFolder);item.folderID=fileFolder.appFileID;item.fileFolder=fileFolder;yield this.entityService.save(item,(c=>c))}(_a=item.storeItemTags)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.sortOrder-b.sortOrder));return item}))}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID&&x.sizeForID===null&&x.variantForID===null));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).include((x=>[x.itemFolder])).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(c=>c.include((x=>x.storeItemPrices)).thenInclude((x=>x.addons)).include((x=>x.storeItemTags)).thenInclude((x=>x.tag)).include((x=>x.mediaFiles))));return storeItem}))}getOrCreateMediaFile(model,name,template){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{folderID}=model;let file=yield this.entityService.query(AppFile).where({folderID,name},(p=>x=>x.parentID===p.folderID&&x.name===p.name)).firstOrDefault();if(!file){file=AppFile.create({parentID:folderID,isFolder:false,contentType:yield this.mimeTypeService.getMimeType(name),name});yield this.entityService.save(file);if(template){const{fileContentID,url}=yield this.cloudFileService.saveFile({appFileID:file.appFileID,content:new File([template()],name,{type:"text/html"})});file.url=url;file.fileContentID=fileContentID;file.downloadUrl=url}}let mediaFile=(_a=model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title===name));if(!mediaFile){mediaFile=StoreMediaFile.create({storeItemID:model.storeItemID,appFileID:file.appFileID,fileContentID:file.fileContentID,isPreview:false,title:name});yield this.entityService.save(mediaFile);((_b=model.mediaFiles)!==null&&_b!==void 0?_b:model.mediaFiles=[]).add(mediaFile)}else{if(mediaFile.fileContentID!==file.fileContentID){mediaFile.appFileID=file.appFileID;mediaFile.fileContentID=file.fileContentID;yield this.entityService.save(mediaFile,(c=>c))}}mediaFile.appFile=file;return mediaFile}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MimeTypeService)],StoreItemService.prototype,"mimeTypeService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],StoreItemService.prototype,"cloudFileService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,Tag,Sql,TagChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Tag=_modelModel.Tag},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",TagChips=class TagChips extends AtomChips{preCreate(){super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Tags";this.itemRenderer=x=>{var _a;return XNode.create(Chip,{draggable:true,deleted:x.$deleted,label:(_a=x.tag)===null||_a===void 0?void 0:_a.name})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:x.name});this.enterKeyHint="enter";this.itemToChip=(item,name)=>({$deleted:false,tag:Tag.create({name})});this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a,_b;return(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.tagID)!==null&&_b!==void 0?_b:x.tagID};this.bindEvent(this.element,"itemDropped",(()=>{this.items.forEach(((v,i)=>v.sortOrder=i))}))}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}let q=this.entityService.query(Tag);search=search.toLocaleLowerCase();q=q.where({search:search+"%"},(p=>x=>Sql.text.like(x.name,p.search)));const items=yield q.orderBy((x=>x.name)).toPagedList({cancelToken,hideActivityIndicator:true,size:10});return items.items.map((tag=>({tag})))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tags/TagChips");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","../NumberFormats","@web-atoms/core/dist/view-model/Action","../apiPath","../controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,styled,AtomControl,XNode,Bind,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,FilesDragDrop,InjectProperty,CloudFileService,toFileSize,Action,apiPath,DeleteIconTextButton,FolderViewControl,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsTreeFileTreeView){FolderTreeView=_controlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_apiPath){apiPath=_apiPath.apiPath},function(_controlsButtonsIconButton){DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton}],execute:function(){styled.css`
|
|
4186
|
+
`.installGlobal("[data-collection-editor-ex]");hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true};_export("default",CollectionEditorEx=class CollectionEditorEx extends AtomControl{constructor(app,e=document.createElement("details")){super(app,e);this.label="";this.model=null;this.field=null;this.pageResultToItem=null;this.itemFactory=null;this.itemRenderer=null;this.inlineAdd=false;this.addPage=null;this.editPage=null;this.autoFocus=false;this.saveAfterAdd=true;this.layout="data-grid";this.footer=null;this.addItemDefaults=null;this.schema=null;this.items=[];this.fieldName=null;this.relation=null;this.element.setAttribute("data-collection-editor-ex","collection-editor-ex");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;var _b,_c;return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;if(this.model){(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]}const fx=()=>{var _a;var _b,_c;return(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]};const exp=`() => this.model`;fx.toString=()=>exp;this.renderer=XNode.create("details",{"data-border":"frame",open:true,items:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName))))},XNode.create("summary",{text:Bind.oneWay((()=>this.label))}),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.repeater=c)),"data-layout":this.layout,"event-delete-collection-item":ce=>this.deleteItem(ce.detail),items:Bind.oneWay((()=>this.items)),footer:Bind.oneWay((()=>{var _a;return this.inlineAdd?this.schema.create(Object.assign({},(_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})):void 0})),footerRenderer:newItem=>{var _a,_b;const node=this.itemRenderer(newItem);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create("button",{"event-click":()=>__awaiter(this,void 0,void 0,(function*(){var _c;yield this.addNewItemInList(newItem);this.repeater.footer=this.schema.create(Object.assign({},(_c=this.addItemDefaults)!==null&&_c!==void 0?_c:{}))})),text:"Add"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node},itemRenderer:item=>{var _a,_b;const node=this.itemRenderer(item);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node}}),this.footer?this.footer():!this.inlineAdd&&XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":()=>this.onAddItem(),text:"Add New"}))))}))}deleteItem(item){return __awaiter(this,void 0,void 0,(function*(){const{items,repeater}=this;if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}))}onAddItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{addPage,addItemDefaults,pageResultToItem,itemFactory}=this;let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}));newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=(_a=itemFactory===null||itemFactory===void 0?void 0:itemFactory())!==null&&_a!==void 0?_a:this.relation.relatedModel.create(Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}))}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}yield this.addNewItemInList(newItem)}))}addNewItemInList(newItem){return __awaiter(this,void 0,void 0,(function*(){const{repeater,model,schema}=this;if(hasKeys(model,schema)&&this.saveAfterAdd){const es=this.resolve(EntityService);const draft=Object.assign(Object.assign({},model),{[this.fieldName]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[this.fieldName]));yield es.save(clone.copy)}repeater.items.add(newItem)}))}});__decorate([Action({confirm:"Are you sure you want to delete this?",confirmTitle:"Confirm Delete"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"deleteItem",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"onAddItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Contact,DISingleton,ContactService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Contact=_modelModel.Contact},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){ContactService=class ContactService{get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Contact).where({id},(p=>x=>x.contactID===p.id)).include((x=>[x.addresses,x.items,x.emails,x.phones,x.domain])).firstOrDefault()}))}save(contact){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(contact,(c=>c.include((x=>x.addresses)).include((x=>x.items)).include((x=>x.emails)).include((x=>x.phones))))}))}};__decorate([Inject,__metadata("design:type",EntityService)],ContactService.prototype,"entityService",void 0);ContactService=__decorate([DISingleton()],ContactService);_export("default",ContactService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/contacts/ContactService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../controls/collection-editor/CollectionEditorEx","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/contacts/ContactService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Contact,ContactEmail,ContactPhone,HostedDomain,XNode,Form,FormField,Bind,ToggleButtonBar,Select,InjectProperty,EntityService,CollectionEditorEx,SaveIconTextButton,Action,ContactService,ContactEditorPage,contactTypes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Contact=_modelModel.Contact;ContactEmail=_modelModel.ContactEmail;ContactPhone=_modelModel.ContactPhone;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesContactsContactService){ContactService=_servicesContactsContactService.default}],execute:function(){contactTypes=[{label:"Company",value:"company"},{label:"Person",value:"person"}];_export("default",ContactEditorPage=class ContactEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.contactID)?yield this.contactService.get(this.parameters.contactID):Contact.create({type:"person",name:"",emails:[ContactEmail.create({emailAddressText:"",emailAddressID:null})],phones:[ContactPhone.create({phoneNumberE64:""})]});this.title=this.model.contactID?"Edit "+this.model.name:"Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name",required:true,error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(FormField,{label:"Type"},XNode.create(ToggleButtonBar,{items:contactTypes,labelPath:x=>x.label,valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Domain"},XNode.create(Select,{items:Bind.oneWay((()=>this.entityService.query(HostedDomain).include((x=>x.domain)).toArray())),labelPath:x=>x.domain.name,valuePath:x=>x.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(CollectionEditorEx,{label:"Phone",model:this.model,field:x=>x.phones,itemRenderer:item=>XNode.create("div",null,XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.phoneNumberE64))}))}),XNode.create(CollectionEditorEx,{label:"Email",model:this.model,field:x=>x.emails,itemRenderer:item=>XNode.create("div",null,item.emailAddress?XNode.create("div",{text:item.emailAddress.emailAddress}):XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.emailAddress))}))})),XNode.create("details",{open:true,"data-border":"frame"},XNode.create("summary",null,"Tax Numbers"),XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(FormField,{label:"GST ID (GSTIN)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.gstTaxID))})),XNode.create(FormField,{label:"Income TAX (PAN/TAX ID)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.incomeTaxID))})),XNode.create(FormField,{label:"Sales TAX ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salesTaxID))})))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-contact"}))))}))}saveContact(){return __awaiter(this,void 0,void 0,(function*(){yield this.contactService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ContactEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",ContactService)],ContactEditorPage.prototype,"contactService",void 0);__decorate([Action({onEvent:"save-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ContactEditorPage.prototype,"saveContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/contacts/ContactEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreOrderService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/Expander","../../../controls/reference-editor/ReferenceEditor","../../../Sql","../../contacts/ContactEditorPage","../../../controls/collection-editor/CollectionEditorEx","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/AtomRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreJournal,StoreJournalLineItem,InjectProperty,StoreOrderService,XNode,Form,Expander,ReferenceEditor,Sql,ContactEditorPage,CollectionEditorEx,Bind,AtomRepeater,EditOrderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_controlsReferenceEditorReferenceEditor){ReferenceEditor=_controlsReferenceEditorReferenceEditor.default},function(_Sql){Sql=_Sql.Sql},function(_contactsContactEditorPage){ContactEditorPage=_contactsContactEditorPage.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default}],execute:function(){_export("default",EditOrderPage=class EditOrderPage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const storeID=this.parameters.storeID;if(!storeID){alert("StoreID must be present.");this.cancel();return}this.model=this.parameters.journalID?yield this.storeOrderService.get(this.parameters.journalID):StoreJournal.create(Object.assign(Object.assign({},this.parameters),{journalType:"sales-invoice",storeID,buyer:null,seller:null,lineItems:[StoreJournalLineItem.create({item:null,itemPrice:null,quantity:1})]}));this.renderer=XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(Form,null,XNode.create(ReferenceEditor,{label:"Buyer",model:this.model,field:x=>x.buyer,editModelPage:ContactEditorPage,searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch)||x.emails.some((e=>Sql.text.iLike(e.emailAddress.emailAddress,p.likeSearch)))||x.phones.some((e=>e.phoneNumberE64===p.search)))):q).where((x=>x.type!=="domain")).include((x=>[x.items,x.domains,x.addresses])).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("label",{text:x.name}),XNode.create("label",{text:x.gstTaxID||x.incomeTaxID}))})),XNode.create(CollectionEditorEx,{label:"Items",model:this.model,field:x=>x.lineItems,addItemDefaults:{item:null,itemPrice:null,quantity:1},"event-item-deleted":ce=>this.onLineItemDeleted(ce.detail),itemRenderer:line=>XNode.create("div",{"data-layout":"row","data-align-items":"flex-start"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.item,addNewDefaults:{storeID},searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch))):q).where({storeID},(p=>x=>x.storeID===p.storeID)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.itemPrice,addNewDefaults:Bind.source(line,(x=>({storeItemID:x.source.itemID}))),"event-reference-updated":ce=>this.onItemPriceUpdated(line,ce.detail),searchQuery:(q,search)=>q.where({id:line.itemID},(p=>x=>x.storeItemID===p.id)),itemRenderer:x=>XNode.create("div",{text:`${x.currency} ${x.amount}`})}),XNode.create("input",{value:Bind.sourceTwoWays(line,(x=>x.source.quantity))}),XNode.create("input",{readOnly:true,value:Bind.source(line,(x=>x.source.amount))}),XNode.create("div",{"data-layout":"vertical-flex","style-padding":"0","style-overflow":"visible"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.taxFolder,"event-reference-updated":ce=>this.taxFolderUpdated(line,ce.detail),searchQuery:(q,search)=>search?q.where({search:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.search))):q,itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(AtomRepeater,{items:Bind.source(line,(x=>x.source.relatedItems)),itemRenderer:ri=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.source(ri,(x=>x.source.item?x.source.item.name:""))}),XNode.create("div",{text:Bind.source(ri,(x=>x.source.amount))}))})))}),XNode.create(Expander,{isExpanded:false,"data-border":"frame"},XNode.create("div",null,"Journal Entries"),XNode.create("table",null,XNode.create("tr",null,XNode.create("th",null,"Ledger"),XNode.create("th",null,"Debit"),XNode.create("th",null,"Credit"),XNode.create("th",{title:"Balance when entry was posted"},"Posted Balance")),...((_a=this.model.entries)!==null&&_a!==void 0?_a:[]).map((x=>XNode.create("tr",null,XNode.create("td",null,x.ledger.name),XNode.create("td",null,x.debit),XNode.create("td",null,x.credit),XNode.create("td",{title:"Balance when posted"},x.balance)))))))}))}onItemPriceUpdated(line,detail){line.amount=Number(detail.amount)}onLineItemDeleted(line){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.deleteLineItem(this.model,line)}))}taxFolderUpdated(line,taxFolder){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.updateTaxFolder(this.model,line,taxFolder)}))}});__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],EditOrderPage.prototype,"storeOrderService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/orders/EditOrderPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../commands/CommonCommands","../../controls/repeater/InfiniteRepeater","../../../services/store/StoreOrderService","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./orders/EditOrderPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,CommonCommands,InfiniteRepeater,StoreOrderService,AddIconTextButton,Action,PageNavigator,EditOrderPage,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ordersEditOrderPage){EditOrderPage=_ordersEditOrderPage.default}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editProductList.displayRoute({storeID:this.parameters.id}),text:"Products"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editConfig.displayRoute({storeID:this.parameters.id}),text:"Settings"}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",null,XNode.create("label",{text:item.journalID}),XNode.create("label",{text:item.journalType}),XNode.create("a",{text:(_a=item.buyer)===null||_a===void 0?void 0:_a.name,"data-click-event":"route"}))}}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditOrderPage,{storeID:this.parameters.id})}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/StoreDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime","../files/MimeTypeService","../../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Store,StoreItem,StoreMediaFile,Sql,DateTime,MimeTypeService,CloudFileService,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Store=_modelModel.Store;StoreItem=_modelModel.StoreItem;StoreMediaFile=_modelModel.StoreMediaFile},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_filesMimeTypeService){MimeTypeService=_filesMimeTypeService.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){StoreItemService=class StoreItemService{get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const items=yield this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id||x.variantForID===p.id||x.sizeForID===p.id)).include((x=>[x.store.folder,x.itemFolder,x.fileFolder,x.storeItemPrices.forEach((i=>i.addons.forEach((a=>a.addOnItem.storeItemPrices)))),x.mediaFiles.forEach((m=>m.appFile)),x.storeItemTags.forEach((t=>t.tag))])).toArray();const item=items.find((x=>x.storeItemID===id));if(!item.folderID){const store=yield this.entityService.query(Store).where({storeID:item.storeID},(p=>x=>x.storeID===p.storeID)).firstOrDefault();const{folderID:parentID}=store;const now=DateTime.now;const fileFolder=AppFile.create({parentID,name:`${item.name} (${item.storeItemID})`,isFolder:true,contentType:"folder",dateCreated:now,dateUpdated:now});yield this.entityService.save(fileFolder);item.folderID=fileFolder.appFileID;item.fileFolder=fileFolder;yield this.entityService.save(item,(c=>c))}(_a=item.storeItemTags)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.sortOrder-b.sortOrder));return item}))}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID&&x.sizeForID===null&&x.variantForID===null));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).include((x=>[x.itemFolder])).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(c=>c.include((x=>x.storeItemPrices)).thenInclude((x=>x.addons)).include((x=>x.storeItemTags)).thenInclude((x=>x.tag)).include((x=>x.mediaFiles))));return storeItem}))}getOrCreateMediaFile(model,name,template){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{folderID}=model;let file=yield this.entityService.query(AppFile).where({folderID,name},(p=>x=>x.parentID===p.folderID&&x.name===p.name)).firstOrDefault();if(!file){file=AppFile.create({parentID:folderID,isFolder:false,contentType:yield this.mimeTypeService.getMimeType(name),name});yield this.entityService.save(file);if(template){const{fileContentID,url}=yield this.cloudFileService.saveFile({appFileID:file.appFileID,content:new File([template()],name,{type:"text/html"})});file.url=url;file.fileContentID=fileContentID;file.downloadUrl=url}}let mediaFile=(_a=model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title===name));if(!mediaFile){mediaFile=StoreMediaFile.create({storeItemID:model.storeItemID,appFileID:file.appFileID,fileContentID:file.fileContentID,isPreview:false,title:name});yield this.entityService.save(mediaFile);((_b=model.mediaFiles)!==null&&_b!==void 0?_b:model.mediaFiles=[]).add(mediaFile)}else{if(mediaFile.fileContentID!==file.fileContentID){mediaFile.appFileID=file.appFileID;mediaFile.fileContentID=file.fileContentID;yield this.entityService.save(mediaFile,(c=>c))}}mediaFile.appFile=file;return mediaFile}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MimeTypeService)],StoreItemService.prototype,"mimeTypeService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],StoreItemService.prototype,"cloudFileService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,Tag,Sql,TagChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Tag=_modelModel.Tag},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",TagChips=class TagChips extends AtomChips{preCreate(){super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Tags";this.itemRenderer=x=>{var _a;return XNode.create(Chip,{draggable:true,deleted:x.$deleted,label:(_a=x.tag)===null||_a===void 0?void 0:_a.name})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:x.name});this.enterKeyHint="enter";this.itemToChip=(item,name)=>({$deleted:false,tag:Tag.create({name})});this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a,_b;return(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.tagID)!==null&&_b!==void 0?_b:x.tagID};this.bindEvent(this.element,"itemDropped",(()=>{this.items.forEach(((v,i)=>v.sortOrder=i))}))}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}let q=this.entityService.query(Tag);search=search.toLocaleLowerCase();q=q.where({search:search+"%"},(p=>x=>Sql.text.like(x.name,p.search)));const items=yield q.orderBy((x=>x.name)).toPagedList({cancelToken,hideActivityIndicator:true,size:10});return items.items.map((tag=>({tag})))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tags/TagChips");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","../NumberFormats","@web-atoms/core/dist/view-model/Action","../apiPath","../controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,styled,AtomControl,XNode,Bind,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,FilesDragDrop,InjectProperty,CloudFileService,toFileSize,Action,apiPath,DeleteIconTextButton,FolderViewControl,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsTreeFileTreeView){FolderTreeView=_controlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_apiPath){apiPath=_apiPath.apiPath},function(_controlsButtonsIconButton){DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton}],execute:function(){styled.css`
|
|
4187
4187
|
|
|
4188
4188
|
display: grid;
|
|
4189
4189
|
grid-template-columns: 1fr 3fr;
|
|
@@ -4714,5 +4714,5 @@ html, body {
|
|
|
4714
4714
|
overflow: auto;
|
|
4715
4715
|
}
|
|
4716
4716
|
|
|
4717
|
-
`.installLocal();_export("default",AppDrawer=class AppDrawer extends Drawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.user=SocialMailApp.user;const{mailboxes,channels,drives,websites,stores}=yield this.getItems();this.renderer=XNode.create("div",null,XNode.create("div",{class:"header","data-padding":"large","data-font-size":"large","data-color":"white",text:SocialMailApp.config.name}),XNode.create("div",{class:"menus"},XNode.create(MenuItem,{icon:"fas fa-home",label:"Home",commandLink:AppCommands.openHome.displayRoute({})}),mailboxes.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-envelope",label:"Mailboxes",commandLink:null}),...mailboxes.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openMailbox.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress}))),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openMailboxList.displayRoute({})})),channels.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Channels",commandLink:null}),...channels.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openChannel.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress})))),drives.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Drives",commandLink:null}),...drives.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.openFiles.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openDrives.displayRoute({})})),websites.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Web Sites",commandLink:null}),...websites.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.editWebSite.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openWebSiteList.displayRoute({})})),stores.length&&XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-dollar",label:"Stores",commandLink:null}),...stores.map((s=>XNode.create(MenuItem,{label:s.name,commandLink:AppCommands.editStore.displayRoute({id:s.storeID})})))),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-money-check-pen",label:"Templates",commandLink:AppCommands.openTemplates.displayRoute({templates:true})}),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-envelopes-bulk",label:"All Mailboxes",commandLink:AppCommands.openMailboxList.displayRoute({})}),XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-gears",label:"Account Settings"}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Change Password",commandLink:CommonCommands.changePassword.displayRoute({})}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Multi Factor",commandLink:CommonCommands.setupMultiFactor.displayRoute({})}),XNode.create(MenuItem,{label:"Logout","data-click-event":"user-logout"}))))}))}getItems(){return __awaiter(this,void 0,void 0,(function*(){const ms=this.resolve(MailboxService);const fs=this.resolve(CloudFileService);const ss=this.resolve(StoreService);const[mailboxes,channels,drives,websites,stores]=yield Promise.all([ms.top(),ms.top({isChannel:true}),fs.top(),fs.top(true),ss.top()]);return{mailboxes,channels,drives,websites,stores}}))}userLogout(){return __awaiter(this,void 0,void 0,(function*(){const loginService=this.resolve(LoginService);yield loginService.logout()}))}onClick(none,e){var _a;(_a=this.selected)===null||_a===void 0?void 0:_a.removeAttribute("data-selected");let start=e.target;while(start!==e.currentTarget){if(start.getAttribute("data-layout")==="menu-item"){start.setAttribute("data-selected","true");this.selected=start;break}start=start.parentElement}}});__decorate([Action({onEvent:"user-logout"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AppDrawer.prototype,"userLogout",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,MouseEvent]),__metadata("design:returntype",void 0)],AppDrawer.prototype,"onClick",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/drawer/AppDrawer");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,ModuleInfo;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("ModuleInfo",ModuleInfo=typeof moduleInfo==="undefined"?[]:[XNode.create("div",{title:`${moduleInfo.server.package}@${moduleInfo.server.version}`},moduleInfo.server.version)," | ",XNode.create("div",{title:`${moduleInfo.ui.package}@${moduleInfo.ui.version}`},moduleInfo.ui.version)])}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","@web-atoms/core/dist/services/FetchBuilder","../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,LoginSession,FetchBuilder,apiPath,WebPushService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){LoginSession=_modelModel.LoginSession},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){WebPushService=class WebPushService{register(){return __awaiter(this,void 0,void 0,(function*(){try{if(!("serviceWorker"in navigator)){return}const r=yield navigator.serviceWorker.ready;let s=yield r.pushManager.getSubscription();if(!s){s=yield this.createRegistration(r);if(!s){return}}yield this.updateRegistration(s)}catch(error){console.error(error)}}))}createRegistration(r){return __awaiter(this,void 0,void 0,(function*(){const permission=yield Notification.requestPermission();if(permission!=="granted"){return}const{webPush:{publicKey}}=yield FetchBuilder.get(apiPath("/api/push/keys")).responseAsJson();const s=yield r.pushManager.subscribe({userVisibleOnly:true,applicationServerKey:publicKey});return s}))}updateRegistration(s){return __awaiter(this,void 0,void 0,(function*(){const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.deviceToken=JSON.stringify(s);session.deviceTokenType="WebPush";const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy)}))}};__decorate([Inject,__metadata("design:type",EntityService)],WebPushService.prototype,"entityService",void 0);WebPushService=__decorate([DITransient()],WebPushService);_export("default",WebPushService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/WebPushService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserAuthFactor,InjectProperty,UserService,XNode,SaveIconTextButton,FormField,Bind,Action,DateFormats,AppForm,SetupMultiFactorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",SetupMultiFactorPage=class SetupMultiFactorPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Please setup security";yield this.generateOTP()}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];let generated=false;const newAuth=[];while(authList.filter((x=>x.method==="one-time")).length<=8){const af=UserAuthFactor.create({method:"one-time"});authList.push(af);newAuth.push(af)}yield this.userService.saveAuthFactors(newAuth);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}generated=true;text+="\r\n"+iterator.displaySecret}if(!generated){yield this.addAuthenticator();return}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these one time codes somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, setup authenticator to finish."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Setup Authenticator"}))))}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.verify(this.authFactor);this.model.multiFactor=true;yield this.userService.save(this.model);location.reload()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],SetupMultiFactorPage.prototype,"userService",void 0);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Multi Factor Login is setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/core/dist/core/Route","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Command","./commands/AppCommands","../style/GlobalStyle","../services/LoginService","../common/pages/user/login/LoginPage","./drawer/AppDrawer","../services/files/LocalFileService","../common/controls/ModuleInfo","@web-atoms/core/dist/core/sleep","../services/WebPushService","../common/pages/user/multi-factor/SetupMultiFactorPage","../common/SocialMailApp","./page/users/SignupPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Pack,MobileDesktopApp,Route,PageNavigator,Command,AppCommands,LoginService,LoginPage,AppDrawer,LocalFileService,ModuleInfo,sleep,WebPushService,SetupMultiFactorPage,SocialMailApp,SignupPage,_a,_b,_c,_d,AppIndex;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_styleGlobalStyle){},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_commonPagesUserLoginLoginPage){LoginPage=_commonPagesUserLoginLoginPage.default},function(_drawerAppDrawer){AppDrawer=_drawerAppDrawer.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_commonControlsModuleInfo){ModuleInfo=_commonControlsModuleInfo.ModuleInfo},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_servicesWebPushService){WebPushService=_servicesWebPushService.default},function(_commonPagesUserMultiFactorSetupMultiFactorPage){SetupMultiFactorPage=_commonPagesUserMultiFactorSetupMultiFactorPage.default},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_pageUsersSignupPage){SignupPage=_pageUsersSignupPage.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");AppIndex=class AppIndex extends MobileDesktopApp{init(){return __awaiter(this,void 0,void 0,(function*(){AppCommands.install(this);this.resolve(LocalFileService);const currentUser=yield this.userService.getUser();if(!currentUser){if(SocialMailApp.config.externalLogin){location.href=SocialMailApp.config.externalLogin}if(/\/signup$/i.test(location.href)||/\/signup\//i.test(location.href)){PageNavigator.openPage(SignupPage);return}PageNavigator.openPage(LoginPage);return}this.drawerMenu=AppDrawer;while(!currentUser.multiFactor){yield PageNavigator.pushPageForResultOrCancel(SetupMultiFactorPage)}if(!Command.invokeRoute()){AppCommands.openHome.dispatch()}if(this.desktopApp){this.desktopApp.statusBarRenderer=()=>{var _a;return XNode.create("div",{"data-layout":"row"},((_a=currentUser.roles)===null||_a===void 0?void 0:_a.find((x=>/^admin/i.test(x.roleName))))&&XNode.create("a",{href:"/admin",target:"_blank"},"Admin"),XNode.create("div",{"data-flex":"stretch-full"}),...ModuleInfo)}}yield sleep(500);yield this.resolve(WebPushService).register()}))}};__decorate([InjectProperty,__metadata("design:type",LoginService)],AppIndex.prototype,"userService",void 0);AppIndex=__decorate([Pack],AppIndex);_export("default",AppIndex);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(/\d+\./.test(location.hostname)){return"#!"+url}return url}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/AppIndex");
|
|
4717
|
+
`.installLocal();_export("default",AppDrawer=class AppDrawer extends Drawer{init(){return __awaiter(this,void 0,void 0,(function*(){this.element.className=css;this.user=SocialMailApp.user;const{mailboxes,channels,drives,websites,stores}=yield this.getItems();this.renderer=XNode.create("div",null,XNode.create("div",{class:"header","data-padding":"large","data-font-size":"large","data-color":"white",text:SocialMailApp.config.name}),XNode.create("div",{class:"menus"},XNode.create(MenuItem,{icon:"fas fa-home",label:"Home",commandLink:AppCommands.openHome.displayRoute({})}),mailboxes.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-envelope",label:"Mailboxes",commandLink:null}),...mailboxes.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openMailbox.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress}))),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openMailboxList.displayRoute({})})),channels.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Channels",commandLink:null}),...channels.map((mb=>XNode.create(MenuItem,{commandLink:AppCommands.openChannel.displayRoute({id:mb.mailboxID}),label:mb.emailAddress.name,description:mb.emailAddress.emailAddress,title:mb.emailAddress.emailAddress})))),drives.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Drives",commandLink:null}),...drives.map((d=>{var _a;return XNode.create(MenuItem,{commandLink:AppCommands.openFiles.displayRoute({id:d.appFileID}),label:d.name,description:`${(_a=d.creator)===null||_a===void 0?void 0:_a.displayName} ${BigInt(d.fileSize)>BigInt(0)?"("+toFileSize(d.fileSize)+")":""}`})})),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openDrives.displayRoute({})})),websites.length&&XNode.create(ExpanderMenu,{isExpanded:true},XNode.create(MenuItem,{icon:"fas fa-hard-drive",label:"Web Sites",commandLink:null}),...websites.map((d=>XNode.create(MenuItem,{commandLink:AppCommands.editWebSite.displayRoute({id:d.folderID}),label:d.folder.name,description:toFileSize(d.folder.fileSize+d.snapshotStorage)}))),XNode.create(MenuItem,{label:"All",commandLink:AppCommands.openWebSiteList.displayRoute({})})),stores.length&&XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-dollar",label:"Stores",commandLink:null}),...stores.map((s=>XNode.create(MenuItem,{label:s.name,commandLink:AppCommands.editStore.displayRoute({id:s.storeID})})))),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-money-check-pen",label:"Templates",commandLink:AppCommands.openTemplates.displayRoute({templates:true})}),mailboxes.length&&XNode.create(MenuItem,{icon:"fas fa-envelopes-bulk",label:"All Mailboxes",commandLink:AppCommands.openMailboxList.displayRoute({})}),XNode.create(ExpanderMenu,{isExpanded:false},XNode.create(MenuItem,{icon:"fas fa-gears",label:"Account Settings"}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Change Password",commandLink:CommonCommands.changePassword.displayRoute({})}),!SocialMailApp.config.externalLogin&&XNode.create(MenuItem,{label:"Multi Factor",commandLink:CommonCommands.setupMultiFactor.displayRoute({})}),XNode.create(MenuItem,{label:"Logout","data-click-event":"user-logout"}))))}))}getItems(){return __awaiter(this,void 0,void 0,(function*(){const ms=this.resolve(MailboxService);const fs=this.resolve(CloudFileService);const ss=this.resolve(StoreService);const[mailboxes,channels,drives,websites,stores]=yield Promise.all([ms.top(),ms.top({isChannel:true}),fs.top(),fs.topSites(),ss.top()]);return{mailboxes,channels,drives,websites,stores}}))}userLogout(){return __awaiter(this,void 0,void 0,(function*(){const loginService=this.resolve(LoginService);yield loginService.logout()}))}onClick(none,e){var _a;(_a=this.selected)===null||_a===void 0?void 0:_a.removeAttribute("data-selected");let start=e.target;while(start!==e.currentTarget){if(start.getAttribute("data-layout")==="menu-item"){start.setAttribute("data-selected","true");this.selected=start;break}start=start.parentElement}}});__decorate([Action({onEvent:"user-logout"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AppDrawer.prototype,"userLogout",null);__decorate([Action({onEvent:"click"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object,MouseEvent]),__metadata("design:returntype",void 0)],AppDrawer.prototype,"onClick",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/drawer/AppDrawer");System.register(["@web-atoms/core/dist/core/XNode"],(function(_export,_context){"use strict";var XNode,ModuleInfo;return{setters:[function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default}],execute:function(){_export("ModuleInfo",ModuleInfo=typeof moduleInfo==="undefined"?[]:[XNode.create("div",{title:`${moduleInfo.server.package}@${moduleInfo.server.version}`},moduleInfo.server.version)," | ",XNode.create("div",{title:`${moduleInfo.ui.package}@${moduleInfo.ui.version}`},moduleInfo.ui.version)])}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/ModuleInfo");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","./EntityService","../model/model","@web-atoms/core/dist/services/FetchBuilder","../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,LoginSession,FetchBuilder,apiPath,WebPushService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){LoginSession=_modelModel.LoginSession},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){WebPushService=class WebPushService{register(){return __awaiter(this,void 0,void 0,(function*(){try{if(!("serviceWorker"in navigator)){return}const r=yield navigator.serviceWorker.ready;let s=yield r.pushManager.getSubscription();if(!s){s=yield this.createRegistration(r);if(!s){return}}yield this.updateRegistration(s)}catch(error){console.error(error)}}))}createRegistration(r){return __awaiter(this,void 0,void 0,(function*(){const permission=yield Notification.requestPermission();if(permission!=="granted"){return}const{webPush:{publicKey}}=yield FetchBuilder.get(apiPath("/api/push/keys")).responseAsJson();const s=yield r.pushManager.subscribe({userVisibleOnly:true,applicationServerKey:publicKey});return s}))}updateRegistration(s){return __awaiter(this,void 0,void 0,(function*(){const session=yield this.entityService.query(LoginSession,"currentUser").firstOrDefault();session.deviceToken=JSON.stringify(s);session.deviceTokenType="WebPush";const cloner=this.entityService.cloner(session);yield this.entityService.save(cloner.copy)}))}};__decorate([Inject,__metadata("design:type",EntityService)],WebPushService.prototype,"entityService",void 0);WebPushService=__decorate([DITransient()],WebPushService);_export("default",WebPushService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/WebPushService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../services/UserService","@web-atoms/core/dist/core/XNode","../../../controls/buttons/IconButton","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/view-model/Action","../../../date/DateFormats","../../../form/AppForm"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserAuthFactor,InjectProperty,UserService,XNode,SaveIconTextButton,FormField,Bind,Action,DateFormats,AppForm,SetupMultiFactorPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesUserService){UserService=_servicesUserService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_dateDateFormats){DateFormats=_dateDateFormats.DateFormats},function(_formAppForm){AppForm=_formAppForm.default}],execute:function(){_export("default",SetupMultiFactorPage=class SetupMultiFactorPage extends PopupWindowPage{init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.getCurrent();const{multiFactor}=this.model;this.title="Please setup security";yield this.generateOTP()}))}renderAuthFactor(item){if(item.method==="totp"){return XNode.create("tr",null,XNode.create("td",null,"Authenticator"),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}if(item.method==="one-time"){return XNode.create("tr",null,XNode.create("td",null,"OTP"),XNode.create("td",null,item.hint,"*****************"),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}return XNode.create("tr",null,XNode.create("td",null,item.method),XNode.create("td",null,item.hint),XNode.create("td",null,DateFormats.relative.short(item.dateUpdated)),XNode.create("td",null,XNode.create("i",{class:"fas fa-check green"})))}addAuthenticator(){return __awaiter(this,void 0,void 0,(function*(){const authFactor=yield this.userService.createAuthFactor(this.model);this.authFactor=authFactor;this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:""},XNode.create("div",null,"Scan following QR Code in any compatible Authenticator App. Enter the generated code and hit the verify button.")),XNode.create(FormField,{label:"Secret"},XNode.create("img",{src:authFactor.qrCodeDataUrl})),XNode.create(FormField,{label:"Code",required:true,error:Bind.oneWay((()=>this.authFactor.token?"":"Code is required"))},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.authFactor.token))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-auth-factor",text:"Verify"}))))}))}generateOTP(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){const authList=(_a=(_b=this.model).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[];let generated=false;const newAuth=[];while(authList.filter((x=>x.method==="one-time")).length<=8){const af=UserAuthFactor.create({method:"one-time"});authList.push(af);newAuth.push(af)}yield this.userService.saveAuthFactors(newAuth);let text="";for(const iterator of authList){if(!(iterator===null||iterator===void 0?void 0:iterator.displaySecret)){continue}generated=true;text+="\r\n"+iterator.displaySecret}if(!generated){yield this.addAuthenticator();return}text+="\r\n";this.renderer=XNode.create("div",{"data-layout":"center-page-900px"},XNode.create(AppForm,null,XNode.create(FormField,{label:"One Time Passwords"},XNode.create("div",null,"Please copy and save these one time codes somewhere safe. You can use them if you cannot access Authenticator app.")),XNode.create(FormField,{label:""},XNode.create("textarea",{rows:12,value:text})),XNode.create("div",null,"After copying, setup authenticator to finish."),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.addAuthenticator(),text:"Setup Authenticator"}))))}))}enableMultiFactor(){return __awaiter(this,void 0,void 0,(function*(){this.model.multiFactor=true;yield this.userService.save(this.model);yield this.init()}))}saveAuthFactor(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.verify(this.authFactor);this.model.multiFactor=true;yield this.userService.save(this.model);location.reload()}))}});__decorate([InjectProperty,__metadata("design:type",UserService)],SetupMultiFactorPage.prototype,"userService",void 0);__decorate([Action({onEvent:"enable-multi-factor",success:"Multi factor authentication enabled successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"enableMultiFactor",null);__decorate([Action({onEvent:"save-auth-factor",success:"Multi Factor Login is setup successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],SetupMultiFactorPage.prototype,"saveAuthFactor",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/user/multi-factor/SetupMultiFactorPage");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/core/dist/core/Route","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/core/dist/core/Command","./commands/AppCommands","../style/GlobalStyle","../services/LoginService","../common/pages/user/login/LoginPage","./drawer/AppDrawer","../services/files/LocalFileService","../common/controls/ModuleInfo","@web-atoms/core/dist/core/sleep","../services/WebPushService","../common/pages/user/multi-factor/SetupMultiFactorPage","../common/SocialMailApp","./page/users/SignupPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Pack,MobileDesktopApp,Route,PageNavigator,Command,AppCommands,LoginService,LoginPage,AppDrawer,LocalFileService,ModuleInfo,sleep,WebPushService,SetupMultiFactorPage,SocialMailApp,SignupPage,_a,_b,_c,_d,AppIndex;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistPack){Pack=_webAtomsCoreDistPack.default},function(_webAtomsWebControlsDistDesktopAppMobileDesktopApp){MobileDesktopApp=_webAtomsWebControlsDistDesktopAppMobileDesktopApp.default},function(_webAtomsCoreDistCoreRoute){Route=_webAtomsCoreDistCoreRoute.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsCoreDistCoreCommand){Command=_webAtomsCoreDistCoreCommand.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_styleGlobalStyle){},function(_servicesLoginService){LoginService=_servicesLoginService.default},function(_commonPagesUserLoginLoginPage){LoginPage=_commonPagesUserLoginLoginPage.default},function(_drawerAppDrawer){AppDrawer=_drawerAppDrawer.default},function(_servicesFilesLocalFileService){LocalFileService=_servicesFilesLocalFileService.default},function(_commonControlsModuleInfo){ModuleInfo=_commonControlsModuleInfo.ModuleInfo},function(_webAtomsCoreDistCoreSleep){sleep=_webAtomsCoreDistCoreSleep.default},function(_servicesWebPushService){WebPushService=_servicesWebPushService.default},function(_commonPagesUserMultiFactorSetupMultiFactorPage){SetupMultiFactorPage=_commonPagesUserMultiFactorSetupMultiFactorPage.default},function(_commonSocialMailApp){SocialMailApp=_commonSocialMailApp.default},function(_pageUsersSignupPage){SignupPage=_pageUsersSignupPage.default}],execute:function(){(_a=(_c=Symbol).asyncDispose)!==null&&_a!==void 0?_a:_c.asyncDispose=Symbol("asyncDispose");(_b=(_d=Symbol).dispose)!==null&&_b!==void 0?_b:_d.dispose=Symbol("dispose");AppIndex=class AppIndex extends MobileDesktopApp{init(){return __awaiter(this,void 0,void 0,(function*(){AppCommands.install(this);this.resolve(LocalFileService);const currentUser=yield this.userService.getUser();if(!currentUser){if(SocialMailApp.config.externalLogin){location.href=SocialMailApp.config.externalLogin}if(/\/signup$/i.test(location.href)||/\/signup\//i.test(location.href)){PageNavigator.openPage(SignupPage);return}PageNavigator.openPage(LoginPage);return}this.drawerMenu=AppDrawer;while(!currentUser.multiFactor){yield PageNavigator.pushPageForResultOrCancel(SetupMultiFactorPage)}if(!Command.invokeRoute()){AppCommands.openHome.dispatch()}if(this.desktopApp){this.desktopApp.statusBarRenderer=()=>{var _a;return XNode.create("div",{"data-layout":"row"},((_a=currentUser.roles)===null||_a===void 0?void 0:_a.find((x=>/^admin/i.test(x.roleName))))&&XNode.create("a",{href:"/admin",target:"_blank"},"Admin"),XNode.create("div",{"data-flex":"stretch-full"}),...ModuleInfo)}}yield sleep(500);yield this.resolve(WebPushService).register()}))}};__decorate([InjectProperty,__metadata("design:type",LoginService)],AppIndex.prototype,"userService",void 0);AppIndex=__decorate([Pack],AppIndex);_export("default",AppIndex);Route.encodeUrl=url=>{if(url.startsWith("#")){return url}if(/\d+\./.test(location.hostname)){return"#!"+url}return url}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/AppIndex");
|
|
4718
4718
|
//# sourceMappingURL=AppIndex.pack.min.js.map
|