@social-mail/social-mail-client 1.2.710 → 1.2.712

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.
Files changed (31) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +50 -17
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +19 -2
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/MenuService.d.ts +18 -6
  6. package/dist/common/MenuService.d.ts.map +1 -1
  7. package/dist/common/MenuService.js +49 -16
  8. package/dist/common/MenuService.js.map +1 -1
  9. package/dist/site-editor-app/SiteEditorApp.pack.js +56 -19
  10. package/dist/site-editor-app/SiteEditorApp.pack.js.map +1 -1
  11. package/dist/site-editor-app/SiteEditorApp.pack.min.js +21 -4
  12. package/dist/site-editor-app/SiteEditorApp.pack.min.js.map +1 -1
  13. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.d.ts +1 -0
  14. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.d.ts.map +1 -1
  15. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.js +6 -2
  16. package/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage.js.map +1 -1
  17. package/dist/tsconfig.tsbuildinfo +1 -1
  18. package/dist/web/AppIndex.pack.js +51 -17
  19. package/dist/web/AppIndex.pack.js.map +1 -1
  20. package/dist/web/AppIndex.pack.min.js +20 -3
  21. package/dist/web/AppIndex.pack.min.js.map +1 -1
  22. package/dist/web/drawer/AppDrawer.d.ts.map +1 -1
  23. package/dist/web/drawer/AppDrawer.js +1 -0
  24. package/dist/web/drawer/AppDrawer.js.map +1 -1
  25. package/dist/web/page/mails/MailboxContacts.js +1 -1
  26. package/dist/web/page/mails/MailboxContacts.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/common/{MenuService.ts → MenuService.tsx} +53 -15
  29. package/src/site-editor-app/pages/websites/studio/WebSiteStudioPage.tsx +5 -0
  30. package/src/web/drawer/AppDrawer.tsx +10 -7
  31. package/src/web/page/mails/MailboxContacts.tsx +1 -1
@@ -2207,7 +2207,24 @@ html, body {
2207
2207
  }
2208
2208
  }
2209
2209
 
