@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
@@ -1981,7 +1981,24 @@ and limitations under the License.
1981
1981
  }
1982
1982
  }
1983
1983
 
1984
- `.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`
1984
+ `.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`
1985
+
1986
+ display: flex;
1987
+ align-items: center;
1988
+ position: relative;
1989
+
1990
+ padding-right: 30px;
1991
+
1992
+ & > i {
1993
+ grid-column: 2;
1994
+ color: red;
1995
+ cursor: pointer;
1996
+ position: absolute;
1997
+ right: 5px;
1998
+ top: 5px;
1999
+ }
2000
+
2001
+ `.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`
1985
2002
 
1986
2003
  &[data-page-type=master-detail] {
1987
2004
  & > [data-page-element=content] {
@@ -2103,7 +2120,7 @@ and limitations under the License.
2103
2120
  }
2104
2121
  }
2105
2122
  }
2106
- `.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`
2123
+ `.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`
2107
2124
 
2108
2125
  & [data-blog-list=blog-list] {
2109
2126
 
@@ -4654,7 +4671,7 @@ display: grid;
4654
4671
  border: none;
4655
4672
  outline: none;
4656
4673
  }
4657
- `.installLocal();_export("default",DownloadZip=class DownloadZip extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name,fileContentID,appFileID,downloadUrl,path}=this.parameters;const q=new URLSearchParams({name,downloadUrl,path,fileContentID,appFileID});const url=`/social-mail/ui/dist/public/preview/zip/DownloadZip?${q.toString()}`;this.title=name;this.renderer=XNode.create("div",{class:css},XNode.create("iframe",{src:url}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/DownloadZip");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@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/PopupButton","../../../../model/model","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../../site-editor/editor/WebSitePageEditor","../../../../code-editor/CodeEditorPage","../../../../services/websites/WebSiteService","../../../../web/commands/AppCommands","../history/WebSiteHistory","../view/ViewWebSitePage","../blogs/WebSiteBlogsPage","../../../../common/apiPath","../../../../common/controls/buttons/IconButton","../../../../common/controls/tree/FileTreeView","../../../../common/pages/files/service/CloudFileService","../../../../common/pages/files/shares/EditSharesPage","../../../../common/pages/files/preview/document/DownloadZip","../../../../common/pages/files/FileHistoryPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,Bind,XNode,styled,Action,PageNavigator,MenuItem,AppFile,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,WebSitePageEditor,CodeEditorPage,WebSiteService,AppCommands,WebSiteHistory,ViewWebSitePage,WebSiteBlogsPage,apiPath,SaveIconTextButton,EditIconTextButton,FileTreeView,CloudFileService,EditSharesPage,DownloadZip,FileHistoryPage,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_historyWebSiteHistory){WebSiteHistory=_historyWebSiteHistory.default},function(_viewViewWebSitePage){ViewWebSitePage=_viewViewWebSitePage.default},function(_blogsWebSiteBlogsPage){WebSiteBlogsPage=_blogsWebSiteBlogsPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton;EditIconTextButton=_commonControlsButtonsIconButton.EditIconTextButton},function(_commonControlsTreeFileTreeView){FileTreeView=_commonControlsTreeFileTreeView.FileTreeView},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonPagesFilesSharesEditSharesPage){EditSharesPage=_commonPagesFilesSharesEditSharesPage.default},function(_commonPagesFilesPreviewDocumentDownloadZip){DownloadZip=_commonPagesFilesPreviewDocumentDownloadZip.default},function(_commonPagesFilesFileHistoryPage){FileHistoryPage=_commonPagesFilesFileHistoryPage.default}],execute:function(){css=styled.css`
4674
+ `.installLocal();_export("default",DownloadZip=class DownloadZip extends ContentPage{init(){return __awaiter(this,void 0,void 0,(function*(){const{name,fileContentID,appFileID,downloadUrl,path}=this.parameters;const q=new URLSearchParams({name,downloadUrl,path,fileContentID,appFileID});const url=`/social-mail/ui/dist/public/preview/zip/DownloadZip?${q.toString()}`;this.title=name;this.renderer=XNode.create("div",{class:css},XNode.create("iframe",{src:url}))}))}})}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/files/preview/document/DownloadZip");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@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/PopupButton","../../../../model/model","../../../../web/page/templates/EditTemplatePage","../templates/ChooseWebSiteTemplatePage","@web-atoms/core/dist/services/FetchBuilder","../../../../site-editor/editor/WebSitePageEditor","../../../../code-editor/CodeEditorPage","../../../../services/websites/WebSiteService","../../../../web/commands/AppCommands","../history/WebSiteHistory","../view/ViewWebSitePage","../blogs/WebSiteBlogsPage","../../../../common/apiPath","../../../../common/controls/buttons/IconButton","../../../../common/controls/tree/FileTreeView","../../../../common/pages/files/service/CloudFileService","../../../../common/pages/files/shares/EditSharesPage","../../../../common/pages/files/preview/document/DownloadZip","../../../../common/pages/files/FileHistoryPage","../../../../common/MenuService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,ContentPage,Bind,XNode,styled,Action,PageNavigator,MenuItem,AppFile,EditTemplatePage,ChooseWebSiteTemplatePage,FetchBuilder,WebSitePageEditor,CodeEditorPage,WebSiteService,AppCommands,WebSiteHistory,ViewWebSitePage,WebSiteBlogsPage,apiPath,SaveIconTextButton,EditIconTextButton,FileTreeView,CloudFileService,EditSharesPage,DownloadZip,FileHistoryPage,MenuService,WebSiteStudioPage,css,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicPopupButton){MenuItem=_webAtomsWebControlsDistBasicPopupButton.MenuItem},function(_modelModel){AppFile=_modelModel.AppFile},function(_webPageTemplatesEditTemplatePage){EditTemplatePage=_webPageTemplatesEditTemplatePage.default},function(_templatesChooseWebSiteTemplatePage){ChooseWebSiteTemplatePage=_templatesChooseWebSiteTemplatePage.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_siteEditorEditorWebSitePageEditor){WebSitePageEditor=_siteEditorEditorWebSitePageEditor.default},function(_codeEditorCodeEditorPage){CodeEditorPage=_codeEditorCodeEditorPage.default},function(_servicesWebsitesWebSiteService){WebSiteService=_servicesWebsitesWebSiteService.default},function(_webCommandsAppCommands){AppCommands=_webCommandsAppCommands.default},function(_historyWebSiteHistory){WebSiteHistory=_historyWebSiteHistory.default},function(_viewViewWebSitePage){ViewWebSitePage=_viewViewWebSitePage.default},function(_blogsWebSiteBlogsPage){WebSiteBlogsPage=_blogsWebSiteBlogsPage.default},function(_commonApiPath){apiPath=_commonApiPath.apiPath},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton;EditIconTextButton=_commonControlsButtonsIconButton.EditIconTextButton},function(_commonControlsTreeFileTreeView){FileTreeView=_commonControlsTreeFileTreeView.FileTreeView},function(_commonPagesFilesServiceCloudFileService){CloudFileService=_commonPagesFilesServiceCloudFileService.default},function(_commonPagesFilesSharesEditSharesPage){EditSharesPage=_commonPagesFilesSharesEditSharesPage.default},function(_commonPagesFilesPreviewDocumentDownloadZip){DownloadZip=_commonPagesFilesPreviewDocumentDownloadZip.default},function(_commonPagesFilesFileHistoryPage){FileHistoryPage=_commonPagesFilesFileHistoryPage.default},function(_commonMenuService){MenuService=_commonMenuService.default}],execute:function(){css=styled.css`
4658
4675
  display: grid;
