@social-mail/social-mail-client 1.2.334 → 1.2.336
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/AdminAppIndex.pack.js +39 -9
- package/dist/admin/AdminAppIndex.pack.js.map +1 -1
- package/dist/admin/AdminAppIndex.pack.min.js +2 -2
- package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
- package/dist/admin/pages/users/UserDetailsPage.d.ts +1 -0
- package/dist/admin/pages/users/UserDetailsPage.d.ts.map +1 -1
- package/dist/admin/pages/users/UserDetailsPage.js +34 -2
- package/dist/admin/pages/users/UserDetailsPage.js.map +1 -1
- package/dist/common/controls/tags/TagChips.js +5 -7
- package/dist/common/controls/tags/TagChips.js.map +1 -1
- package/dist/model/model.d.ts +1 -0
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.js.map +1 -1
- package/dist/public/channel/ChannelView.pack.min.js.map +1 -1
- package/dist/public/store/Store.pack.js.map +1 -1
- package/dist/public/store/Store.pack.min.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/web/AppIndex.pack.js +6 -8
- package/dist/web/AppIndex.pack.js.map +1 -1
- package/dist/web/AppIndex.pack.min.js +2 -2
- package/dist/web/AppIndex.pack.min.js.map +1 -1
- package/dist/web/drawer/AppDrawer.js +1 -1
- package/dist/web/drawer/AppDrawer.js.map +1 -1
- package/package.json +1 -1
- package/src/admin/pages/users/UserDetailsPage.tsx +26 -0
- package/src/common/controls/tags/TagChips.tsx +3 -3
- package/src/model/model.ts +1 -0
- package/src/web/drawer/AppDrawer.tsx +1 -1
|
@@ -1335,7 +1335,7 @@ html, body {
|
|
|
1335
1335
|
padding: 10px;
|
|
1336
1336
|
border: solid 1px lightgray;
|
|
1337
1337
|
border-radius: 10px;
|
|
1338
|
-
`.installGlobal("div[data-collection-editor]");hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","../../domains/services/AdminDomainService","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Action,PopupWindowPage,DomainUser,Bind,AdminDomainService,Form,FormField,DropDown,Checkbox,SaveIconTextButton,EntityService,EditDomainUserPage;_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(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainUser=_modelModel.DomainUser},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_domainsServicesAdminDomainService){AdminDomainService=_domainsServicesAdminDomainService.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditDomainUserPage=class EditDomainUserPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a,_b,_c,_d,_e;var _f,_g,_h;return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Domain Configuration";const domains=yield this.adminDomainService.list();this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:DomainUser.create({});(_b=(_f=this.model).hostedDomain)!==null&&_b!==void 0?_b:_f.hostedDomain=domains[0];(_c=(_g=this.model).domainID)!==null&&_c!==void 0?_c:_g.domainID=(_d=this.model.hostedDomain)===null||_d===void 0?void 0:_d.domainID;(_e=(_h=this.model).allowCreateMailbox)!==null&&_e!==void 0?_e:_h.allowCreateMailbox=false;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Domain"},XNode.create(DropDown,{items:domains,itemRenderer:item=>XNode.create("div",{text:item.domain.name}),valuePath:item=>item.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create(FormField,{label:"Is Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:" can create and view all mailboxes"})),XNode.create(FormField,{label:"Create Mailbox","style-display":Bind.oneWay((()=>!this.model.isAdmin))},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:" can create mailboxe for self use"})),XNode.create(FormField,{label:"Prefix","style-display":Bind.oneWay((()=>this.model.allowCreateMailbox))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.prefix))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.save(),text:"Save"}))))}))}save(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.domainID&&this.model.userID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],EditDomainUserPage.prototype,"adminDomainService",void 0);__decorate([Action({close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainUserPage.prototype,"save",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxContact,UserPushSubscription,Sql,SocialMailApp,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(onlyHosted=false){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(HostedDomain);const hosted=yield q.include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top({isChannel=false}={}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Mailbox);const{userID}=SocialMailApp.user;const top=yield q.include((x=>x.emailAddress)).where({isChannel},(p=>x=>x.isChannel===p.isChannel)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});yield this.updateNotify(top.items);return top.items}))}updateNotify(items){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!(items===null||items===void 0?void 0:items.length)){return}const{userID}=SocialMailApp.user;const ids=items.map((x=>x.mailboxID));const all=yield this.entityService.query(UserPushSubscription).where({ids,userID},(p=>x=>x.userID===p.userID&&x.mailboxID in p.ids&&x.emailAddressID===null)).toArray();const map=new Map(all.map((x=>[x.mailboxID,x])));for(const iterator of items){iterator.notify=(_b=(_a=map.get(iterator.mailboxID))===null||_a===void 0?void 0:_a.notify)!==null&&_b!==void 0?_b:false}}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox);if(domainID){q=q.where({domainID},(p=>x=>x.domainID===p.domainID))}if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)))}}const all=yield q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken});yield this.updateNotify(all.items);return all}))}toggleNotify(m){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID}=m;let n=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();if(!n){const{userID}=SocialMailApp.user;n=UserPushSubscription.create({userID,mailboxID})}n.notify=!m.notify;yield this.entityService.save(n);m.notify=n.notify}))}get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({id},(p=>x=>x.mailboxID===p.id)).include((x=>[x.userMailboxes,x.syncTargets,x.emailAddress,x.domain])).firstOrDefault()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){if(model.name){model.name=model.name.trim()}if(model.username){model.username=model.username.trim()}const cloner=this.entityService.cloner(model).include((x=>x.userMailboxes));yield this.entityService.save(cloner.copy);return model}))}saveContact(mc,retry=3){return __awaiter(this,void 0,void 0,(function*(){const{emailAddressText,mailboxID}=mc;const emailAddress=emailAddressText.trim().toLocaleLowerCase();const q=this.entityService.query(MailboxContact).where({mailboxID,emailAddress},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddress.emailAddress===p.emailAddress)).include((x=>x.emailAddress));const result=yield q.firstOrDefault();if(result){return result}try{yield this.entityService.save(mc);return yield q.firstOrDefault()}catch(error){if(retry--){return yield this.saveContact(mc,retry)}throw error}}))}saveSyncTarget(syncTarget){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(syncTarget).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","@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/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/FormField","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/view-model/Action","../../../../common/controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserMailbox,XNode,Form,Bind,FormField,MailboxService,InjectProperty,AtomRepeater,Action,InfiniteRepeater,EditUserMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",EditUserMailboxPage=class EditUserMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selectedMailbox=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:UserMailbox.create({});this.title="Select Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Choose Mailbox"},XNode.create(AtomRepeater,Object.assign({"data-list-selection":"default","data-layout":"list",selectOnClick:true,"data-click-event":"select-mailbox"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start,size:10}))),{itemRenderer:item=>XNode.create("div",{text:item.emailAddress.emailAddress})})))))}))}selectMailbox(mailbox){return __awaiter(this,void 0,void 0,(function*(){return{mailbox,mailboxID:mailbox.mailboxID}}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],EditUserMailboxPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"select-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditUserMailboxPage.prototype,"selectMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const value=this.value;const valuePath=(_a=this.valuePath)!==null&&_a!==void 0?_a:item=>item;this.element.selectedIndex=(_b=this.items)===null||_b===void 0?void 0:_b.findIndex((v=>valuePath(v)==value));this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/PageNavigator","../../../../common/pages/folders/ChooserFolderPage","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../common/NumberFormats","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,AppFileAccessTypeArray,XNode,PageNavigator,ChooserFolderPage,Form,FormField,toFileSize,ComboBox,Bind,SaveIconTextButton,Action,EditFileAccessPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess;AppFileAccessTypeArray=_modelModel.AppFileAccessTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commonPagesFoldersChooserFolderPage){ChooserFolderPage=_commonPagesFoldersChooserFolderPage.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",EditFileAccessPage=class EditFileAccessPage extends PopupWindowPage{init(){var _a,_b,_c;var _d,_e;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:AppFileAccess.create({});const file=yield PageNavigator.pushPageForResultOrCancel(ChooserFolderPage,{});(_d=this.model).type||(_d.type="read");(_b=(_e=this.model).file)!==null&&_b!==void 0?_b:_e.file=file;this.model.fileID=file.appFileID;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Folder"},XNode.create("div",null,file.name)),file.creator&&XNode.create(FormField,{label:"Owner"},XNode.create("div",null,(_c=file.creator)===null||_c===void 0?void 0:_c.displayName)),XNode.create(FormField,{label:"Size"},XNode.create("div",null,toFileSize(file.fileSize))),XNode.create(FormField,{label:"Access Type"},XNode.create(ComboBox,{value:Bind.twoWaysImmediate((()=>this.model.type)),items:AppFileAccessTypeArray})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-access"}))))}))}saveAccess(){return __awaiter(this,void 0,void 0,(function*(){return this.model}))}});__decorate([Action({onEvent:"save-access",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditFileAccessPage.prototype,"saveAccess",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,DropDown,FetchBuilder,UMD,countriesPromise,loadCountries,CountrySelect,CurrencySelect,isdForCountry,formatForCountry;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){loadCountries=()=>countriesPromise!==null&&countriesPromise!==void 0?countriesPromise:countriesPromise=FetchBuilder.get(UMD.resolvePath("@social-mail/social-mail-client/content/json/countries.json")).responseAsJson();_export("CountrySelect",CountrySelect=a=>XNode.create(DropDown,Object.assign({labelPath:item=>{var _a;return((_a=item.isdCode)===null||_a===void 0?void 0:_a.startsWith("+"))?item.isdCode:`+${item.isdCode} ${item.value}`},valuePath:item=>item.value,items:Bind.oneTimeAsync((()=>loadCountries()))},a)));_export("CurrencySelect",CurrencySelect=a=>XNode.create(DropDown,Object.assign({labelPath:item=>item.currency+"("+item.label+")",valuePath:item=>item.currency,items:Bind.oneTimeAsync((()=>loadCountries()))},a)));_export("isdForCountry",isdForCountry=(countryCode,prefix="")=>__awaiter(void 0,void 0,void 0,(function*(){const{isdCode}=(yield loadCountries()).find((x=>x.value===countryCode));if(prefix){return isdCode.startsWith(prefix)?isdCode:prefix+isdCode}return isdCode})));_export("formatForCountry",formatForCountry=countryCode=>__awaiter(void 0,void 0,void 0,(function*(){const countries=yield loadCountries();const country=countries.find((c=>c.value===countryCode));if(country){const{phoneFormat}=country;if(phoneFormat&&phoneFormat!=="0.0"){return phoneFormat}}return"####.####.####"})))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect");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","../../../../common/controls/countries/CountrySelect","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserAuthFactor,XNode,Form,FormField,CountrySelect,isdForCountry,Bind,SaveIconTextButton,Action,InjectProperty,EntityService,DateTime,UpdatePhoneNumberPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsCountriesCountrySelect){CountrySelect=_commonControlsCountriesCountrySelect.CountrySelect;isdForCountry=_commonControlsCountriesCountrySelect.isdForCountry},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("default",UpdatePhoneNumberPage=class UpdatePhoneNumberPage extends PopupWindowPage{constructor(){super(...arguments);this.model=UserAuthFactor.create({isdCode:"",phoneNumber:""});this.countryCode="IN"}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add New Phone Number";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"ISD Code"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.countryCode))})),XNode.create(FormField,{label:"Phone Number"},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.model.phoneNumber))})),XNode.create(FormField,{label:""},XNode.create(SaveIconTextButton,{"data-submit-event":"save-phone",text:"Save"}))))}))}savePhone(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){let isdCode=yield isdForCountry(this.countryCode);if(!isdCode.startsWith("+")){isdCode="+"+isdCode}const phoneNumber=isdCode+this.model.phoneNumber;const{userID}=this.parameters;let ua=yield this.entityService.query(UserAuthFactor).where({phoneNumber,userID},(p=>x=>x.userID===p.userID&&x.phoneNumber===p.phoneNumber&&x.method==="otp-in")).firstOrDefault();if(!ua){ua=UserAuthFactor.create({userID,phoneNumber,isdCode,method:"otp-in",verified:true})}ua.verified=true;ua.dateUpdated=DateTime.now;yield this.entityService.save(ua,(c=>c));((_a=(_b=this.parameters).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[]).add(ua);return ua}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],UpdatePhoneNumberPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-phone",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UpdatePhoneNumberPage.prototype,"savePhone",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/phone-numbers/UpdatePhoneNumberPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../common/NumberFormats","../../../common/controls/collection-editor/CollectionEditor","./domains/EditDomainUserPage","./mailboxes/EditUserMailboxPage","./files/EditFileAccessPage","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/PageNavigator","./EditUserPage","./phone-numbers/UpdatePhoneNumberPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserStatusArray,AdminUserService,InjectProperty,XNode,Form,toFileSize,CollectionEditor,EditDomainUserPage,EditUserMailboxPage,EditFileAccessPage,DeleteIconTextButton,SaveIconTextButton,Action,FormField,PageNavigator,EditUserPage,UpdatePhoneNumberPage,UserDetailsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserStatusArray=_modelModel.UserStatusArray},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commonControlsCollectionEditorCollectionEditor){CollectionEditor=_commonControlsCollectionEditorCollectionEditor.default},function(_domainsEditDomainUserPage){EditDomainUserPage=_domainsEditDomainUserPage.default},function(_mailboxesEditUserMailboxPage){EditUserMailboxPage=_mailboxesEditUserMailboxPage.default},function(_filesEditFileAccessPage){EditFileAccessPage=_filesEditFileAccessPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_EditUserPage){EditUserPage=_EditUserPage.default},function(_phoneNumbersUpdatePhoneNumberPage){UpdatePhoneNumberPage=_phoneNumbersUpdatePhoneNumberPage.default}],execute:function(){_export("default",UserDetailsPage=class UserDetailsPage extends ContentPage{init(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.get(this.parameters.userID);this.title=this.model.userName;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create(FormField,{label:"Username:"},XNode.create("label",null,this.model.userName)),XNode.create("div",{"data-layout":"row"},"Status: ",XNode.create("span",{"data-color":this.model.status==="active"?"green":this.model.status==="blocked"?"red":"black"},(_b=(_a=UserStatusArray.find((x=>x.value===this.model.status)))===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:this.model.status," ")),XNode.create("div",{"data-layout":"command-row"},this.model.status!=="active"&&XNode.create(SaveIconTextButton,{"data-submit-event":"activate-user",text:"Activate"}),this.model.status!=="blocked"&&XNode.create(DeleteIconTextButton,{"data-submit-event":"block-user",text:"Block"}),(this.model.multiFactor||((_c=this.model.authFactors)===null||_c===void 0?void 0:_c.length))&&XNode.create(DeleteIconTextButton,{"data-submit-event":"reset-mfa",text:"Reset MFA"}),XNode.create(SaveIconTextButton,{"data-click-event":"change-password",text:"Change Password"}),this.model.status!=="external"&&XNode.create(SaveIconTextButton,{"data-click-event":"update-phone-number",text:"Update Cell"})))),XNode.create(CollectionEditor,{label:"Domains",model:this.model,collection:"domainUsers",addPage:EditDomainUserPage,itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.hostedDomain.domain.name}),XNode.create("td",{text:item.allowCreateMailbox?"can create mailbox":item.isAdmin?" is admin":""}),XNode.create("td",{text:item.prefix}))}),XNode.create(CollectionEditor,{label:"Mailboxes",model:this.model,addPage:EditUserMailboxPage,collection:"userMailboxes",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.mailbox.emailAddress.emailAddress}),XNode.create("td",{text:toFileSize(item.mailbox.storage)}))}),XNode.create(CollectionEditor,{label:"Drives/Files",model:this.model,addPage:EditFileAccessPage,collection:"fileAccessList",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.file.name}),XNode.create("td",{text:item.type}),XNode.create("td",{text:toFileSize(item.file.fileSize)}))})))}))}activateUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.userService.save(this.model);yield this.init()}))}blockUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="blocked";yield this.userService.save(this.model);yield this.init()}))}resetMFA(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.resetMFA(this.model);yield this.init()}))}changePassword(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,this.model)}))}updatePhoneNumber(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(UpdatePhoneNumberPage,this.model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDetailsPage.prototype,"userService",void 0);__decorate([Action({onEvent:"activate-user",confirm:"Are you sure you want to activate the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"activateUser",null);__decorate([Action({onEvent:"block-user",confirm:"Are you sure you want to block the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"blockUser",null);__decorate([Action({onEvent:"reset-mfa",confirm:"Are you sure you want to reset multi factor authentications for this user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"resetMFA",null);__decorate([Action({onEvent:"change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"changePassword",null);__decorate([Action({onEvent:"update-phone-number"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"updatePhoneNumber",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./EditUserPage","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./UserDetailsPage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Action,PageNavigator,AtomRepeater,User,AdminUserService,InjectProperty,InfiniteRepeater,Bind,EditUserPage,MasterDetailPage,UserDetailsPage,styled,UserListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){User=_modelModel.User},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditUserPage){EditUserPage=_EditUserPage.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_UserDetailsPage){UserDetailsPage=_UserDetailsPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
1338
|
+
`.installGlobal("div[data-collection-editor]");hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true}}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");System.register(["tslib","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/Bind","../../domains/services/AdminDomainService","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/Checkbox","../../../../common/controls/buttons/IconButton","../../../../services/EntityService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,InjectProperty,XNode,Action,PopupWindowPage,DomainUser,Bind,AdminDomainService,Form,FormField,DropDown,Checkbox,SaveIconTextButton,EntityService,EditDomainUserPage;_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(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){DomainUser=_modelModel.DomainUser},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_domainsServicesAdminDomainService){AdminDomainService=_domainsServicesAdminDomainService.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsWebControlsDistBasicCheckbox){Checkbox=_webAtomsWebControlsDistBasicCheckbox.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_servicesEntityService){EntityService=_servicesEntityService.default}],execute:function(){_export("default",EditDomainUserPage=class EditDomainUserPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a,_b,_c,_d,_e;var _f,_g,_h;return __awaiter(this,void 0,void 0,(function*(){this.title="Choose Domain Configuration";const domains=yield this.adminDomainService.list();this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:DomainUser.create({});(_b=(_f=this.model).hostedDomain)!==null&&_b!==void 0?_b:_f.hostedDomain=domains[0];(_c=(_g=this.model).domainID)!==null&&_c!==void 0?_c:_g.domainID=(_d=this.model.hostedDomain)===null||_d===void 0?void 0:_d.domainID;(_e=(_h=this.model).allowCreateMailbox)!==null&&_e!==void 0?_e:_h.allowCreateMailbox=false;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Domain"},XNode.create(DropDown,{items:domains,itemRenderer:item=>XNode.create("div",{text:item.domain.name}),valuePath:item=>item.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create(FormField,{label:"Is Admin"},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.isAdmin)),text:" can create and view all mailboxes"})),XNode.create(FormField,{label:"Create Mailbox","style-display":Bind.oneWay((()=>!this.model.isAdmin))},XNode.create(Checkbox,{checked:Bind.twoWaysImmediate((()=>this.model.allowCreateMailbox)),text:" can create mailboxe for self use"})),XNode.create(FormField,{label:"Prefix","style-display":Bind.oneWay((()=>this.model.allowCreateMailbox))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.prefix))})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"event-click":()=>this.save(),text:"Save"}))))}))}save(){return __awaiter(this,void 0,void 0,(function*(){if(this.model.domainID&&this.model.userID){const es=this.resolve(EntityService);yield es.save(es.cloner(this.model).copy)}return this.model}))}});__decorate([InjectProperty,__metadata("design:type",AdminDomainService)],EditDomainUserPage.prototype,"adminDomainService",void 0);__decorate([Action({close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditDomainUserPage.prototype,"save",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage");System.register(["tslib","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/di/Inject","../../../../services/EntityService","../../../../model/model","../../../Sql","../../../SocialMailApp"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DITransient,Inject,EntityService,HostedDomain,Mailbox,MailboxContact,UserPushSubscription,Sql,SocialMailApp,MailboxService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDITransient){DITransient=_webAtomsCoreDistDiDITransient.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){HostedDomain=_modelModel.HostedDomain;Mailbox=_modelModel.Mailbox;MailboxContact=_modelModel.MailboxContact;UserPushSubscription=_modelModel.UserPushSubscription},function(_Sql){Sql=_Sql.Sql},function(_SocialMailApp){SocialMailApp=_SocialMailApp.default}],execute:function(){MailboxService=class MailboxService{domains(onlyHosted=false){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(HostedDomain);const hosted=yield q.include((x=>x.domain)).toArray();return hosted.map((x=>x.domain))}))}top({isChannel=false}={}){return __awaiter(this,void 0,void 0,(function*(){const q=this.entityService.query(Mailbox);const{userID}=SocialMailApp.user;const top=yield q.include((x=>x.emailAddress)).where({isChannel},(p=>x=>x.isChannel===p.isChannel)).orderByDescending({userID},(p=>x=>x.userPins.some((s=>p.userID===s.userID)))).thenByDescending((x=>x.dateUpdated)).toPagedList({size:3,count:false});yield this.updateNotify(top.items);return top.items}))}updateNotify(items){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){if(!(items===null||items===void 0?void 0:items.length)){return}const{userID}=SocialMailApp.user;const ids=items.map((x=>x.mailboxID));const all=yield this.entityService.query(UserPushSubscription).where({ids,userID},(p=>x=>x.userID===p.userID&&x.mailboxID in p.ids&&x.emailAddressID===null)).toArray();const map=new Map(all.map((x=>[x.mailboxID,x])));for(const iterator of items){iterator.notify=(_b=(_a=map.get(iterator.mailboxID))===null||_a===void 0?void 0:_a.notify)!==null&&_b!==void 0?_b:false}}))}list({search="",start=0,size=50,domainID=0,version=0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(Mailbox);if(domainID){q=q.where({domainID},(p=>x=>x.domainID===p.domainID))}if(search){if(search.endsWith("@")){search=`${search}%`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else if(search.startsWith("@")){search=`%${search}`;q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)))}else{if(!search.includes("%")){search=`%${search}%`}q=q.where({search},(p=>x=>Sql.text.like(x.emailAddress.emailAddress,p.search)||Sql.text.like(x.emailAddress.name,p.search)))}}const all=yield q.include((x=>x.emailAddress)).toPagedList({start,size,cancelToken});yield this.updateNotify(all.items);return all}))}toggleNotify(m){return __awaiter(this,void 0,void 0,(function*(){const{mailboxID}=m;let n=yield this.entityService.query(UserPushSubscription).where({mailboxID},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddressID===null)).firstOrDefault();if(!n){const{userID}=SocialMailApp.user;n=UserPushSubscription.create({userID,mailboxID})}n.notify=!m.notify;yield this.entityService.save(n);m.notify=n.notify}))}get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Mailbox).where({id},(p=>x=>x.mailboxID===p.id)).include((x=>[x.userMailboxes,x.syncTargets,x.emailAddress,x.domain])).firstOrDefault()}))}save(model){return __awaiter(this,void 0,void 0,(function*(){if(model.name){model.name=model.name.trim()}if(model.username){model.username=model.username.trim()}const cloner=this.entityService.cloner(model).include((x=>x.userMailboxes));yield this.entityService.save(cloner.copy);return model}))}saveContact(mc,retry=3){return __awaiter(this,void 0,void 0,(function*(){const{emailAddressText,mailboxID}=mc;const emailAddress=emailAddressText.trim().toLocaleLowerCase();const q=this.entityService.query(MailboxContact).where({mailboxID,emailAddress},(p=>x=>x.mailboxID===p.mailboxID&&x.emailAddress.emailAddress===p.emailAddress)).include((x=>x.emailAddress));const result=yield q.firstOrDefault();if(result){return result}try{yield this.entityService.save(mc);return yield q.firstOrDefault()}catch(error){if(retry--){return yield this.saveContact(mc,retry)}throw error}}))}saveSyncTarget(syncTarget){return __awaiter(this,void 0,void 0,(function*(){const cloner=this.entityService.cloner(syncTarget).copy;yield this.entityService.save(cloner)}))}};__decorate([Inject,__metadata("design:type",EntityService)],MailboxService.prototype,"entityService",void 0);MailboxService=__decorate([DITransient()],MailboxService);_export("default",MailboxService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");System.register(["tslib","@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/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/FormField","../../../../common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/view-model/Action","../../../../common/controls/repeater/InfiniteRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserMailbox,XNode,Form,Bind,FormField,MailboxService,InjectProperty,AtomRepeater,Action,InfiniteRepeater,EditUserMailboxPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserMailbox=_modelModel.UserMailbox},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonPagesMailboxesServicesMailboxService){MailboxService=_commonPagesMailboxesServicesMailboxService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default}],execute:function(){_export("default",EditUserMailboxPage=class EditUserMailboxPage extends PopupWindowPage{constructor(){super(...arguments);this.search="";this.selectedMailbox=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:UserMailbox.create({});this.title="Select Mailbox";this.headerRenderer=()=>XNode.create("div",{"data-layout":"header-row"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}));this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Choose Mailbox"},XNode.create(AtomRepeater,Object.assign({"data-list-selection":"default","data-layout":"list",selectOnClick:true,"data-click-event":"select-mailbox"},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.mailboxService.list({search:this.search,cancelToken,start,size:10}))),{itemRenderer:item=>XNode.create("div",{text:item.emailAddress.emailAddress})})))))}))}selectMailbox(mailbox){return __awaiter(this,void 0,void 0,(function*(){return{mailbox,mailboxID:mailbox.mailboxID}}))}});__decorate([InjectProperty,__metadata("design:type",MailboxService)],EditUserMailboxPage.prototype,"mailboxService",void 0);__decorate([Action({onEvent:"select-mailbox",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],EditUserMailboxPage.prototype,"selectMailbox",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage");System.register(["tslib","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/XNode","./AtomRepeater"],(function(_export,_context){"use strict";var __decorate,__metadata,BindableProperty,XNode,AtomRepeater,ComboBox;_export("default",void 0);return{setters:[function(_tslib){__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBindableProperty){BindableProperty=_webAtomsCoreDistCoreBindableProperty.BindableProperty},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_AtomRepeater){AtomRepeater=_AtomRepeater.default}],execute:function(){_export("default",ComboBox=class ComboBox extends AtomRepeater{constructor(app,e=document.createElement("select")){super(app,e);this.isChanging=false;this.selectedItems=[]}updateItems(container){var _a,_b;if(this.isChanging){return}super.updateItems(container);const selectedItems=this.selectedItems;if(!selectedItems){return}if(selectedItems.length===0){return}this.isChanging=true;const value=this.value;const valuePath=(_a=this.valuePath)!==null&&_a!==void 0?_a:item=>item;this.element.selectedIndex=(_b=this.items)===null||_b===void 0?void 0:_b.findIndex((v=>valuePath(v)==value));this.isChanging=false}updateClasses(){if(this.isChanging){return}super.updateClasses();this.updateItems()}preCreate(){super.preCreate();this.labelPath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.label)!==null&&_a!==void 0?_a:item.toString()};this.valuePath=item=>{var _a;return(_a=item===null||item===void 0?void 0:item.value)!==null&&_a!==void 0?_a:item.toString()};this.itemRenderer=item=>XNode.create("option",null,this.labelPath(item));this.bindEvent(this.element,"change",(()=>this.changeSelection()))}changeSelection(){if(this.isChanging){return}this.isChanging=true;const index=this.element.selectedIndex;if(index!==-1){const si=this.selectedItems;if(si){si.set(0,this.items[index])}}this.isChanging=false}});__decorate([BindableProperty,__metadata("design:type",Object)],ComboBox.prototype,"labelPath",void 0)}}}));AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/ComboBox");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/PageNavigator","../../../../common/pages/folders/ChooserFolderPage","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","../../../../common/NumberFormats","@web-atoms/web-controls/dist/basic/ComboBox","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,AppFileAccess,AppFileAccessTypeArray,XNode,PageNavigator,ChooserFolderPage,Form,FormField,toFileSize,ComboBox,Bind,SaveIconTextButton,Action,EditFileAccessPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){AppFileAccess=_modelModel.AppFileAccess;AppFileAccessTypeArray=_modelModel.AppFileAccessTypeArray},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_commonPagesFoldersChooserFolderPage){ChooserFolderPage=_commonPagesFoldersChooserFolderPage.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_webAtomsWebControlsDistBasicComboBox){ComboBox=_webAtomsWebControlsDistBasicComboBox.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default}],execute:function(){_export("default",EditFileAccessPage=class EditFileAccessPage extends PopupWindowPage{init(){var _a,_b,_c;var _d,_e;return __awaiter(this,void 0,void 0,(function*(){this.model=(_a=this.parameters)!==null&&_a!==void 0?_a:AppFileAccess.create({});const file=yield PageNavigator.pushPageForResultOrCancel(ChooserFolderPage,{});(_d=this.model).type||(_d.type="read");(_b=(_e=this.model).file)!==null&&_b!==void 0?_b:_e.file=file;this.model.fileID=file.appFileID;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Folder"},XNode.create("div",null,file.name)),file.creator&&XNode.create(FormField,{label:"Owner"},XNode.create("div",null,(_c=file.creator)===null||_c===void 0?void 0:_c.displayName)),XNode.create(FormField,{label:"Size"},XNode.create("div",null,toFileSize(file.fileSize))),XNode.create(FormField,{label:"Access Type"},XNode.create(ComboBox,{value:Bind.twoWaysImmediate((()=>this.model.type)),items:AppFileAccessTypeArray})),XNode.create("div",{"data-layout":"command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-access"}))))}))}saveAccess(){return __awaiter(this,void 0,void 0,(function*(){return this.model}))}});__decorate([Action({onEvent:"save-access",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],EditFileAccessPage.prototype,"saveAccess",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/core/dist/services/FetchBuilder","@web-atoms/core/dist/core/types"],(function(_export,_context){"use strict";var __awaiter,Bind,XNode,DropDown,FetchBuilder,UMD,countriesPromise,loadCountries,CountrySelect,CurrencySelect,isdForCountry,formatForCountry;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicDropDown){DropDown=_webAtomsWebControlsDistBasicDropDown.default},function(_webAtomsCoreDistServicesFetchBuilder){FetchBuilder=_webAtomsCoreDistServicesFetchBuilder.default},function(_webAtomsCoreDistCoreTypes){UMD=_webAtomsCoreDistCoreTypes.UMD}],execute:function(){loadCountries=()=>countriesPromise!==null&&countriesPromise!==void 0?countriesPromise:countriesPromise=FetchBuilder.get(UMD.resolvePath("@social-mail/social-mail-client/content/json/countries.json")).responseAsJson();_export("CountrySelect",CountrySelect=a=>XNode.create(DropDown,Object.assign({labelPath:item=>{var _a;return((_a=item.isdCode)===null||_a===void 0?void 0:_a.startsWith("+"))?item.isdCode:`+${item.isdCode} ${item.value}`},valuePath:item=>item.value,items:Bind.oneTimeAsync((()=>loadCountries()))},a)));_export("CurrencySelect",CurrencySelect=a=>XNode.create(DropDown,Object.assign({labelPath:item=>item.currency+"("+item.label+")",valuePath:item=>item.currency,items:Bind.oneTimeAsync((()=>loadCountries()))},a)));_export("isdForCountry",isdForCountry=(countryCode,prefix="")=>__awaiter(void 0,void 0,void 0,(function*(){const{isdCode}=(yield loadCountries()).find((x=>x.value===countryCode));if(prefix){return isdCode.startsWith(prefix)?isdCode:prefix+isdCode}return isdCode})));_export("formatForCountry",formatForCountry=countryCode=>__awaiter(void 0,void 0,void 0,(function*(){const countries=yield loadCountries();const country=countries.find((c=>c.value===countryCode));if(country){const{phoneFormat}=country;if(phoneFormat&&phoneFormat!=="0.0"){return phoneFormat}}return"####.####.####"})))}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/countries/CountrySelect");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","../../../../common/controls/countries/CountrySelect","@web-atoms/core/dist/core/Bind","../../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/core/dist/core/InjectProperty","../../../../services/EntityService","@web-atoms/date-time/dist/DateTime"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,UserAuthFactor,XNode,Form,FormField,CountrySelect,isdForCountry,Bind,SaveIconTextButton,Action,InjectProperty,EntityService,DateTime,UpdatePhoneNumberPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){UserAuthFactor=_modelModel.UserAuthFactor},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_commonControlsCountriesCountrySelect){CountrySelect=_commonControlsCountriesCountrySelect.CountrySelect;isdForCountry=_commonControlsCountriesCountrySelect.isdForCountry},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commonControlsButtonsIconButton){SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default}],execute:function(){_export("default",UpdatePhoneNumberPage=class UpdatePhoneNumberPage extends PopupWindowPage{constructor(){super(...arguments);this.model=UserAuthFactor.create({isdCode:"",phoneNumber:""});this.countryCode="IN"}init(){return __awaiter(this,void 0,void 0,(function*(){this.title="Add New Phone Number";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"ISD Code"},XNode.create(CountrySelect,{value:Bind.twoWaysImmediate((()=>this.countryCode))})),XNode.create(FormField,{label:"Phone Number"},XNode.create("input",{type:"tel",value:Bind.twoWaysImmediate((()=>this.model.phoneNumber))})),XNode.create(FormField,{label:""},XNode.create(SaveIconTextButton,{"data-submit-event":"save-phone",text:"Save"}))))}))}savePhone(){var _a;var _b;return __awaiter(this,void 0,void 0,(function*(){let isdCode=yield isdForCountry(this.countryCode);if(!isdCode.startsWith("+")){isdCode="+"+isdCode}const phoneNumber=isdCode+this.model.phoneNumber;const{userID}=this.parameters;let ua=yield this.entityService.query(UserAuthFactor).where({phoneNumber,userID},(p=>x=>x.userID===p.userID&&x.phoneNumber===p.phoneNumber&&x.method==="otp-in")).firstOrDefault();if(!ua){ua=UserAuthFactor.create({userID,phoneNumber,isdCode,method:"otp-in",verified:true})}ua.verified=true;ua.dateUpdated=DateTime.now;yield this.entityService.save(ua,(c=>c));((_a=(_b=this.parameters).authFactors)!==null&&_a!==void 0?_a:_b.authFactors=[]).add(ua);return ua}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],UpdatePhoneNumberPage.prototype,"entityService",void 0);__decorate([Action({onEvent:"save-phone",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UpdatePhoneNumberPage.prototype,"savePhone",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/phone-numbers/UpdatePhoneNumberPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","../../../common/NumberFormats","../../../common/controls/collection-editor/CollectionEditor","./domains/EditDomainUserPage","./mailboxes/EditUserMailboxPage","./files/EditFileAccessPage","../../../common/controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/PageNavigator","./EditUserPage","./phone-numbers/UpdatePhoneNumberPage","@web-atoms/core/dist/core/Bind"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,UserStatusArray,AdminUserService,InjectProperty,XNode,Form,toFileSize,CollectionEditor,EditDomainUserPage,EditUserMailboxPage,EditFileAccessPage,DeleteIconTextButton,SaveIconTextButton,Action,FormField,PageNavigator,EditUserPage,UpdatePhoneNumberPage,Bind,UserDetailsPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){UserStatusArray=_modelModel.UserStatusArray},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_commonNumberFormats){toFileSize=_commonNumberFormats.toFileSize},function(_commonControlsCollectionEditorCollectionEditor){CollectionEditor=_commonControlsCollectionEditorCollectionEditor.default},function(_domainsEditDomainUserPage){EditDomainUserPage=_domainsEditDomainUserPage.default},function(_mailboxesEditUserMailboxPage){EditUserMailboxPage=_mailboxesEditUserMailboxPage.default},function(_filesEditFileAccessPage){EditFileAccessPage=_filesEditFileAccessPage.default},function(_commonControlsButtonsIconButton){DeleteIconTextButton=_commonControlsButtonsIconButton.DeleteIconTextButton;SaveIconTextButton=_commonControlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_EditUserPage){EditUserPage=_EditUserPage.default},function(_phoneNumbersUpdatePhoneNumberPage){UpdatePhoneNumberPage=_phoneNumbersUpdatePhoneNumberPage.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default}],execute:function(){_export("default",UserDetailsPage=class UserDetailsPage extends ContentPage{init(){var _a,_b,_c;return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.userService.get(this.parameters.userID);this.title=this.model.userName;this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create(FormField,{label:"Username:"},XNode.create("label",null,this.model.userName)),XNode.create("div",{"data-layout":"row"},"Status: ",XNode.create("span",{"data-color":this.model.status==="active"?"green":this.model.status==="blocked"?"red":"black"},(_b=(_a=UserStatusArray.find((x=>x.value===this.model.status)))===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:this.model.status," ")),XNode.create("div",{"data-layout":"command-row"},this.model.status!=="active"&&XNode.create(SaveIconTextButton,{"data-submit-event":"activate-user",text:"Activate"}),this.model.status!=="blocked"&&XNode.create(DeleteIconTextButton,{"data-submit-event":"block-user",text:"Block"}),(this.model.multiFactor||((_c=this.model.authFactors)===null||_c===void 0?void 0:_c.length))&&XNode.create(DeleteIconTextButton,{"data-submit-event":"reset-mfa",text:"Reset MFA"}),XNode.create(SaveIconTextButton,{"data-click-event":"change-password",text:"Change Password"}),this.model.status!=="external"&&XNode.create(SaveIconTextButton,{"data-click-event":"update-phone-number",text:"Update Cell"})))),XNode.create("div",{"data-layout":"frame-vertical-flex"},XNode.create(Form,null,XNode.create(FormField,{label:"Max Storage"},XNode.create("input",{type:"number",value:Bind.twoWaysImmediate((()=>this.model.maxStorage))})),XNode.create(FormField,{label:"Max External Mailboxes"},XNode.create("input",{type:"number",value:Bind.twoWaysImmediate((()=>this.model.maxExternalInboxes))})),XNode.create(FormField,{label:"Max Child Users"},XNode.create("input",{type:"number",value:Bind.twoWaysImmediate((()=>this.model.maxChildUsers))})),XNode.create(FormField,{label:""},XNode.create(SaveIconTextButton,{"data-click-event":"save-user",text:"Save"})))),XNode.create(CollectionEditor,{label:"Domains",model:this.model,collection:"domainUsers",addPage:EditDomainUserPage,itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.hostedDomain.domain.name}),XNode.create("td",{text:item.allowCreateMailbox?"can create mailbox":item.isAdmin?" is admin":""}),XNode.create("td",{text:item.prefix}))}),XNode.create(CollectionEditor,{label:"Mailboxes",model:this.model,addPage:EditUserMailboxPage,collection:"userMailboxes",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.mailbox.emailAddress.emailAddress}),XNode.create("td",{text:toFileSize(item.mailbox.storage)}))}),XNode.create(CollectionEditor,{label:"Drives/Files",model:this.model,addPage:EditFileAccessPage,collection:"fileAccessList",itemRenderer:item=>XNode.create("tr",null,XNode.create("td",{text:item.file.name}),XNode.create("td",{text:item.type}),XNode.create("td",{text:toFileSize(item.file.fileSize)}))})))}))}activateUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="active";yield this.userService.save(this.model);yield this.init()}))}blockUser(){return __awaiter(this,void 0,void 0,(function*(){this.model.status="blocked";yield this.userService.save(this.model);yield this.init()}))}resetMFA(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.resetMFA(this.model);yield this.init()}))}changePassword(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(EditUserPage,this.model)}))}updatePhoneNumber(){return __awaiter(this,void 0,void 0,(function*(){PageNavigator.pushPage(UpdatePhoneNumberPage,this.model)}))}saveUser(){return __awaiter(this,void 0,void 0,(function*(){yield this.userService.save(this.model)}))}});__decorate([InjectProperty,__metadata("design:type",AdminUserService)],UserDetailsPage.prototype,"userService",void 0);__decorate([Action({onEvent:"activate-user",confirm:"Are you sure you want to activate the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"activateUser",null);__decorate([Action({onEvent:"block-user",confirm:"Are you sure you want to block the user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"blockUser",null);__decorate([Action({onEvent:"reset-mfa",confirm:"Are you sure you want to reset multi factor authentications for this user?"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"resetMFA",null);__decorate([Action({onEvent:"change-password"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"changePassword",null);__decorate([Action({onEvent:"update-phone-number"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"updatePhoneNumber",null);__decorate([Action({onEvent:"save-user"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],UserDetailsPage.prototype,"saveUser",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/basic/AtomRepeater","../../../model/model","./services/AdminUserService","@web-atoms/core/dist/core/InjectProperty","../../../common/controls/repeater/InfiniteRepeater","@web-atoms/core/dist/core/Bind","./EditUserPage","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","./UserDetailsPage","@web-atoms/core/dist/style/styled"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,Action,PageNavigator,AtomRepeater,User,AdminUserService,InjectProperty,InfiniteRepeater,Bind,EditUserPage,MasterDetailPage,UserDetailsPage,styled,UserListPage,css;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_modelModel){User=_modelModel.User},function(_servicesAdminUserService){AdminUserService=_servicesAdminUserService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_commonControlsRepeaterInfiniteRepeater){InfiniteRepeater=_commonControlsRepeaterInfiniteRepeater.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_EditUserPage){EditUserPage=_EditUserPage.default},function(_webAtomsWebControlsDistMobileAppMasterDetailPage){MasterDetailPage=_webAtomsWebControlsDistMobileAppMasterDetailPage.default},function(_UserDetailsPage){UserDetailsPage=_UserDetailsPage.default},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default}],execute:function(){css=styled.css`
|
|
1339
1339
|
&[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
|
|
1340
1340
|
grid-template-columns: 150px 1fr auto;
|
|
1341
1341
|
}
|
|
@@ -4899,7 +4899,7 @@ display: grid;
|
|
|
4899
4899
|
overflow: visible;
|
|
4900
4900
|
}
|
|
4901
4901
|
|
|
4902
|
-
`.installGlobal("[data-collection-editor-ex]");hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true};_export("default",CollectionEditorEx=class CollectionEditorEx extends AtomControl{constructor(app,e=document.createElement("details")){super(app,e);this.label="";this.model=null;this.field=null;this.pageResultToItem=null;this.itemFactory=null;this.itemRenderer=null;this.inlineAddRenderer=null;this.inlineAdd=false;this.addPage=null;this.editPage=null;this.autoFocus=false;this.saveAfterAdd=true;this.layout="data-grid";this.footer=null;this.addItemDefaults=null;this.schema=null;this.items=[];this.fieldName=null;this.relation=null;this.element.setAttribute("data-collection-editor-ex","collection-editor-ex");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;var _b,_c;return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;if(this.model){(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]}this.inlineAdd||(this.inlineAdd=!!this.inlineAddRenderer);const fx=()=>{var _a;var _b,_c;return(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]};const exp=`() => this.model`;fx.toString=()=>exp;this.renderer=XNode.create("details",{"data-border":"frame",open:true,items:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName))))},XNode.create("summary",{text:Bind.oneWay((()=>this.label))}),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.repeater=c)),"data-layout":this.layout,"event-delete-collection-item":ce=>this.deleteItem(ce.detail),items:Bind.oneWay((()=>this.items)),footer:Bind.oneWay((()=>{var _a;return this.inlineAdd?this.relation.relatedModel.create(Object.assign({},(_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})):void 0})),footerRenderer:newItem=>{var _a,_b;const node=this.inlineAddRenderer?this.inlineAddRenderer(newItem):this.itemRenderer(newItem);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create("button",{"event-click":()=>__awaiter(this,void 0,void 0,(function*(){var _c;yield this.addNewItemInList(newItem);this.repeater.footer=this.relation.relatedModel.create(Object.assign({},(_c=this.addItemDefaults)!==null&&_c!==void 0?_c:{}))})),text:"Add"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node},itemRenderer:item=>{var _a,_b;const node=this.itemRenderer(item);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node}}),this.footer?this.footer():!this.inlineAdd&&XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":()=>this.onAddItem(),text:"Add New"}))))}))}deleteItem(item){return __awaiter(this,void 0,void 0,(function*(){const{items,repeater}=this;if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}))}onAddItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{addPage,addItemDefaults,pageResultToItem,itemFactory}=this;let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}));newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=(_a=itemFactory===null||itemFactory===void 0?void 0:itemFactory())!==null&&_a!==void 0?_a:this.relation.relatedModel.create(Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}))}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}yield this.addNewItemInList(newItem)}))}addNewItemInList(newItem){return __awaiter(this,void 0,void 0,(function*(){const{repeater,model,schema}=this;if(hasKeys(model,schema)&&this.saveAfterAdd){const es=this.resolve(EntityService);const draft=Object.assign(Object.assign({},model),{[this.fieldName]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[this.fieldName]));yield es.save(clone.copy)}repeater.items.add(newItem)}))}});__decorate([Action({confirm:"Are you sure you want to delete this?",confirmTitle:"Confirm Delete"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"deleteItem",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"onAddItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Contact,DISingleton,ContactService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Contact=_modelModel.Contact},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){ContactService=class ContactService{get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Contact).where({id},(p=>x=>x.contactID===p.id)).include((x=>[x.addresses,x.items,x.emails,x.phones,x.hostedDomain])).firstOrDefault()}))}save(contact){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(contact,(c=>c.include((x=>x.addresses)).include((x=>x.items)).include((x=>x.emails)).include((x=>x.phones))))}))}};__decorate([Inject,__metadata("design:type",EntityService)],ContactService.prototype,"entityService",void 0);ContactService=__decorate([DISingleton()],ContactService);_export("default",ContactService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/contacts/ContactService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../controls/collection-editor/CollectionEditorEx","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/contacts/ContactService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Contact,ContactEmail,ContactPhone,HostedDomain,XNode,Form,FormField,Bind,ToggleButtonBar,Select,InjectProperty,EntityService,CollectionEditorEx,SaveIconTextButton,Action,ContactService,ContactEditorPage,contactTypes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Contact=_modelModel.Contact;ContactEmail=_modelModel.ContactEmail;ContactPhone=_modelModel.ContactPhone;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesContactsContactService){ContactService=_servicesContactsContactService.default}],execute:function(){contactTypes=[{label:"Company",value:"company"},{label:"Person",value:"person"}];_export("default",ContactEditorPage=class ContactEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.contactID)?yield this.contactService.get(this.parameters.contactID):Contact.create({type:"person",name:"",emails:[ContactEmail.create({emailAddressText:"",emailAddressID:null})],phones:[ContactPhone.create({phoneNumberE64:""})]});this.title=this.model.contactID?"Edit "+this.model.name:"Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name",required:true,error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(FormField,{label:"Type"},XNode.create(ToggleButtonBar,{items:contactTypes,labelPath:x=>x.label,valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Domain"},XNode.create(Select,{items:Bind.oneWay((()=>this.entityService.query(HostedDomain).include((x=>x.domain)).toArray())),labelPath:x=>x.domain.name,valuePath:x=>x.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(CollectionEditorEx,{label:"Phone",model:this.model,field:x=>x.phones,itemRenderer:item=>XNode.create("div",null,XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.phoneNumberE64))}))}),XNode.create(CollectionEditorEx,{label:"Email",model:this.model,field:x=>x.emails,itemRenderer:item=>XNode.create("div",null,item.emailAddress?XNode.create("div",{text:item.emailAddress.emailAddress}):XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.emailAddress))}))})),XNode.create("details",{open:true,"data-border":"frame"},XNode.create("summary",null,"Tax Numbers"),XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(FormField,{label:"GST ID (GSTIN)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.gstTaxID))})),XNode.create(FormField,{label:"Income TAX (PAN/TAX ID)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.incomeTaxID))})),XNode.create(FormField,{label:"Sales TAX ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salesTaxID))})))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-contact"}))))}))}saveContact(){return __awaiter(this,void 0,void 0,(function*(){yield this.contactService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ContactEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",ContactService)],ContactEditorPage.prototype,"contactService",void 0);__decorate([Action({onEvent:"save-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ContactEditorPage.prototype,"saveContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/contacts/ContactEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreOrderService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/Expander","../../../controls/reference-editor/ReferenceEditor","../../../Sql","../../contacts/ContactEditorPage","../../../controls/collection-editor/CollectionEditorEx","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/AtomRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreJournal,StoreJournalLineItem,InjectProperty,StoreOrderService,XNode,Form,Expander,ReferenceEditor,Sql,ContactEditorPage,CollectionEditorEx,Bind,AtomRepeater,EditOrderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_controlsReferenceEditorReferenceEditor){ReferenceEditor=_controlsReferenceEditorReferenceEditor.default},function(_Sql){Sql=_Sql.Sql},function(_contactsContactEditorPage){ContactEditorPage=_contactsContactEditorPage.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default}],execute:function(){_export("default",EditOrderPage=class EditOrderPage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const storeID=this.parameters.storeID;if(!storeID){alert("StoreID must be present.");this.cancel();return}this.model=this.parameters.journalID?yield this.storeOrderService.get(this.parameters.journalID):StoreJournal.create(Object.assign(Object.assign({},this.parameters),{journalType:"sales-invoice",storeID,buyer:null,seller:null,lineItems:[StoreJournalLineItem.create({item:null,itemPrice:null,quantity:1})]}));this.renderer=XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(Form,null,XNode.create(ReferenceEditor,{label:"Buyer",model:this.model,field:x=>x.buyer,editModelPage:ContactEditorPage,searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch)||x.emails.some((e=>Sql.text.iLike(e.emailAddress.emailAddress,p.likeSearch)))||x.phones.some((e=>e.phoneNumberE64===p.search)))):q).where((x=>x.type!=="domain")).include((x=>[x.items,x.domains,x.addresses])).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("label",{text:x.name}),XNode.create("label",{text:x.gstTaxID||x.incomeTaxID}))})),XNode.create(CollectionEditorEx,{label:"Items",model:this.model,field:x=>x.lineItems,addItemDefaults:{item:null,itemPrice:null,quantity:1},"event-item-deleted":ce=>this.onLineItemDeleted(ce.detail),itemRenderer:line=>XNode.create("div",{"data-layout":"row","data-align-items":"flex-start"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.item,addNewDefaults:{storeID},searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch))):q).where({storeID},(p=>x=>x.storeID===p.storeID)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.itemPrice,addNewDefaults:Bind.source(line,(x=>({storeItemID:x.source.itemID}))),"event-reference-updated":ce=>this.onItemPriceUpdated(line,ce.detail),searchQuery:(q,search)=>q.where({id:line.itemID},(p=>x=>x.storeItemID===p.id)),itemRenderer:x=>XNode.create("div",{text:`${x.currency} ${x.amount}`})}),XNode.create("input",{value:Bind.sourceTwoWays(line,(x=>x.source.quantity))}),XNode.create("input",{readOnly:true,value:Bind.source(line,(x=>x.source.amount))}),XNode.create("div",{"data-layout":"vertical-flex","style-padding":"0","style-overflow":"visible"},XNode.create(AtomRepeater,{items:Bind.source(line,(x=>x.source.relatedItems)),itemRenderer:ri=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.source(ri,(x=>x.source.item?x.source.item.name:""))}),XNode.create("div",{text:Bind.source(ri,(x=>x.source.amount))}))})))}),XNode.create(Expander,{isExpanded:false,"data-border":"frame"},XNode.create("div",null,"Journal Entries"),XNode.create("table",null,XNode.create("tr",null,XNode.create("th",null,"Ledger"),XNode.create("th",null,"Debit"),XNode.create("th",null,"Credit"),XNode.create("th",{title:"Balance when entry was posted"},"Posted Balance")),...((_a=this.model.entries)!==null&&_a!==void 0?_a:[]).map((x=>XNode.create("tr",null,XNode.create("td",null,x.ledger.name),XNode.create("td",null,x.debit),XNode.create("td",null,x.credit),XNode.create("td",{title:"Balance when posted"},x.balance)))))))}))}onItemPriceUpdated(line,detail){line.amount=Number(detail.amount)}onLineItemDeleted(line){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.deleteLineItem(this.model,line)}))}taxFolderUpdated(line,taxFolder){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.updateTaxFolder(this.model,line,taxFolder)}))}});__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],EditOrderPage.prototype,"storeOrderService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/orders/EditOrderPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../commands/CommonCommands","../../controls/repeater/InfiniteRepeater","../../../services/store/StoreOrderService","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./orders/EditOrderPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,CommonCommands,InfiniteRepeater,StoreOrderService,AddIconTextButton,Action,PageNavigator,EditOrderPage,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ordersEditOrderPage){EditOrderPage=_ordersEditOrderPage.default}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editProductList.displayRoute({storeID:this.parameters.id}),text:"Products"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editConfig.displayRoute({storeID:this.parameters.id}),text:"Settings"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editStoreTemplates.displayRoute({storeID:this.parameters.id}),text:"Templates"}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",null,XNode.create("label",{text:item.journalID}),XNode.create("label",{text:item.journalType}),XNode.create("a",{text:(_a=item.buyer)===null||_a===void 0?void 0:_a.name,"data-click-event":"route"}))}}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditOrderPage,{storeID:this.parameters.id})}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/StoreDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime","../files/MimeTypeService","../../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Store,StoreItem,StoreMediaFile,Sql,DateTime,MimeTypeService,CloudFileService,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Store=_modelModel.Store;StoreItem=_modelModel.StoreItem;StoreMediaFile=_modelModel.StoreMediaFile},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_filesMimeTypeService){MimeTypeService=_filesMimeTypeService.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){StoreItemService=class StoreItemService{get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const items=yield this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id||x.variantForID===p.id||x.sizeForID===p.id)).include((x=>[x.store.folder,x.itemFolder,x.fileFolder,x.storeItemPrices,x.variantFor,x.sizeFor,x.taxes.forEach((t=>t.taxItem.storeItemPrices)),x.mediaFiles.forEach((m=>m.appFile)),x.storeItemTags.forEach((t=>t.tag))])).toArray();const item=items.find((x=>x.storeItemID===id));if(!item.folderID){const store=yield this.entityService.query(Store).where({storeID:item.storeID},(p=>x=>x.storeID===p.storeID)).firstOrDefault();const{folderID:parentID}=store;const now=DateTime.now;const fileFolder=AppFile.create({parentID,name:`${item.name} (${item.storeItemID})`,isFolder:true,contentType:"folder",dateCreated:now,dateUpdated:now});yield this.entityService.save(fileFolder);item.folderID=fileFolder.appFileID;item.fileFolder=fileFolder;yield this.entityService.save(item,(c=>c))}(_a=item.storeItemTags)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.sortOrder-b.sortOrder));return item}))}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID&&x.sizeForID===null&&x.variantForID===null));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).include((x=>[x.itemFolder])).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(c=>c.include((x=>x.storeItemPrices)).include((x=>x.taxes)).include((x=>x.storeItemTags)).thenInclude((x=>x.tag)).include((x=>x.mediaFiles))));return storeItem}))}getOrCreateMediaFile(model,name,template){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{folderID}=model;let file=yield this.entityService.query(AppFile).where({folderID,name},(p=>x=>x.parentID===p.folderID&&x.name===p.name)).firstOrDefault();if(!file){file=AppFile.create({parentID:folderID,isFolder:false,contentType:yield this.mimeTypeService.getMimeType(name),name});yield this.entityService.save(file);if(template){const{fileContentID,url}=yield this.cloudFileService.saveFile({appFileID:file.appFileID,content:new File([template()],name,{type:"text/html"})});file.url=url;file.fileContentID=fileContentID;file.downloadUrl=url}}let mediaFile=(_a=model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title===name));if(!mediaFile){mediaFile=StoreMediaFile.create({storeItemID:model.storeItemID,appFileID:file.appFileID,fileContentID:file.fileContentID,isPreview:false,title:name});yield this.entityService.save(mediaFile);((_b=model.mediaFiles)!==null&&_b!==void 0?_b:model.mediaFiles=[]).add(mediaFile)}else{if(mediaFile.fileContentID!==file.fileContentID){mediaFile.appFileID=file.appFileID;mediaFile.fileContentID=file.fileContentID;yield this.entityService.save(mediaFile,(c=>c))}}mediaFile.appFile=file;return mediaFile}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MimeTypeService)],StoreItemService.prototype,"mimeTypeService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],StoreItemService.prototype,"cloudFileService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,Tag,Sql,TagChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Tag=_modelModel.Tag},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",TagChips=class TagChips extends AtomChips{preCreate(){super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Tags";this.itemRenderer=x=>{var _a;return XNode.create(Chip,{draggable:true,deleted:x.$deleted,label:(_a=x.tag)===null||_a===void 0?void 0:_a.name})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:x.name});this.enterKeyHint="enter";this.itemToChip=(item,name)=>({$deleted:false,tag:Tag.create({name})});this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a,_b;return(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.tagID)!==null&&_b!==void 0?_b:x.tagID};this.bindEvent(this.element,"itemDropped",(()=>{this.items.forEach(((v,i)=>v.sortOrder=i))}))}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}let q=this.entityService.query(Tag);search=search.toLocaleLowerCase();q=q.where({search:search+"%"},(p=>x=>Sql.text.like(x.name,p.search)));const items=yield q.orderBy((x=>x.name)).toPagedList({cancelToken,hideActivityIndicator:true,size:10});return items.items.map((tag=>({tag})))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tags/TagChips");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","../NumberFormats","@web-atoms/core/dist/view-model/Action","../apiPath","../controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,styled,AtomControl,XNode,Bind,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,FilesDragDrop,InjectProperty,CloudFileService,toFileSize,Action,apiPath,DeleteIconTextButton,FolderViewControl,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsTreeFileTreeView){FolderTreeView=_controlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_apiPath){apiPath=_apiPath.apiPath},function(_controlsButtonsIconButton){DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton}],execute:function(){styled.css`
|
|
4902
|
+
`.installGlobal("[data-collection-editor-ex]");hasKeys=(model,schema)=>{for(const iterator of schema.schema.keys){if(!model[iterator.name]){return false}}return true};_export("default",CollectionEditorEx=class CollectionEditorEx extends AtomControl{constructor(app,e=document.createElement("details")){super(app,e);this.label="";this.model=null;this.field=null;this.pageResultToItem=null;this.itemFactory=null;this.itemRenderer=null;this.inlineAddRenderer=null;this.inlineAdd=false;this.addPage=null;this.editPage=null;this.autoFocus=false;this.saveAfterAdd=true;this.layout="data-grid";this.footer=null;this.addItemDefaults=null;this.schema=null;this.items=[];this.fieldName=null;this.relation=null;this.element.setAttribute("data-collection-editor-ex","collection-editor-ex");this.runAfterInit((()=>this.app.runAsync((()=>this.init()))))}init(){var _a;var _b,_c;return __awaiter(this,void 0,void 0,(function*(){const fieldName=ExpressionParser.parsePath(this.field)[0][0];this.fieldName=fieldName;if(this.model){(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]}this.inlineAdd||(this.inlineAdd=!!this.inlineAddRenderer);const fx=()=>{var _a;var _b,_c;return(_a=(_b=this.model)[_c=this.fieldName])!==null&&_a!==void 0?_a:_b[_c]=[]};const exp=`() => this.model`;fx.toString=()=>exp;this.renderer=XNode.create("details",{"data-border":"frame",open:true,items:Bind.oneWay(fx),schema:Bind.oneWay((()=>modelEntitySchemas[this.model.$type])),relation:Bind.oneWay((()=>this.schema.schema.relations.find((x=>x.name===this.fieldName))))},XNode.create("summary",{text:Bind.oneWay((()=>this.label))}),XNode.create("div",null,XNode.create(AtomRepeater,{presenter:Bind.presenter((c=>this.repeater=c)),"data-layout":this.layout,"event-delete-collection-item":ce=>this.deleteItem(ce.detail),items:Bind.oneWay((()=>this.items)),footer:Bind.oneWay((()=>{var _a;return this.inlineAdd?this.relation.relatedModel.create(Object.assign({},(_a=this.addItemDefaults)!==null&&_a!==void 0?_a:{})):void 0})),footerRenderer:newItem=>{var _a,_b;const node=this.inlineAddRenderer?this.inlineAddRenderer(newItem):this.itemRenderer(newItem);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create("button",{"event-click":()=>__awaiter(this,void 0,void 0,(function*(){var _c;yield this.addNewItemInList(newItem);this.repeater.footer=this.relation.relatedModel.create(Object.assign({},(_c=this.addItemDefaults)!==null&&_c!==void 0?_c:{}))})),text:"Add"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node},itemRenderer:item=>{var _a,_b;const node=this.itemRenderer(item);const na=(_a=node.attributes)!==null&&_a!==void 0?_a:node.attributes={};na["data-margin"]="default";node.children.push(XNode.create("span",null,XNode.create(DeleteIconButton,{"data-click-event":"delete-collection-item"})));for(const iterator of node.children){const a=(_b=iterator.attributes)!==null&&_b!==void 0?_b:iterator.attributes={};a["data-margin"]="default"}return node}}),this.footer?this.footer():!this.inlineAdd&&XNode.create("div",null,XNode.create(AddIconTextButton,{"event-click":()=>this.onAddItem(),text:"Add New"}))))}))}deleteItem(item){return __awaiter(this,void 0,void 0,(function*(){const{items,repeater}=this;if(typeof item.$deleted==="undefined"){items.remove(item);return}item.$deleted=true;const es=repeater.app.resolve(EntityService);const copy=es.cloner(item).copy;yield es.save(copy);items.remove(item)}))}onAddItem(){var _a;return __awaiter(this,void 0,void 0,(function*(){const{addPage,addItemDefaults,pageResultToItem,itemFactory}=this;let newItem;if(addPage){const result=yield PageNavigator.pushPageForResult(addPage,Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}));newItem=pageResultToItem?pageResultToItem(result):result}else{newItem=(_a=itemFactory===null||itemFactory===void 0?void 0:itemFactory())!==null&&_a!==void 0?_a:this.relation.relatedModel.create(Object.assign({},addItemDefaults!==null&&addItemDefaults!==void 0?addItemDefaults:{}))}if(!newItem){return}if(newItem===null||newItem===void 0?void 0:newItem.then){newItem=yield newItem}yield this.addNewItemInList(newItem)}))}addNewItemInList(newItem){return __awaiter(this,void 0,void 0,(function*(){const{repeater,model,schema}=this;if(hasKeys(model,schema)&&this.saveAfterAdd){const es=this.resolve(EntityService);const draft=Object.assign(Object.assign({},model),{[this.fieldName]:[newItem]});let clone=es.cloner(draft);clone=clone.include((x=>x[this.fieldName]));yield es.save(clone.copy)}repeater.items.add(newItem)}))}});__decorate([Action({confirm:"Are you sure you want to delete this?",confirmTitle:"Confirm Delete"}),__metadata("design:type",Function),__metadata("design:paramtypes",[Object]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"deleteItem",null);__decorate([Action({}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],CollectionEditorEx.prototype,"onAddItem",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditorEx");System.register(["tslib","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","@web-atoms/core/dist/di/DISingleton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Inject,EntityService,Contact,DISingleton,ContactService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){Contact=_modelModel.Contact},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default}],execute:function(){ContactService=class ContactService{get(id){return __awaiter(this,void 0,void 0,(function*(){return this.entityService.query(Contact).where({id},(p=>x=>x.contactID===p.id)).include((x=>[x.addresses,x.items,x.emails,x.phones,x.hostedDomain])).firstOrDefault()}))}save(contact){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(contact,(c=>c.include((x=>x.addresses)).include((x=>x.items)).include((x=>x.emails)).include((x=>x.phones))))}))}};__decorate([Inject,__metadata("design:type",EntityService)],ContactService.prototype,"entityService",void 0);ContactService=__decorate([DISingleton()],ContactService);_export("default",ContactService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/contacts/ContactService");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../model/model","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/ToggleButtonBar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/core/dist/core/InjectProperty","../../../services/EntityService","../../controls/collection-editor/CollectionEditorEx","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","../../../services/contacts/ContactService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,PopupWindowPage,Contact,ContactEmail,ContactPhone,HostedDomain,XNode,Form,FormField,Bind,ToggleButtonBar,Select,InjectProperty,EntityService,CollectionEditorEx,SaveIconTextButton,Action,ContactService,ContactEditorPage,contactTypes;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){PopupWindowPage=_webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage},function(_modelModel){Contact=_modelModel.Contact;ContactEmail=_modelModel.ContactEmail;ContactPhone=_modelModel.ContactPhone;HostedDomain=_modelModel.HostedDomain},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicFormField){FormField=_webAtomsWebControlsDistBasicFormField.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicToggleButtonBar){ToggleButtonBar=_webAtomsWebControlsDistBasicToggleButtonBar.default},function(_webAtomsWebControlsDistBasicSelect){Select=_webAtomsWebControlsDistBasicSelect.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_controlsButtonsIconButton){SaveIconTextButton=_controlsButtonsIconButton.SaveIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_servicesContactsContactService){ContactService=_servicesContactsContactService.default}],execute:function(){contactTypes=[{label:"Company",value:"company"},{label:"Person",value:"person"}];_export("default",ContactEditorPage=class ContactEditorPage extends PopupWindowPage{constructor(){super(...arguments);this.model=null}init(){var _a;return __awaiter(this,void 0,void 0,(function*(){this.model=((_a=this.parameters)===null||_a===void 0?void 0:_a.contactID)?yield this.contactService.get(this.parameters.contactID):Contact.create({type:"person",name:"",emails:[ContactEmail.create({emailAddressText:"",emailAddressID:null})],phones:[ContactPhone.create({phoneNumberE64:""})]});this.title=this.model.contactID?"Edit "+this.model.name:"Add New Contact";this.renderer=XNode.create("div",null,XNode.create(Form,null,XNode.create(FormField,{label:"Name",required:true,error:Bind.oneWay((()=>this.model.name?"":"Name is required"))},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.name)),autofocus:true})),XNode.create(FormField,{label:"Type"},XNode.create(ToggleButtonBar,{items:contactTypes,labelPath:x=>x.label,valuePath:x=>x.value,value:Bind.twoWaysImmediate((()=>this.model.type))})),XNode.create(FormField,{label:"Domain"},XNode.create(Select,{items:Bind.oneWay((()=>this.entityService.query(HostedDomain).include((x=>x.domain)).toArray())),labelPath:x=>x.domain.name,valuePath:x=>x.domainID,value:Bind.twoWaysImmediate((()=>this.model.domainID))})),XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create(CollectionEditorEx,{label:"Phone",model:this.model,field:x=>x.phones,itemRenderer:item=>XNode.create("div",null,XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.phoneNumberE64))}))}),XNode.create(CollectionEditorEx,{label:"Email",model:this.model,field:x=>x.emails,itemRenderer:item=>XNode.create("div",null,item.emailAddress?XNode.create("div",{text:item.emailAddress.emailAddress}):XNode.create("input",{value:Bind.sourceTwoWays(item,(x=>x.source.emailAddress))}))})),XNode.create("details",{open:true,"data-border":"frame"},XNode.create("summary",null,"Tax Numbers"),XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(FormField,{label:"GST ID (GSTIN)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.gstTaxID))})),XNode.create(FormField,{label:"Income TAX (PAN/TAX ID)"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.incomeTaxID))})),XNode.create(FormField,{label:"Sales TAX ID"},XNode.create("input",{value:Bind.twoWaysImmediate((()=>this.model.salesTaxID))})))),XNode.create("div",{"data-layout":"sticky-command-row"},XNode.create(SaveIconTextButton,{"data-submit-event":"save-contact"}))))}))}saveContact(){return __awaiter(this,void 0,void 0,(function*(){yield this.contactService.save(this.model);return this.model}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],ContactEditorPage.prototype,"entityService",void 0);__decorate([InjectProperty,__metadata("design:type",ContactService)],ContactEditorPage.prototype,"contactService",void 0);__decorate([Action({onEvent:"save-contact",close:true}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],ContactEditorPage.prototype,"saveContact",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/contacts/ContactEditorPage");System.register(["tslib","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../../model/model","@web-atoms/core/dist/core/InjectProperty","../../../../services/store/StoreOrderService","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/Form","@web-atoms/web-controls/dist/basic/Expander","../../../controls/reference-editor/ReferenceEditor","../../../Sql","../../contacts/ContactEditorPage","../../../controls/collection-editor/CollectionEditorEx","@web-atoms/core/dist/core/Bind","@web-atoms/web-controls/dist/basic/AtomRepeater"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,ContentPage,StoreJournal,StoreJournalLineItem,InjectProperty,StoreOrderService,XNode,Form,Expander,ReferenceEditor,Sql,ContactEditorPage,CollectionEditorEx,Bind,AtomRepeater,EditOrderPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_modelModel){StoreJournal=_modelModel.StoreJournal;StoreJournalLineItem=_modelModel.StoreJournalLineItem},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicForm){Form=_webAtomsWebControlsDistBasicForm.default},function(_webAtomsWebControlsDistBasicExpander){Expander=_webAtomsWebControlsDistBasicExpander.default},function(_controlsReferenceEditorReferenceEditor){ReferenceEditor=_controlsReferenceEditorReferenceEditor.default},function(_Sql){Sql=_Sql.Sql},function(_contactsContactEditorPage){ContactEditorPage=_contactsContactEditorPage.default},function(_controlsCollectionEditorCollectionEditorEx){CollectionEditorEx=_controlsCollectionEditorCollectionEditorEx.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default}],execute:function(){_export("default",EditOrderPage=class EditOrderPage extends ContentPage{init(){var _a;return __awaiter(this,void 0,void 0,(function*(){const storeID=this.parameters.storeID;if(!storeID){alert("StoreID must be present.");this.cancel();return}this.model=this.parameters.journalID?yield this.storeOrderService.get(this.parameters.journalID):StoreJournal.create(Object.assign(Object.assign({},this.parameters),{journalType:"sales-invoice",storeID,buyer:null,seller:null,lineItems:[StoreJournalLineItem.create({item:null,itemPrice:null,quantity:1})]}));this.renderer=XNode.create("div",{"data-layout":"vertical-flex-stretch-items"},XNode.create(Form,null,XNode.create(ReferenceEditor,{label:"Buyer",model:this.model,field:x=>x.buyer,editModelPage:ContactEditorPage,searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch)||x.emails.some((e=>Sql.text.iLike(e.emailAddress.emailAddress,p.likeSearch)))||x.phones.some((e=>e.phoneNumberE64===p.search)))):q).where((x=>x.type!=="domain")).include((x=>[x.items,x.domains,x.addresses])).orderBy((x=>x.name)),itemRenderer:x=>XNode.create("div",{"data-layout":"flex-wrap"},XNode.create("label",{text:x.name}),XNode.create("label",{text:x.gstTaxID||x.incomeTaxID}))})),XNode.create(CollectionEditorEx,{label:"Items",model:this.model,field:x=>x.lineItems,addItemDefaults:{item:null,itemPrice:null,quantity:1},"event-item-deleted":ce=>this.onLineItemDeleted(ce.detail),itemRenderer:line=>XNode.create("div",{"data-layout":"row","data-align-items":"flex-start"},XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.item,addNewDefaults:{storeID},searchQuery:(q,search)=>(search?q.where({search,likeSearch:search+"%"},(p=>x=>Sql.text.iLike(x.name,p.likeSearch))):q).where({storeID},(p=>x=>x.storeID===p.storeID)),itemRenderer:x=>XNode.create("div",{text:x.name})}),XNode.create(ReferenceEditor,{label:"",model:line,field:f=>f.itemPrice,addNewDefaults:Bind.source(line,(x=>({storeItemID:x.source.itemID}))),"event-reference-updated":ce=>this.onItemPriceUpdated(line,ce.detail),searchQuery:(q,search)=>q.where({id:line.itemID},(p=>x=>x.storeItemID===p.id)),itemRenderer:x=>XNode.create("div",{text:`${x.currency} ${x.amount}`})}),XNode.create("input",{value:Bind.sourceTwoWays(line,(x=>x.source.quantity))}),XNode.create("input",{readOnly:true,value:Bind.source(line,(x=>x.source.amount))}),XNode.create("div",{"data-layout":"vertical-flex","style-padding":"0","style-overflow":"visible"},XNode.create(AtomRepeater,{items:Bind.source(line,(x=>x.source.relatedItems)),itemRenderer:ri=>XNode.create("div",{"data-layout":"row"},XNode.create("div",{text:Bind.source(ri,(x=>x.source.item?x.source.item.name:""))}),XNode.create("div",{text:Bind.source(ri,(x=>x.source.amount))}))})))}),XNode.create(Expander,{isExpanded:false,"data-border":"frame"},XNode.create("div",null,"Journal Entries"),XNode.create("table",null,XNode.create("tr",null,XNode.create("th",null,"Ledger"),XNode.create("th",null,"Debit"),XNode.create("th",null,"Credit"),XNode.create("th",{title:"Balance when entry was posted"},"Posted Balance")),...((_a=this.model.entries)!==null&&_a!==void 0?_a:[]).map((x=>XNode.create("tr",null,XNode.create("td",null,x.ledger.name),XNode.create("td",null,x.debit),XNode.create("td",null,x.credit),XNode.create("td",{title:"Balance when posted"},x.balance)))))))}))}onItemPriceUpdated(line,detail){line.amount=Number(detail.amount)}onLineItemDeleted(line){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.deleteLineItem(this.model,line)}))}taxFolderUpdated(line,taxFolder){return __awaiter(this,void 0,void 0,(function*(){yield this.storeOrderService.updateTaxFolder(this.model,line,taxFolder)}))}});__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],EditOrderPage.prototype,"storeOrderService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/orders/EditOrderPage");System.register(["tslib","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/web-controls/dist/mobile-app/MobileApp","../../../services/store/StoreService","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/Bind","../../commands/CommonCommands","../../controls/repeater/InfiniteRepeater","../../../services/store/StoreOrderService","../../controls/buttons/IconButton","@web-atoms/core/dist/view-model/Action","@web-atoms/web-controls/dist/PageNavigator","./orders/EditOrderPage"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,XNode,AtomRepeater,ContentPage,StoreService,InjectProperty,Bind,CommonCommands,InfiniteRepeater,StoreOrderService,AddIconTextButton,Action,PageNavigator,EditOrderPage,StoreDetailPage;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default},function(_webAtomsWebControlsDistMobileAppMobileApp){ContentPage=_webAtomsWebControlsDistMobileAppMobileApp.ContentPage},function(_servicesStoreStoreService){StoreService=_servicesStoreStoreService.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_commandsCommonCommands){CommonCommands=_commandsCommonCommands.default},function(_controlsRepeaterInfiniteRepeater){InfiniteRepeater=_controlsRepeaterInfiniteRepeater.default},function(_servicesStoreStoreOrderService){StoreOrderService=_servicesStoreStoreOrderService.default},function(_controlsButtonsIconButton){AddIconTextButton=_controlsButtonsIconButton.AddIconTextButton},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_webAtomsWebControlsDistPageNavigator){PageNavigator=_webAtomsWebControlsDistPageNavigator.default},function(_ordersEditOrderPage){EditOrderPage=_ordersEditOrderPage.default}],execute:function(){_export("default",StoreDetailPage=class StoreDetailPage extends ContentPage{constructor(){super(...arguments);this.items=[];this.selectedItem=null;this.search=""}init(){return __awaiter(this,void 0,void 0,(function*(){this.model=yield this.storeService.get(this.parameters.id);this.title=`${this.model.name} Orders`;this.headerRenderer=()=>XNode.create("div",{"data-layout":"flex-wrap-padding"},XNode.create("input",{type:"search",value:Bind.twoWaysImmediate((()=>this.search))}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editProductList.displayRoute({storeID:this.parameters.id}),text:"Products"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editConfig.displayRoute({storeID:this.parameters.id}),text:"Settings"}),XNode.create("a",{"data-click-event":"route",href:CommonCommands.editStoreTemplates.displayRoute({storeID:this.parameters.id}),text:"Templates"}));this.renderer=XNode.create("div",null,XNode.create("div",null,XNode.create(AtomRepeater,Object.assign({"data-layout":"data-grid",items:this.items},InfiniteRepeater.pagedItems((start=>(c,e,cancelToken)=>this.storeOrderService.list({storeID:this.parameters.id,start,search:this.search,cancelToken}))),{itemRenderer:item=>{var _a;return XNode.create("div",null,XNode.create("label",{text:item.journalID}),XNode.create("label",{text:item.journalType}),XNode.create("a",{text:(_a=item.buyer)===null||_a===void 0?void 0:_a.name,"data-click-event":"route"}))}}))));this.footerRenderer=()=>XNode.create("div",{"data-layout":"row"},XNode.create(AddIconTextButton,{"data-click-event":"create-order",text:"Create Order"}))}))}createOrder(){return __awaiter(this,void 0,void 0,(function*(){yield PageNavigator.pushPageForResult(EditOrderPage,{storeID:this.parameters.id})}))}});__decorate([InjectProperty,__metadata("design:type",StoreService)],StoreDetailPage.prototype,"storeService",void 0);__decorate([InjectProperty,__metadata("design:type",StoreOrderService)],StoreDetailPage.prototype,"storeOrderService",void 0);__decorate([Action({onEvent:"create-order"}),__metadata("design:type",Function),__metadata("design:paramtypes",[]),__metadata("design:returntype",Promise)],StoreDetailPage.prototype,"createOrder",null)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/stores/StoreDetailPage");System.register(["tslib","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/di/Inject","../EntityService","../../model/model","../../common/Sql","@web-atoms/date-time/dist/DateTime","../files/MimeTypeService","../../web/page/files/service/CloudFileService"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,DISingleton,Inject,EntityService,AppFile,Store,StoreItem,StoreMediaFile,Sql,DateTime,MimeTypeService,CloudFileService,StoreItemService;return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistDiDISingleton){DISingleton=_webAtomsCoreDistDiDISingleton.default},function(_webAtomsCoreDistDiInject){Inject=_webAtomsCoreDistDiInject.Inject},function(_EntityService){EntityService=_EntityService.default},function(_modelModel){AppFile=_modelModel.AppFile;Store=_modelModel.Store;StoreItem=_modelModel.StoreItem;StoreMediaFile=_modelModel.StoreMediaFile},function(_commonSql){Sql=_commonSql.Sql},function(_webAtomsDateTimeDistDateTime){DateTime=_webAtomsDateTimeDistDateTime.default},function(_filesMimeTypeService){MimeTypeService=_filesMimeTypeService.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default}],execute:function(){StoreItemService=class StoreItemService{get(id){var _a;return __awaiter(this,void 0,void 0,(function*(){const items=yield this.entityService.query(StoreItem).where({id},(p=>x=>x.storeItemID===p.id||x.variantForID===p.id||x.sizeForID===p.id)).include((x=>[x.store.folder,x.itemFolder,x.fileFolder,x.storeItemPrices,x.variantFor,x.sizeFor,x.taxes.forEach((t=>t.taxItem.storeItemPrices)),x.mediaFiles.forEach((m=>m.appFile)),x.storeItemTags.forEach((t=>t.tag))])).toArray();const item=items.find((x=>x.storeItemID===id));if(!item.folderID){const store=yield this.entityService.query(Store).where({storeID:item.storeID},(p=>x=>x.storeID===p.storeID)).firstOrDefault();const{folderID:parentID}=store;const now=DateTime.now;const fileFolder=AppFile.create({parentID,name:`${item.name} (${item.storeItemID})`,isFolder:true,contentType:"folder",dateCreated:now,dateUpdated:now});yield this.entityService.save(fileFolder);item.folderID=fileFolder.appFileID;item.fileFolder=fileFolder;yield this.entityService.save(item,(c=>c))}(_a=item.storeItemTags)===null||_a===void 0?void 0:_a.sort(((a,b)=>a.sortOrder-b.sortOrder));return item}))}list({start=0,size=100,search="",storeID=void 0,cancelToken}){return __awaiter(this,void 0,void 0,(function*(){let q=this.entityService.query(StoreItem).where({storeID},(p=>x=>x.storeID===p.storeID&&x.sizeForID===null&&x.variantForID===null));if(search){search=search+"%";q=q.where({search},(p=>x=>Sql.text.iLike(x.name,p.search)||Sql.text.iLike(x.description,p.search)))}return q.orderByDescending((x=>x.storeItemID)).include((x=>[x.itemFolder])).toPagedList({start,size,cancelToken})}))}save(storeItem){return __awaiter(this,void 0,void 0,(function*(){yield this.entityService.save(storeItem,(c=>c.include((x=>x.storeItemPrices)).include((x=>x.taxes)).include((x=>x.storeItemTags)).thenInclude((x=>x.tag)).include((x=>x.mediaFiles))));return storeItem}))}getOrCreateMediaFile(model,name,template){var _a,_b;return __awaiter(this,void 0,void 0,(function*(){const{folderID}=model;let file=yield this.entityService.query(AppFile).where({folderID,name},(p=>x=>x.parentID===p.folderID&&x.name===p.name)).firstOrDefault();if(!file){file=AppFile.create({parentID:folderID,isFolder:false,contentType:yield this.mimeTypeService.getMimeType(name),name});yield this.entityService.save(file);if(template){const{fileContentID,url}=yield this.cloudFileService.saveFile({appFileID:file.appFileID,content:new File([template()],name,{type:"text/html"})});file.url=url;file.fileContentID=fileContentID;file.downloadUrl=url}}let mediaFile=(_a=model.mediaFiles)===null||_a===void 0?void 0:_a.find((x=>x.title===name));if(!mediaFile){mediaFile=StoreMediaFile.create({storeItemID:model.storeItemID,appFileID:file.appFileID,fileContentID:file.fileContentID,isPreview:false,title:name});yield this.entityService.save(mediaFile);((_b=model.mediaFiles)!==null&&_b!==void 0?_b:model.mediaFiles=[]).add(mediaFile)}else{if(mediaFile.fileContentID!==file.fileContentID){mediaFile.appFileID=file.appFileID;mediaFile.fileContentID=file.fileContentID;yield this.entityService.save(mediaFile,(c=>c))}}mediaFile.appFile=file;return mediaFile}))}};__decorate([Inject,__metadata("design:type",EntityService)],StoreItemService.prototype,"entityService",void 0);__decorate([Inject,__metadata("design:type",MimeTypeService)],StoreItemService.prototype,"mimeTypeService",void 0);__decorate([Inject,__metadata("design:type",CloudFileService)],StoreItemService.prototype,"cloudFileService",void 0);StoreItemService=__decorate([DISingleton()],StoreItemService);_export("default",StoreItemService)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/services/store/StoreItemService");System.register(["tslib","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/web-controls/dist/basic/AtomChips","../../../services/EntityService","../../../model/model","../../Sql"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,Bind,InjectProperty,XNode,AtomChips,Chip,Suggestion,EntityService,Tag,Sql,TagChips;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsWebControlsDistBasicAtomChips){AtomChips=_webAtomsWebControlsDistBasicAtomChips.default;Chip=_webAtomsWebControlsDistBasicAtomChips.Chip;Suggestion=_webAtomsWebControlsDistBasicAtomChips.Suggestion},function(_servicesEntityService){EntityService=_servicesEntityService.default},function(_modelModel){Tag=_modelModel.Tag},function(_Sql){Sql=_Sql.Sql}],execute:function(){_export("default",TagChips=class TagChips extends AtomChips{preCreate(){super.preCreate();this.enableDragDrop=true;this.labelPath=x=>{var _a;return(_a=x.tag)===null||_a===void 0?void 0:_a.name};this.prompt="Tags";this.itemRenderer=x=>{var _a,_b;return XNode.create(Chip,{draggable:true,deleted:x.$deleted,label:(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.label)!==null&&_b!==void 0?_b:x.name})};this.suggestionRenderer=x=>XNode.create(Suggestion,{text:x.name});this.enterKeyHint="enter";this.itemToChip=(item,name)=>({$deleted:false,name});this.render(XNode.create("div",{suggestions:Bind.oneWayAsync(((c,e,cancelToken)=>this.searchItems(cancelToken,this.search)),{watchDelayInMS:750})}));this.valuePath=x=>{var _a,_b,_c;return(_c=(_b=(_a=x.tag)===null||_a===void 0?void 0:_a.tagID)!==null&&_b!==void 0?_b:x.tagID)!==null&&_c!==void 0?_c:Date.now()};this.bindEvent(this.element,"itemDropped",(()=>{this.items.forEach(((v,i)=>v.sortOrder=i))}))}searchItems(cancelToken,search){return __awaiter(this,void 0,void 0,(function*(){if(!search){return null}let q=this.entityService.query(Tag);search=search.toLocaleLowerCase();q=q.where({search:search+"%"},(p=>x=>Sql.text.like(x.name,p.search)));const items=yield q.orderBy((x=>x.name)).toPagedList({cancelToken,hideActivityIndicator:true,size:10});return items.items.map((tag=>({tag})))}))}});__decorate([InjectProperty,__metadata("design:type",EntityService)],TagChips.prototype,"entityService",void 0)}}}));AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tags/TagChips");System.register(["tslib","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","../controls/tree/FileTreeView","@web-atoms/web-controls/dist/basic/AtomRepeater","../../common/controls/drag-drop/FilesDragDrop","@web-atoms/core/dist/core/InjectProperty","../../web/page/files/service/CloudFileService","../NumberFormats","@web-atoms/core/dist/view-model/Action","../apiPath","../controls/buttons/IconButton"],(function(_export,_context){"use strict";var __awaiter,__decorate,__metadata,styled,AtomControl,XNode,Bind,FolderTreeView,AtomRepeater,SelectAll,SelectorCheckBox,FilesDragDrop,InjectProperty,CloudFileService,toFileSize,Action,apiPath,DeleteIconTextButton,FolderViewControl,getExtension;_export("default",void 0);return{setters:[function(_tslib){__awaiter=_tslib.__awaiter;__decorate=_tslib.__decorate;__metadata=_tslib.__metadata},function(_webAtomsCoreDistStyleStyled){styled=_webAtomsCoreDistStyleStyled.default},function(_webAtomsCoreDistWebControlsAtomControl){AtomControl=_webAtomsCoreDistWebControlsAtomControl.AtomControl},function(_webAtomsCoreDistCoreXNode){XNode=_webAtomsCoreDistCoreXNode.default},function(_webAtomsCoreDistCoreBind){Bind=_webAtomsCoreDistCoreBind.default},function(_controlsTreeFileTreeView){FolderTreeView=_controlsTreeFileTreeView.FolderTreeView},function(_webAtomsWebControlsDistBasicAtomRepeater){AtomRepeater=_webAtomsWebControlsDistBasicAtomRepeater.default;SelectAll=_webAtomsWebControlsDistBasicAtomRepeater.SelectAll;SelectorCheckBox=_webAtomsWebControlsDistBasicAtomRepeater.SelectorCheckBox},function(_commonControlsDragDropFilesDragDrop){FilesDragDrop=_commonControlsDragDropFilesDragDrop.FilesDragDrop},function(_webAtomsCoreDistCoreInjectProperty){InjectProperty=_webAtomsCoreDistCoreInjectProperty.default},function(_webPageFilesServiceCloudFileService){CloudFileService=_webPageFilesServiceCloudFileService.default},function(_NumberFormats){toFileSize=_NumberFormats.toFileSize},function(_webAtomsCoreDistViewModelAction){Action=_webAtomsCoreDistViewModelAction.default},function(_apiPath){apiPath=_apiPath.apiPath},function(_controlsButtonsIconButton){DeleteIconTextButton=_controlsButtonsIconButton.DeleteIconTextButton}],execute:function(){styled.css`
|
|
4903
4903
|
|
|
4904
4904
|
display: grid;
|
|
4905
4905
|
grid-template-columns: 1fr 3fr;
|