2210
- `.installGlobal("[data-resizable=resizable]");pointerDown=e=>{const target=e.currentTarget;const direction=target.getAttribute("data-direction");const previous=target.parentElement;const disposables=new AtomDisposableList;const{x,y}=e;const width=previous.clientWidth;const control=AtomControl.from(target);target.setPointerCapture(e.pointerId);target.setAttribute("data-resizing","1");disposables.add((()=>{target.removeAttribute("data-resizing");target.releasePointerCapture(e.pointerId)}));disposables.add(control.bindEvent(target,"pointermove",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px"})));disposables.add(control.bindEvent(target,"pointerup",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px";disposables.dispose()})))}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Resizable");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/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxContact,XNode,Form,FormField,Bind,Action,InjectProperty,MailboxService,DateTime,AddMiniContactPage,errorForInvalidEmail;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){errorForInvalidEmail=e=>{if(!e){return"Email address is required"}if(/[\s\:\/\\\#\$\%\^]/i.test(e.trim())){return"Email address cannot contain space or special characters."}if(!/\@/i.test(e)){return"Invalid email address"}return""};_export("default",AddMiniContactPage=class AddMiniContactPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({name:"",emailAddressText:""})}init(){return __awaiter(this,void 0,void 0,(function*(){this.model.mailboxID=this.parameters.mailboxID;this.title="Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Valid Email Address",required:true,error:Bind.oneWay((()=>errorForInvalidEmail(this.model.emailAddressText)))},XNode.create("input",{autofocus:true,placeholder:"... someone@socialmail.in ",value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"add-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-save"}),"Add"))))}))}addContact(){return __awaiter(this,void 0,void 0,(function*(){const now=DateTime.now;this.model.dateCreated=now;this.model.dateUpdated=now;return yield this.mailboxService.saveContact(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],AddMiniContactPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddMiniContactPage.prototype,"addContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage");System.register([],(function(_export,_context){"use strict";var toSentenceCase;return{setters:[],execute:function(){_export("toSentenceCase",toSentenceCase=x=>x.charAt(0).toLocaleUpperCase()+x.substring(1))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/StringFormat");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../model/model","../services/EntityService","./pages/mailboxes/services/MailboxService","./pages/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,modelEntitySchemas,EntityService,MailboxService,CloudFileService,MenuService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_pagesMailboxesServicesMailboxService){MailboxService=_pagesMailboxesServicesMailboxService.default},function(_pagesFilesServiceCloudFileService){CloudFileService=_pagesFilesServiceCloudFileService.default}],execute:function(){MenuService=class MenuService{constructor(){this.websites=[];this.mailboxes=[];this.channels=[];this.drives=[];setTimeout((()=>this.load().catch(console.error)),1)}load(){return __awaiter(this,void 0,void 0,(function*(){const{mailboxService:ms,cloudFileService:fs}=this;const[mailboxes,channels,drives,websites]=yield Promise.all([ms.top(),ms.top({isChannel:true}),fs.top(),fs.topSites()]);this.mailboxes.addAll(mailboxes);this.channels.addAll(channels);this.drives.addAll(drives);this.websites.addAll(websites)}))}addMailbox(arg,mb){this.add(arg,this.mailboxes,mb)}addWebSite(arg,mb){this.add(arg,this.websites,mb)}addDrives(arg,mb){this.add(arg,this.drives,mb)}addChannel(arg,mb){this.add(arg,this.mailboxes,mb)}add(arg,list,item){const model=modelEntitySchemas[item.$type];const{keys}=model.schema;if(list.some((m=>keys.every((k=>m[k.name]===item[k.name]))))){return}list.insert(0,item);arg.registerDisposable({dispose:()=>{list.remove(item)}})}};__decorate([Inject,__metadata("design:type",EntityService)],MenuService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MailboxService)],MenuService.prototype,"mailboxService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],MenuService.prototype,"cloudFileService",void 0);MenuService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],MenuService);_export("default",MenuService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/MenuService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/view-model/Action","./ConversationPage","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","@web-atoms/core/dist/style/styled","../../../services/socket/sockets","./ChooseMailboxPage","../../../common/pages/folders/ChooseTemplatePage","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/Resizable","../../../common/events/CommonEvents","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/ToggleButtonBar","./contact/AddMiniContactPage","@web-atoms/core/dist/web/services/PopupService","../../../common/pages/mailboxes/services/MailboxService","../../../common/NumberFormats","../../commands/MailAppEvents","../../../services/EntityService","../../../common/StringFormat","../../../common/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,Mailbox,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,ChooseMailboxPage,ChooserTemplatePage,isMobileView,Resizable,CommonEvents,Checkbox,ToggleButtonBar,AddMiniContactPage,PopupService,MailboxService,toKMBString,MailAppEvents,EntityService,toSentenceCase,MenuService,MailsPage,css,displayName,types,conversationTypes,getConversationNumber;_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(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ConversationPage){ConversationPage=_ConversationPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsWebControlsDistBasicResizable){Resizable=_webAtomsWebControlsDistBasicResizable.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_contactAddMiniContactPage){AddMiniContactPage=_contactAddMiniContactPage.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonStringFormat){toSentenceCase=_commonStringFormat.toSentenceCase},function(_commonMenuService){MenuService=_commonMenuService.default}],execute:function(){css=styled.css`
2210
+ `.installGlobal("[data-resizable=resizable]");pointerDown=e=>{const target=e.currentTarget;const direction=target.getAttribute("data-direction");const previous=target.parentElement;const disposables=new AtomDisposableList;const{x,y}=e;const width=previous.clientWidth;const control=AtomControl.from(target);target.setPointerCapture(e.pointerId);target.setAttribute("data-resizing","1");disposables.add((()=>{target.removeAttribute("data-resizing");target.releasePointerCapture(e.pointerId)}));disposables.add(control.bindEvent(target,"pointermove",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px"})));disposables.add(control.bindEvent(target,"pointerup",(ep=>{const diff=ep.x-x;previous.style.width=width+diff+"px";disposables.dispose()})))}}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/Resizable");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/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,MailboxContact,XNode,Form,FormField,Bind,Action,InjectProperty,MailboxService,DateTime,AddMiniContactPage,errorForInvalidEmail;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){MailboxContact=_modelModel.MailboxContact},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){errorForInvalidEmail=e=>{if(!e){return"Email address is required"}if(/[\s\:\/\\\#\$\%\^]/i.test(e.trim())){return"Email address cannot contain space or special characters."}if(!/\@/i.test(e)){return"Invalid email address"}return""};_export("default",AddMiniContactPage=class AddMiniContactPage extends PopupWindowPage{constructor(){super(...arguments);this.model=MailboxContact.create({name:"",emailAddressText:""})}init(){return __awaiter(this,void 0,void 0,(function*(){this.model.mailboxID=this.parameters.mailboxID;this.title="Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Valid Email Address",required:true,error:Bind.oneWay((()=>errorForInvalidEmail(this.model.emailAddressText)))},XNode.create("input",{autofocus:true,placeholder:"... someone@socialmail.in ",value:Bind.twoWaysImmediate((()=>this.model.emailAddressText))})),XNode.create(FormField,{label:"Name"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name))})),XNode.create("div",{"data-layout":"command-row"},XNode.create("button",{"data-submit-event":"add-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-save"}),"Add"))))}))}addContact(){return __awaiter(this,void 0,void 0,(function*(){const now=DateTime.now;this.model.dateCreated=now;this.model.dateUpdated=now;return yield this.mailboxService.saveContact(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],AddMiniContactPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"add-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],AddMiniContactPage.prototype,"addContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/contact/AddMiniContactPage");System.register([],(function(_export,_context){"use strict";var toSentenceCase;return{setters:[],execute:function(){_export("toSentenceCase",toSentenceCase=x=>x.charAt(0).toLocaleUpperCase()+x.substring(1))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/StringFormat");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../model/model","../services/EntityService","./pages/mailboxes/services/MailboxService","./pages/files/service/CloudFileService","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,__rest,DISingleton,Inject,modelEntitySchemas,EntityService,MailboxService,CloudFileService,XNode,styled,canMenuBeClosed,MenuService;function RemovableItem(_a,...nodes){var{removable=false}=_a,a=__rest(_a,["removable"]);if(!removable){return nodes[0]}return XNode.create("removable-menu",null,...nodes,XNode.create("i",{class:"fas fa-times-circle"}))}_export("RemovableItem",RemovableItem);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata;__rest=_tslib.__rest},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_modelModel){modelEntitySchemas=_modelModel.modelEntitySchemas},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_pagesMailboxesServicesMailboxService){MailboxService=_pagesMailboxesServicesMailboxService.default},function(_pagesFilesServiceCloudFileService){CloudFileService=_pagesFilesServiceCloudFileService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){_export("canMenuBeClosed",canMenuBeClosed=Symbol("canBeClosed"));styled.css`
2211
+
2212
+ display: flex;
2213
+ align-items: center;
2214
+ position: relative;
2215
+
2216
+ padding-right: 30px;
2217
+
2218
+ & > i {
2219
+ grid-column: 2;
2220
+ color: red;
2221
+ cursor: pointer;
2222
+ position: absolute;
2223
+ right: 5px;
2224
+ top: 5px;
2225
+ }
2226
+
2227
+ `.installGlobal("removable-menu");MenuService=class MenuService{constructor(){this.websites=[];this.mailboxes=[];this.channels=[];this.drives=[];setTimeout((()=>this.load().catch(console.error)),1)}load(){return __awaiter(this,void 0,void 0,(function*(){const{mailboxService:ms,cloudFileService:fs}=this;const[mailboxes,channels,drives,websites]=yield Promise.all([ms.top(),ms.top({isChannel:true}),fs.top(),fs.topSites()]);this.mailboxes.addAll(mailboxes);this.channels.addAll(channels);this.drives.addAll(drives);this.websites.addAll(websites)}))}addMailbox(mb){this.add(this.mailboxes,mb)}addWebSite(mb){this.add(this.websites,mb)}addDrives(mb){this.add(this.drives,mb)}addChannel(mb){this.add(this.mailboxes,mb)}add(list,item){const model=modelEntitySchemas[item.$type];const{keys}=model.schema;if(list.some((m=>keys.every((k=>m[k.name]===item[k.name]))))){return}item[canMenuBeClosed]=true;list.insert(0,item)}};__decorate([Inject,__metadata("design:type",EntityService)],MenuService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MailboxService)],MenuService.prototype,"mailboxService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],MenuService.prototype,"cloudFileService",void 0);MenuService=__decorate([DISingleton(),__metadata("design:paramtypes",[])],MenuService);_export("default",MenuService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/MenuService");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","./service/MailService","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@web-atoms/core/dist/view-model/Action","./ConversationPage","@web-atoms/web-controls/dist/PageNavigator","./ComposeMailPage","@web-atoms/core/dist/style/styled","../../../services/socket/sockets","./ChooseMailboxPage","../../../common/pages/folders/ChooseTemplatePage","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/web-controls/dist/basic/Resizable","../../../common/events/CommonEvents","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/ToggleButtonBar","./contact/AddMiniContactPage","@web-atoms/core/dist/web/services/PopupService","../../../common/pages/mailboxes/services/MailboxService","../../../common/NumberFormats","../../commands/MailAppEvents","../../../services/EntityService","../../../common/StringFormat","../../../common/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,MailService,AtomRepeater,Mailbox,InfiniteRepeater,Bind,MasterDetailPage,Action,ConversationPage,PageNavigator,ComposeMailPage,styled,MailboxSocket,ChooseMailboxPage,ChooserTemplatePage,isMobileView,Resizable,CommonEvents,Checkbox,ToggleButtonBar,AddMiniContactPage,PopupService,MailboxService,toKMBString,MailAppEvents,EntityService,toSentenceCase,MenuService,MailsPage,css,displayName,types,conversationTypes,getConversationNumber;_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(_serviceMailService){MailService=_serviceMailService.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){Mailbox=_modelModel.Mailbox},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_ConversationPage){ConversationPage=_ConversationPage.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ComposeMailPage){ComposeMailPage=_ComposeMailPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_servicesSocketSockets){MailboxSocket=_servicesSocketSockets.MailboxSocket},function(_ChooseMailboxPage){ChooseMailboxPage=_ChooseMailboxPage.default},function(_commonPagesFoldersChooseTemplatePage){ChooserTemplatePage=_commonPagesFoldersChooseTemplatePage.default},function(_webAtomsWebControlsDistMobileAppMobileApp){isMobileView=_webAtomsWebControlsDistMobileAppMobileApp.isMobileView},function(_webAtomsWebControlsDistBasicResizable){Resizable=_webAtomsWebControlsDistBasicResizable.default},function(_commonEventsCommonEvents){CommonEvents=_commonEventsCommonEvents.CommonEvents},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_contactAddMiniContactPage){AddMiniContactPage=_contactAddMiniContactPage.default},function(_webAtomsCoreDistWebServicesPopupService){PopupService=_webAtomsCoreDistWebServicesPopupService.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_commonNumberFormats){toKMBString=_commonNumberFormats.toKMBString},function(_commandsMailAppEvents){MailAppEvents=_commandsMailAppEvents.MailAppEvents},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_commonStringFormat){toSentenceCase=_commonStringFormat.toSentenceCase},function(_commonMenuService){MenuService=_commonMenuService.default}],execute:function(){css=styled.css`
2211
2228
 