4659
4676
  grid-template-columns: 200px 1fr;
4660
4677
  gap: 5px;
@@ -4671,7 +4688,7 @@ display: grid;
4671
4688
  justify-self: stretch;
4672
4689
  align-self: stretch;
4673
4690
  }
4674
- `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.keep=true;this.version=1;this.pageContent="";this.modified=false}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);this.title=this.root.name;this.webSite=yield this.websiteService.get(this.root.appFileID);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:this.root.name}),XNode.create("div",{"style-display":Bind.oneWay((()=>this.webSite.isModified))},XNode.create(SaveIconTextButton,{"data-click-event":"publish-website",text:"Publish"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.webSite.folderID})},XNode.create(EditIconTextButton,{text:"Modify Files",title:"Use this to upload files manually"})),XNode.create(EditIconTextButton,{"data-click-event":"version-history",icon:"fas fa-history",text:"History",title:"Version History"}),XNode.create(EditIconTextButton,{"data-click-event":"link-blog",icon:"fad fa-blog",text:"Linked Blogs"}),XNode.create(EditIconTextButton,{"data-click-event":"view-website",icon:"fad fa-globe-pointer",text:"View Site"}),XNode.create("a",{href:Bind.oneWay((()=>apiPath(`/api/site/draft/${this.root.appFileID}/${this.cloudFileService.getFilePath(this.root,this.selectedFile)}${this.selectedFile.name}`))),target:"_blank"},XNode.create(EditIconTextButton,{icon:"fad fa-globe-pointer",text:"Preview Draft"})),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})),XNode.create(EditIconTextButton,{icon:"fad fa-save",text:"Download Site","event-click":()=>PageNavigator.pushPage(DownloadZip,this.webSite.folder)}));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"}),XNode.create(MenuItem,{icon:"fas fa-history","data-click-event":"file-history",label:"File History"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.modified){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",selectedFile:Bind.oneWay((()=>this.selectedFile)),baseUrl:Bind.oneWay((()=>apiPath(`/api/site/draft/${this.root.appFileID}/${this.cloudFileService.getFilePath(this.root,this.selectedFile)}`))),folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.modified=true,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?this.downloadHtml(this.selectedFile,cancelToken):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified))},XNode.create(SaveIconTextButton,{"data-click-event":"save-page",text:"Save"}))}))}downloadHtml(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const text=yield FetchBuilder.get(file.downloadUrl).cancelToken(cancelToken).responseAsText(true);this.pageContent=text;return text}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:this.selectedFile.name,content:(_a=this.htmlEditor.modifiedPage)!==null&&_a!==void 0?_a:this.pageContent});this.pageContent=content;yield this.htmlEditor.merge(content)}))}openFolder(file){this.selectedFile=file}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){let html=this.htmlEditor.modifiedPage;if(!html.trim().startsWith("<!")){html=`<!DOCTYPE html>${html}`}const content=new File([html],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.webSite.isModified=true;this.modified=false;this.htmlEditor.undoRedo.changed=false}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){const{fileContentID,url,downloadUrl}=yield PageNavigator.pushPageForResult(FileHistoryPage,file);const{selectedFile}=this;if(file.appFileID===(selectedFile===null||selectedFile===void 0?void 0:selectedFile.appFileID)){selectedFile.url=url;selectedFile.downloadUrl=downloadUrl;selectedFile.fileContentID=fileContentID}}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.publish(this.webSite)}))}versionHistory(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteHistory,this.webSite)}))}viewWebSite(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ViewWebSitePage,this.webSite)}))}linkBlog(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteBlogsPage,this.webSite)}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteStudioPage.prototype,"websiteService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?",success:"Web site published successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"publishWebsite",null);__decorate([Action({onEvent:"version-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"versionHistory",null);__decorate([Action({onEvent:"view-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"viewWebSite",null);__decorate([Action({onEvent:"link-blog"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"linkBlog",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage");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,WebSiteFolder,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){WebSiteFolder=_modelModel.WebSiteFolder},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(WebSiteFolder).where({storeID},(p=>x=>x.folderID===p.storeID)).include((x=>x.folder.accessList)).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(WebSiteFolder);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.folder.name,p.search)))}return q.orderByDescending((x=>x.folderID)).include((x=>x.folder)).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.storeAccount)),x.buyer,x.seller])).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`
4691
+ `.installLocal();getExtension=name=>{const index=name.lastIndexOf(".");if(index===-1){return"dat"}return name.substring(index+1)};_export("default",WebSiteStudioPage=class WebSiteStudioPage extends ContentPage{constructor(){super(...arguments);this.keep=true;this.version=1;this.pageContent="";this.modified=false}init(){var _a,_b;var _c;return __awaiter(this,void 0,void 0,(function*(){this.search="";this.root=yield this.cloudFileService.root(this.parameters);this.title=this.root.name;this.webSite=yield this.websiteService.get(this.root.appFileID);this.menuService.addWebSite(this.webSite);(_a=(_c=this.root).children)!==null&&_a!==void 0?_a:_c.children=[];this.root.children.remove((x=>x.isDeleted||!(/^(text\/(html|css))$/i.test(x.contentType)||x.isFolder)));this.root.children.sort(((a,b)=>a.isFolder?-1:0));if(!((_b=this.root.children)===null||_b===void 0?void 0:_b.some((f=>f.name==="index.html")))){yield this.createIndexHtml();return}const indexHtml=this.root.children.find((x=>x.name==="index.html"));this.selectedFile=indexHtml;this.titleRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:this.root.name}),XNode.create("div",{"style-display":Bind.oneWay((()=>this.webSite.isModified))},XNode.create(SaveIconTextButton,{"data-click-event":"publish-website",text:"Publish"})),XNode.create("a",{"data-click-event":"route",href:AppCommands.openFiles.displayRoute({id:this.webSite.folderID})},XNode.create(EditIconTextButton,{text:"Modify Files",title:"Use this to upload files manually"})),XNode.create(EditIconTextButton,{"data-click-event":"version-history",icon:"fas fa-history",text:"History",title:"Version History"}),XNode.create(EditIconTextButton,{"data-click-event":"link-blog",icon:"fad fa-blog",text:"Linked Blogs"}),XNode.create(EditIconTextButton,{"data-click-event":"view-website",icon:"fad fa-globe-pointer",text:"View Site"}),XNode.create("a",{href:Bind.oneWay((()=>apiPath(`/api/site/draft/${this.root.appFileID}/${this.cloudFileService.getFilePath(this.root,this.selectedFile)}${this.selectedFile.name}`))),target:"_blank"},XNode.create(EditIconTextButton,{icon:"fad fa-globe-pointer",text:"Preview Draft"})),this.parameters.templates&&XNode.create("div",{"data-layout":"row","style-display":Bind.oneWay((()=>this.selectedFile.appFileID>0))},XNode.create("i",{class:"fas fa-plus","data-click-event":"new-template"}),XNode.create("span",{"data-click-event":"new-template",text:"New Template"})),XNode.create(EditIconTextButton,{icon:"fad fa-save",text:"Download Site","event-click":()=>PageNavigator.pushPage(DownloadZip,this.webSite.folder)}));this.renderer=XNode.create("div",{class:css},XNode.create(FileTreeView,{root:this.root,class:"folder-tree",accept:"text/html",presenter:Bind.presenter((c=>this.folderTree=c)),selectedItem:Bind.twoWaysImmediate((()=>this.selectedFile)),menuActions:x=>!x.isFolder?/\.(htm|html)$/i.test(x.name)?[XNode.create(MenuItem,{icon:"fas fa-copy","data-click-event":"duplicate-html",label:"Duplicate Page"}),XNode.create(MenuItem,{icon:"fas fa-history","data-click-event":"file-history",label:"File History"})]:[]:void 0,"event-selected-item-changing":ce=>{if(this.modified){if(confirm("Page is modified but not saved, your changes will be lost")){return}ce.preventDefault()}}}),XNode.create(WebSitePageEditor,{class:"file-list",selectedFile:Bind.oneWay((()=>this.selectedFile)),baseUrl:Bind.oneWay((()=>apiPath(`/api/site/draft/${this.root.appFileID}/${this.cloudFileService.getFilePath(this.root,this.selectedFile)}`))),folder:this.root,presenter:Bind.presenter((c=>this.htmlEditor=c)),"event-html-page-changed":ce=>this.modified=true,htmlPage:Bind.oneWayAsync(((s,e,cancelToken)=>this.selectedFile?this.downloadHtml(this.selectedFile,cancelToken):void 0))}));this.footerRenderer=()=>XNode.create("div",{"data-layout":"command-row","style-display":Bind.oneWay((()=>this.modified))},XNode.create(SaveIconTextButton,{"data-click-event":"save-page",text:"Save"}))}))}downloadHtml(file,cancelToken){return __awaiter(this,void 0,void 0,(function*(){const text=yield FetchBuilder.get(file.downloadUrl).cancelToken(cancelToken).responseAsText(true);this.pageContent=text;return text}))}createIndexHtml(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(ChooseWebSiteTemplatePage,this.root);yield this.init()}))}editShares(file){PageNavigator.pushPage(EditSharesPage,file)}editCode(){var _a;return __awaiter(this,void 0,void 0,(function*(){const content=yield PageNavigator.pushPageForResult(CodeEditorPage,{fileName:this.selectedFile.name,content:(_a=this.htmlEditor.modifiedPage)!==null&&_a!==void 0?_a:this.pageContent});this.pageContent=content;yield this.htmlEditor.merge(content)}))}openFolder(file){this.selectedFile=file}onFilesUploaded(){return __awaiter(this,void 0,void 0,(function*(){this.version++}))}newTemplate(){return __awaiter(this,void 0,void 0,(function*(){const parentID=this.selectedFile.appFileID;const file=yield PageNavigator.pushPageForResult(EditTemplatePage,{file:AppFile.create({parentID})});this.selectedFile.children.add(file)}))}openTemplate(file){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResultOrCancel(EditTemplatePage,{file})}))}savePage(){return __awaiter(this,void 0,void 0,(function*(){let html=this.htmlEditor.modifiedPage;if(!html.trim().startsWith("<!")){html=`<!DOCTYPE html>${html}`}const content=new File([html],this.selectedFile.name,{type:this.selectedFile.contentType});const result=yield this.cloudFileService.saveFile({appFileID:this.selectedFile.appFileID,content});this.selectedFile.url=result.url;this.selectedFile.fileContentID=result.fileContentID;this.selectedFile.downloadUrl=result.downloadUrl;this.webSite.isModified=true;this.modified=false;this.htmlEditor.undoRedo.changed=false}))}duplicateHtml(file){return __awaiter(this,void 0,void 0,(function*(){let{name}=file;name=name.replace(/(\.[^\.]+)$/,(ext=>" Copy"+ext));file=yield this.cloudFileService.save(Object.assign(Object.assign({},file),{appFileID:void 0,children:void 0,parent:void 0,name}));this.root.children.add(file);this.selectedFile=file}))}fileHistory(file){return __awaiter(this,void 0,void 0,(function*(){const{fileContentID,url,downloadUrl}=yield PageNavigator.pushPageForResult(FileHistoryPage,file);const{selectedFile}=this;if(file.appFileID===(selectedFile===null||selectedFile===void 0?void 0:selectedFile.appFileID)){selectedFile.url=url;selectedFile.downloadUrl=downloadUrl;selectedFile.fileContentID=fileContentID}}))}publishWebsite(){return __awaiter(this,void 0,void 0,(function*(){yield this.websiteService.publish(this.webSite)}))}versionHistory(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteHistory,this.webSite)}))}viewWebSite(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(ViewWebSitePage,this.webSite)}))}linkBlog(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(WebSiteBlogsPage,this.webSite)}))}});__decorate([InjectProperty,__metadata("design:type",CloudFileService)],WebSiteStudioPage.prototype,"cloudFileService",void 0);__decorate([InjectProperty,__metadata("design:type",WebSiteService)],WebSiteStudioPage.prototype,"websiteService",void 0);__decorate([InjectProperty,__metadata("design:type",MenuService)],WebSiteStudioPage.prototype,"menuService",void 0);__decorate([Action({onEvent:"edit-shares"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"editShares",null);__decorate([Action({onEvent:"edit-code"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"editCode",null);__decorate([Action({onEvent:"open-folder"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",void 0)],WebSiteStudioPage.prototype,"openFolder",null);__decorate([Action({onEvent:"files-available"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"onFilesUploaded",null);__decorate([Action({onEvent:"new-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"newTemplate",null);__decorate([Action({onEvent:"open-template"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"openTemplate",null);__decorate([Action({onEvent:"save-page"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"savePage",null);__decorate([Action({onEvent:"duplicate-html"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"duplicateHtml",null);__decorate([Action({onEvent:"file-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"fileHistory",null);__decorate([Action({onEvent:"publish-website",confirm:"Are you sure you want to publish this version?",success:"Web site published successfully."}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"publishWebsite",null);__decorate([Action({onEvent:"version-history"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"versionHistory",null);__decorate([Action({onEvent:"view-website"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"viewWebSite",null);__decorate([Action({onEvent:"link-blog"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],WebSiteStudioPage.prototype,"linkBlog",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/site-editor-app/pages/websites/studio/WebSiteStudioPage");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,WebSiteFolder,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){WebSiteFolder=_modelModel.WebSiteFolder},function(_commonSql){Sql=_commonSql.Sql}],execute:function(){StoreService=class StoreService{get(storeID){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(WebSiteFolder).where({storeID},(p=>x=>x.folderID===p.storeID)).include((x=>x.folder.accessList)).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(WebSiteFolder);if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.like(x.folder.name,p.search)))}return q.orderByDescending((x=>x.folderID)).include((x=>x.folder)).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.storeAccount)),x.buyer,x.seller])).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`
4675
4692
 
4676
4693
  position: relative;
4677
4694
  overflow: visible !important;