2212
2229
  &[data-page-type=master-detail] {
2213
2230
  & > [data-page-element=content] {
@@ -2329,7 +2346,7 @@ html, body {
2329
2346
  }
2330
2347
  }
2331
2348
  }
2332
- `.installLocal();displayName=item=>{const{emailAddress:{emailAddress,name}={}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};types=[{label:"Contacts",value:false},{label:"Blocked",value:true}];conversationTypes=[{label:"All",value:"all"},{label:"Open",value:"open"},{label:"Closed",value:"closed"}];getConversationNumber=(item,mb)=>{switch(item.value){case"open":return toKMBString(Number(mb.openThreads));case"closed":return toKMBString(Number(mb.totalThreads)-Number(mb.openThreads))}return toKMBString(Number(mb.totalThreads))};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.folders=[];this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.searchInMessages=false;this.version=1;this.conversationType="all";this.folder=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.menuService.addMailbox(this,mailbox);this.folder=mailbox.folders[0];if(mailbox.isExternal){const es=this.resolve(EntityService);es.invoke(Mailbox,"fetch",mailbox).catch(console.error)}this.element.className=css;document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;this.updateNotifications(mailbox);if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Resizable,null,XNode.create("div",{class:"threads-container"},XNode.create("div",{class:"blocked-bar"},XNode.create(ToggleButtonBar,{items:mailbox.folders,labelPath:x=>x.main?toSentenceCase(x.tag.name):`${toSentenceCase(x.tag.name)} (${x.count})`,selectedItem:Bind.sourceTwoWays(this,(x=>x.source.folder))}),XNode.create(ToggleButtonBar,{"style-display":Bind.oneWay((()=>this.folder.main)),items:conversationTypes,itemRenderer:item=>XNode.create("div",{"data-item-type":"toggle-button",class:"conversation-type"},XNode.create("label",{text:item.label}),XNode.create("label",{"data-font-size":"xx-small",text:Bind.source(item,(x=>getConversationNumber(x.source,this.currentMailbox)))})),value:Bind.sourceTwoWays(this,(x=>x.source.conversationType))})),XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),presenter:Bind.presenter((c=>this.threadsRepeater=c)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,searchInMessages:this.searchInMessages,conversationType:this.conversationType,mailboxID:this.currentMailbox.mailboxID,version:this.version,folderID:this.folder.tagID,cancelToken}))),{itemRenderer:item=>{var _a,_b;const name=displayName(item)+" "+item.emailAddress.emailAddress;const subject=(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject;const summary=(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",title:name,text:name}),XNode.create("div",{class:"subject",title:subject,text:subject}),XNode.create("div",{class:"summary",title:summary,text:summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}),item.openThreads&&XNode.create("div",{class:"threads",text:toKMBString(item.openThreads)}))}})),XNode.create("div",{class:"add-contact"},XNode.create("button",{"data-click-event":"add-new-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Contact")))));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}updateMailboxContact(mc){const{mailboxID,emailAddressID}=mc;const item=this.threadsRepeater.items.find((x=>x.mailboxID===mailboxID&&x.emailAddressID===emailAddressID));this.threadsRepeater.refreshItem(item)}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox});this.version++}))}composeSocial(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox,social:true});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}onThreadMarkedAsBlocked(thread){const index=this.mails.findIndex((x=>x.emailAddressID===thread.emailAddressID));if(index===-1){return}this.mails.removeAt(index);this.selectedThread=this.mails[index]}addNewContact(){return __awaiter(this,void 0,void 0,(function*(){const c=yield PageNavigator.pushPageForResult(AddMiniContactPage,{mailboxID:this.parameters.id});let existing=this.mails.find((x=>x.emailAddressID===c.emailAddressID));if(!existing){existing=c;this.mails.add(existing)}this.selectedThread=existing}))}updateMailboxNotify(){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){const m=this.currentMailbox;const message=m.notify?`Disable notification for this ${((_a=m.emailAddress)===null||_a===void 0?void 0:_a.name)||""} ${(_b=m.emailAddress)===null||_b===void 0?void 0:_b.emailAddress}?`:`Enable notification for this ${((_c=m.emailAddress)===null||_c===void 0?void 0:_c.name)||""} ${(_d=m.emailAddress)===null||_d===void 0?void 0:_d.emailAddress}?`;if(!(yield PopupService.confirm({message,title:"Are you sure"}))){return}yield this.resolve(MailboxService).toggleNotify(m);this.updateNotifications(m)}))}updateNotifications(mailbox){this.actionRenderer=()=>XNode.create("i",{class:mailbox.notify?"fad fa-bell":"fad fa-bell-slash",title:mailbox.notify?"Disable Notifications":"Enable Notifications","data-click-event":"update-mailbox-notify"})}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],MailsPage.prototype,"menuService",void 0);__decorate([Action({onEvent:MailAppEvents.mailboxContactUpdated}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"updateMailboxContact",null);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"compose-social"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeSocial",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null);__decorate([Action({onEvent:CommonEvents.onThreadMarkedAsBlocked}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"onThreadMarkedAsBlocked",null);__decorate([Action({onEvent:"add-new-contact"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"addNewContact",null);__decorate([Action({onEvent:"update-mailbox-notify"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"updateMailboxNotify",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../services/email/EmailContentDownloader","../../mails/service/EngagementService","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Email,Mailbox,MailboxContact,MailboxEmail,Sql,EmailContentDownloader,EngagementService,apiPath,ChannelService;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){Email=_modelModel.Email;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_mailsServiceEngagementService){EngagementService=_mailsServiceEngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){ChannelService=class ChannelService{getMails({channelID,published=true,start=0,size=100,search="",version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxEmail);if(channelID){q=q.where({channelID},(p=>x=>x.mailboxID===p.channelID))}if(published){q=q.where((x=>x.datePublished!==null))}else{q=q.where((x=>x.email.status===null))}if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.email.subject,p.search)))}const result=yield q.orderByDescending((x=>x.emailID)).include((x=>[x.email,x.email.attachments])).toPagedList({start,size,cancelToken});const tasks=[];for(const iterator of result.items){tasks.push(this.emailContentDownloader.downloadFromUrl(apiPath(`/social-mail/cc/${iterator.postID}`),iterator.email));tasks.push(this.engagementService.downloadEngagements(iterator.email))}yield Promise.all(tasks);return{items:result.items.map((x=>x.email)),total:result.total}}))}getMailbox(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).include((x=>x.emailAddress)).where({id,isChannel:true},(p=>x=>x.isChannel===p.isChannel&&x.mailboxID===p.id)).firstOrDefault()}))}subscribers({id,cancelToken,size,start,search,v}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({id},(p=>x=>x.mailboxID===p.id));if(search){if(!/\%/i.test(search)){search+="%"}q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress.name,p.search)||Sql.text.iLike(x.emailAddress.emailAddress,p.search)))}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}))}save(model){return this.entityService.save(model)}saveAll(subscribers){return __awaiter(this,void 0,void 0,(function*(){const cloners=[];for(const iterator of subscribers){cloners.push(this.entityService.cloner(iterator).copy)}yield this.entityService.save(cloners)}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID}=email;yield this.entityService.save(Email.create({emailID,status:"deleted"}));email.status="deleted"}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ChannelService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ChannelService.prototype,"engagementService",void 0);ChannelService=__decorate([DITransient({})],ChannelService);_export("default",ChannelService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/XNode","../../../commands/AppCommands","@web-atoms/web-controls/dist/basic/AtomRepeater","../services/ChannelService","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/LimitedText","../../mails/service/ConversationService","../../../../common/date/DateFormats","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/InlinePopupControl","@web-atoms/web-controls/dist/basic/PopupButton","../../mails/detail/MailDetailPage","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,XNode,AppCommands,AtomRepeater,ChannelService,InfiniteRepeater,Bind,LimitedText,renderMail,DateFormats,styled,Action,PageNavigator,InlinePopupControl,MenuItem,MailDetailPage,apiPath,ChannelDetailPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_mailsServiceConversationService){renderMail=_mailsServiceConversationService.renderMail},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicInlinePopupControl){InlinePopupControl=_webAtomsWebControlsDistBasicInlinePopupControl.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_mailsDetailMailDetailPage){MailDetailPage=_mailsDetailMailDetailPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){css=styled.css`
2349
+ `.installLocal();displayName=item=>{const{emailAddress:{emailAddress,name}={}}=item;if(name&&name!==emailAddress){return name}return emailAddress.split("@")[0]};types=[{label:"Contacts",value:false},{label:"Blocked",value:true}];conversationTypes=[{label:"All",value:"all"},{label:"Open",value:"open"},{label:"Closed",value:"closed"}];getConversationNumber=(item,mb)=>{switch(item.value){case"open":return toKMBString(Number(mb.openThreads));case"closed":return toKMBString(Number(mb.totalThreads)-Number(mb.openThreads))}return toKMBString(Number(mb.totalThreads))};_export("default",MailsPage=class MailsPage extends MasterDetailPage{constructor(){super(...arguments);this.folders=[];this.mails=[];this.search="";this.selectedThread=null;this.previousThread=null;this.searchInMessages=false;this.version=1;this.conversationType="all";this.folder=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const mailboxID=this.parameters.id;const mailbox=this.currentMailbox=yield this.mailService.mailbox(mailboxID);this.menuService.addMailbox(mailbox);this.folder=mailbox.folders[0];if(mailbox.isExternal){const es=this.resolve(EntityService);es.invoke(Mailbox,"fetch",mailbox).catch(console.error)}this.element.className=css;document.title=(_a=mailbox.emailAddress)===null||_a===void 0?void 0:_a.emailAddress;this.updateNotifications(mailbox);if(isMobileView){this.headerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}))}else{this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.search)),type:"search",placeholder:"Contact"}),XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.searchInMessages)),text:"Messages"}),XNode.create("div",{"data-click-event":"search-mailbox","data-cursor":"pointer",text:mailbox.emailAddress.emailAddress}))}this.title=mailbox.emailAddress.emailAddress;this.renderer=XNode.create("div",null,XNode.create(Resizable,null,XNode.create("div",{class:"threads-container"},XNode.create("div",{class:"blocked-bar"},XNode.create(ToggleButtonBar,{items:mailbox.folders,labelPath:x=>x.main?toSentenceCase(x.tag.name):`${toSentenceCase(x.tag.name)} (${x.count})`,selectedItem:Bind.sourceTwoWays(this,(x=>x.source.folder))}),XNode.create(ToggleButtonBar,{"style-display":Bind.oneWay((()=>this.folder.main)),items:conversationTypes,itemRenderer:item=>XNode.create("div",{"data-item-type":"toggle-button",class:"conversation-type"},XNode.create("label",{text:item.label}),XNode.create("label",{"data-font-size":"xx-small",text:Bind.source(item,(x=>getConversationNumber(x.source,this.currentMailbox)))})),value:Bind.sourceTwoWays(this,(x=>x.source.conversationType))})),XNode.create(AtomRepeater,Object.assign({class:"threads","data-list-selection":"default","data-items-updated-event":"mails-available","data-selection-updated-event":"mail-selected",selectedItem:Bind.twoWays((()=>this.selectedThread)),presenter:Bind.presenter((c=>this.threadsRepeater=c)),selectOnClick:true,items:this.mails},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailService.list({start,size:20,search:this.search,searchInMessages:this.searchInMessages,conversationType:this.conversationType,mailboxID:this.currentMailbox.mailboxID,version:this.version,folderID:this.folder.tagID,cancelToken}))),{itemRenderer:item=>{var _a,_b;const name=displayName(item)+" "+item.emailAddress.emailAddress;const subject=(_a=item.lastEmail)===null||_a===void 0?void 0:_a.subject;const summary=(_b=item.lastEmail)===null||_b===void 0?void 0:_b.summary;return XNode.create("div",{class:"mailbox-thread","data-unread":item.unread>0},XNode.create("div",{class:"name",title:name,text:name}),XNode.create("div",{class:"subject",title:subject,text:subject}),XNode.create("div",{class:"summary",title:summary,text:summary}),item.unread&&XNode.create("div",{class:"unread",text:item.unread,title:`Unread ${item.unread} out of ${item.total}`}),item.openThreads&&XNode.create("div",{class:"threads",text:toKMBString(item.openThreads)}))}})),XNode.create("div",{class:"add-contact"},XNode.create("button",{"data-click-event":"add-new-contact","data-layout":"accent-icon-button"},XNode.create("i",{class:"fas fa-plus"}),"Contact")))));this.registerDisposable(yield this.resolve(MailboxSocket).join(this.currentMailbox.mailboxID.toString(),{newMail:(_,emailAddressID,emailID)=>{this.version++}}))}))}updateMailboxContact(mc){const{mailboxID,emailAddressID}=mc;const item=this.threadsRepeater.items.find((x=>x.mailboxID===mailboxID&&x.emailAddressID===emailAddressID));this.threadsRepeater.refreshItem(item)}composeTemplate(){return __awaiter(this,void 0,void 0,(function*(){const template=yield PageNavigator.pushPageForResult(ChooserTemplatePage)}))}mailsAvailable(){return __awaiter(this,void 0,void 0,(function*(){if(isMobileView){return}if(!this.selectedThread){this.selectedThread=this.mails[0];return}const st=this.mails.find((x=>x.mailboxID===this.selectedThread.mailboxID&&x.emailAddressID===this.selectedThread.emailAddressID));if(st!==this.selectedThread){this.selectedThread=st}}))}mailSelected(){var _a;return __awaiter(this,void 0,void 0,(function*(){if(!this.selectedThread){return}if(((_a=this.previousThread)===null||_a===void 0?void 0:_a.emailAddressID)===this.selectedThread.emailAddressID){return}this.previousThread=this.selectedThread;this.openDetail(ConversationPage,this.selectedThread)}))}composeEmail(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox});this.version++}))}composeSocial(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ComposeMailPage,{mailboxID:this.currentMailbox.mailboxID,mailbox:this.currentMailbox,social:true});this.version++}))}searchMailbox(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ChooseMailboxPage)}))}onThreadMarkedAsBlocked(thread){const index=this.mails.findIndex((x=>x.emailAddressID===thread.emailAddressID));if(index===-1){return}this.mails.removeAt(index);this.selectedThread=this.mails[index]}addNewContact(){return __awaiter(this,void 0,void 0,(function*(){const c=yield PageNavigator.pushPageForResult(AddMiniContactPage,{mailboxID:this.parameters.id});let existing=this.mails.find((x=>x.emailAddressID===c.emailAddressID));if(!existing){existing=c;this.mails.add(existing)}this.selectedThread=existing}))}updateMailboxNotify(){var _a,_b,_c,_d;return __awaiter(this,void 0,void 0,(function*(){const m=this.currentMailbox;const message=m.notify?`Disable notification for this ${((_a=m.emailAddress)===null||_a===void 0?void 0:_a.name)||""} ${(_b=m.emailAddress)===null||_b===void 0?void 0:_b.emailAddress}?`:`Enable notification for this ${((_c=m.emailAddress)===null||_c===void 0?void 0:_c.name)||""} ${(_d=m.emailAddress)===null||_d===void 0?void 0:_d.emailAddress}?`;if(!(yield PopupService.confirm({message,title:"Are you sure"}))){return}yield this.resolve(MailboxService).toggleNotify(m);this.updateNotifications(m)}))}updateNotifications(mailbox){this.actionRenderer=()=>XNode.create("i",{class:mailbox.notify?"fad fa-bell":"fad fa-bell-slash",title:mailbox.notify?"Disable Notifications":"Enable Notifications","data-click-event":"update-mailbox-notify"})}});__decorate([InjectProperty,__metadata("design:type",MailService)],MailsPage.prototype,"mailService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],MailsPage.prototype,"menuService",void 0);__decorate([Action({onEvent:MailAppEvents.mailboxContactUpdated}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"updateMailboxContact",null);__decorate([Action({onEvent:"compose-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeTemplate",null);__decorate([Action({onEvent:"mails-available",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailsAvailable",null);__decorate([Action({onEvent:"mail-selected",defer:100}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"mailSelected",null);__decorate([Action({onEvent:"compose-email"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeEmail",null);__decorate([Action({onEvent:"compose-social"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"composeSocial",null);__decorate([Action({onEvent:"search-mailbox"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"searchMailbox",null);__decorate([Action({onEvent:CommonEvents.onThreadMarkedAsBlocked}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],MailsPage.prototype,"onThreadMarkedAsBlocked",null);__decorate([Action({onEvent:"add-new-contact"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"addNewContact",null);__decorate([Action({onEvent:"update-mailbox-notify"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],MailsPage.prototype,"updateMailboxNotify",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/mails/MailboxContacts");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../../common/Sql","../../../../services/email/EmailContentDownloader","../../mails/service/EngagementService","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,Email,Mailbox,MailboxContact,MailboxEmail,Sql,EmailContentDownloader,EngagementService,apiPath,ChannelService;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){Email=_modelModel.Email;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;MailboxEmail=_modelModel.MailboxEmail},function(_commonSql){Sql=_commonSql.Sql},function(_servicesEmailEmailContentDownloader){EmailContentDownloader=_servicesEmailEmailContentDownloader.default},function(_mailsServiceEngagementService){EngagementService=_mailsServiceEngagementService.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){ChannelService=class ChannelService{getMails({channelID,published=true,start=0,size=100,search="",version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxEmail);if(channelID){q=q.where({channelID},(p=>x=>x.mailboxID===p.channelID))}if(published){q=q.where((x=>x.datePublished!==null))}else{q=q.where((x=>x.email.status===null))}if(search){if(!/\%/.test(search)){search=search+"%"}q=q.where({search},(p=>x=>Sql.text.like(x.email.subject,p.search)))}const result=yield q.orderByDescending((x=>x.emailID)).include((x=>[x.email,x.email.attachments])).toPagedList({start,size,cancelToken});const tasks=[];for(const iterator of result.items){tasks.push(this.emailContentDownloader.downloadFromUrl(apiPath(`/social-mail/cc/${iterator.postID}`),iterator.email));tasks.push(this.engagementService.downloadEngagements(iterator.email))}yield Promise.all(tasks);return{items:result.items.map((x=>x.email)),total:result.total}}))}getMailbox(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).include((x=>x.emailAddress)).where({id,isChannel:true},(p=>x=>x.isChannel===p.isChannel&&x.mailboxID===p.id)).firstOrDefault()}))}subscribers({id,cancelToken,size,start,search,v}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(MailboxContact).where({id},(p=>x=>x.mailboxID===p.id));if(search){if(!/\%/i.test(search)){search+="%"}q=q.where({search},(p=>x=>Sql.text.iLike(x.emailAddress.name,p.search)||Sql.text.iLike(x.emailAddress.emailAddress,p.search)))}return q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken})}))}save(model){return this.entityService.save(model)}saveAll(subscribers){return __awaiter(this,void 0,void 0,(function*(){const cloners=[];for(const iterator of subscribers){cloners.push(this.entityService.cloner(iterator).copy)}yield this.entityService.save(cloners)}))}deleteMail(email){return __awaiter(this,void 0,void 0,(function*(){const{emailID}=email;yield this.entityService.save(Email.create({emailID,status:"deleted"}));email.status="deleted"}))}};__decorate([Inject,__metadata("design:type",EntityService)],ChannelService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",EmailContentDownloader)],ChannelService.prototype,"emailContentDownloader",void 0);__decorate([Inject,__metadata("design:type",EngagementService)],ChannelService.prototype,"engagementService",void 0);ChannelService=__decorate([DITransient({})],ChannelService);_export("default",ChannelService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/channels/services/ChannelService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/InjectProperty","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/XNode","../../../commands/AppCommands","@web-atoms/web-controls/dist/basic/AtomRepeater","../services/ChannelService","../../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/LimitedText","../../mails/service/ConversationService","../../../../common/date/DateFormats","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/InlinePopupControl","@web-atoms/web-controls/dist/basic/PopupButton","../../mails/detail/MailDetailPage","../../../../common/apiPath"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,InjectProperty,MailboxService,XNode,AppCommands,AtomRepeater,ChannelService,InfiniteRepeater,Bind,LimitedText,renderMail,DateFormats,styled,Action,PageNavigator,InlinePopupControl,MenuItem,MailDetailPage,apiPath,ChannelDetailPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_commandsAppCommands){AppCommands=_commandsAppCommands.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_servicesChannelService){ChannelService=_servicesChannelService.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicLimitedText){LimitedText=_webAtomsWebControlsDistBasicLimitedText.default},function(_mailsServiceConversationService){renderMail=_mailsServiceConversationService.renderMail},function(_commonDateDateFormats){DateFormats=_commonDateDateFormats.DateFormats},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicInlinePopupControl){InlinePopupControl=_webAtomsWebControlsDistBasicInlinePopupControl.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_mailsDetailMailDetailPage){MailDetailPage=_mailsDetailMailDetailPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath}],execute:function(){css=styled.css`
2333
2350
 
2334
2351
  & [data-blog-list=blog-list] {
2335
2352