@social-mail/social-mail-client 1.0.18 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +439 -85
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +15 -5
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/admin/drawer/AdminDrawer.js +3 -3
  6. package/dist/admin/drawer/AdminDrawer.js.map +1 -1
  7. package/dist/admin/pages/domains/domain-user/DomainUserEditor.js +82 -0
  8. package/dist/admin/pages/domains/domain-user/DomainUserEditor.js.map +1 -0
  9. package/dist/admin/pages/domains/edit/EditDomainPage.js +39 -3
  10. package/dist/admin/pages/domains/edit/EditDomainPage.js.map +1 -1
  11. package/dist/admin/pages/domains/services/AdminDomainService.js +2 -2
  12. package/dist/admin/pages/domains/services/AdminDomainService.js.map +1 -1
  13. package/dist/admin/pages/users/services/AdminUserService.js +5 -0
  14. package/dist/admin/pages/users/services/AdminUserService.js.map +1 -1
  15. package/dist/common/controls/drop-downs/user/UserDropDown.js +50 -0
  16. package/dist/common/controls/drop-downs/user/UserDropDown.js.map +1 -0
  17. package/dist/model/model.js +17 -6
  18. package/dist/model/model.js.map +1 -1
  19. package/dist/tsconfig.tsbuildinfo +1 -1
  20. package/dist/web/AppIndex.pack.js +19 -8
  21. package/dist/web/AppIndex.pack.js.map +1 -1
  22. package/dist/web/AppIndex.pack.min.js +2 -2
  23. package/dist/web/AppIndex.pack.min.js.map +1 -1
  24. package/dist/web/drawer/AppDrawer.js +2 -2
  25. package/dist/web/drawer/AppDrawer.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/admin/drawer/AdminDrawer.tsx +3 -3
  28. package/src/admin/pages/domains/domain-user/DomainUserEditor.tsx +59 -0
  29. package/src/admin/pages/domains/edit/EditDomainPage.tsx +28 -2
  30. package/src/admin/pages/domains/services/AdminDomainService.ts +3 -6
  31. package/src/admin/pages/users/services/AdminUserService.ts +3 -0
  32. package/src/common/controls/drop-downs/user/UserDropDown.tsx +31 -0
  33. package/src/model/model.ts +15 -13
  34. package/src/web/drawer/AppDrawer.tsx +2 -2
@@ -1864,7 +1864,7 @@ const UMD = new UMDClass();
1864
1864
 
1865
1865
  AmdLoader.instance.register(
1866
1866
  ["@social-mail/social-mail-client","@web-atoms/core","@web-atoms/web-controls","reflect-metadata","@web-atoms/date-time","@web-atoms/data-styles","@web-atoms/entity"],
1867
- ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/admin/pages/domains/choose/ChooseDomainPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme"]);
1867
+ ["@social-mail/social-mail-client/dist/admin/AdminAppIndex","@web-atoms/core/dist/Pack","@web-atoms/web-controls/dist/desktop-app/MobileDesktopApp","@web-atoms/web-controls/dist/mobile-app/MobileApp","@web-atoms/core/dist/core/AtomLoader","@web-atoms/core/dist/services/JsonService","@web-atoms/core/dist/core/StringHelper","@web-atoms/core/dist/di/RegisterSingleton","@web-atoms/core/dist/di/Register","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@web-atoms/core/dist/di/ServiceCollection","@web-atoms/core/dist/di/TypeKey","@web-atoms/date-time/dist/DateTime","@web-atoms/date-time/dist/TimeSpan","@web-atoms/core/dist/services/ReferenceService","@web-atoms/core/dist/di/DISingleton","@web-atoms/core/dist/core/AtomUri","@web-atoms/core/dist/web/core/AtomUI","@web-atoms/core/dist/core/Command","@web-atoms/core/dist/core/EventScope","@web-atoms/core/dist/core/Route","@web-atoms/core/dist/core/InheritedProperty","@web-atoms/core/dist/core/AtomBinder","@web-atoms/core/dist/core/sleep","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/services/NavigationService","@web-atoms/core/dist/core/AtomComponent","@web-atoms/core/dist/App","@web-atoms/core/dist/core/AtomDispatcher","@web-atoms/core/dist/di/ServiceProvider","@web-atoms/core/dist/core/TransientDisposable","@web-atoms/core/dist/di/Inject","@web-atoms/core/dist/services/BusyIndicatorService","@web-atoms/core/dist/core/AtomBridge","@web-atoms/core/dist/core/AtomDisposableList","@web-atoms/core/dist/core/AtomWatcher","@web-atoms/core/dist/core/PropertyMap","@web-atoms/core/dist/core/FormattedString","@web-atoms/core/dist/web/controls/AtomControl","@web-atoms/core/dist/core/BindableProperty","@web-atoms/core/dist/core/WebImage","@web-atoms/core/dist/web/styles/AtomStyle","@web-atoms/core/dist/web/styles/AtomStyleSheet","@web-atoms/core/dist/web/services/PopupService","@web-atoms/core/dist/style/styled","@web-atoms/core/dist/web/services/PopupWindow","@web-atoms/web-controls/dist/PageNavigator","@web-atoms/web-controls/dist/desktop-app/DesktopApp","@social-mail/social-mail-client/dist/style/GlobalStyle","@web-atoms/core/dist/core/AtomList","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@web-atoms/data-styles/data-styles","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/services/EntityService","@web-atoms/entity/dist/services/BaseEntityService","@web-atoms/entity/dist/models/Cloner","@web-atoms/entity/dist/models/cloneSource","@web-atoms/entity/dist/models/IEntityModel","@web-atoms/entity/dist/services/HttpSession","@web-atoms/core/dist/services/http/JsonError","@web-atoms/entity/dist/services/mergeProperties","@web-atoms/entity/dist/services/Query","@web-atoms/entity/dist/services/StringHelper","@web-atoms/entity/dist/services/resolve","@social-mail/social-mail-client/dist/services/BusyProgress","@social-mail/social-mail-client/dist/model/model","@social-mail/social-mail-client/dist/common/SocialMailApp","@web-atoms/core/dist/core/InjectProperty","@social-mail/social-mail-client/dist/admin/commands/AdminCommands","@social-mail/social-mail-client/dist/admin/pages/home/AdminHome","@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage","@web-atoms/web-controls/dist/basic/AtomRepeater","@web-atoms/core/dist/core/Colors","@web-atoms/core/dist/core/WatchProperty","@web-atoms/web-controls/dist/basic/InlinePopup","@web-atoms/web-controls/dist/basic/styles/inline-popup-style","@web-atoms/web-controls/dist/basic/MergeNode","@web-atoms/web-controls/dist/basic/ItemPath","@web-atoms/web-controls/dist/basic/styles/ui-display-none-style","@web-atoms/web-controls/dist/basic/styles/popup-style","@web-atoms/web-controls/dist/basic/styles/suggestion-popup","@web-atoms/web-controls/dist/basic/styles/repeater-style","@social-mail/social-mail-client/dist/admin/pages/domains/services/AdminDomainService","@web-atoms/core/dist/di/DITransient","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/admin/pages/domains/edit/EditDomainPage","@web-atoms/web-controls/dist/basic/Form","@social-mail/social-mail-client/dist/common/controls/form/RequiredFormField","@web-atoms/web-controls/dist/basic/FormField","@web-atoms/web-controls/dist/basic/styles/form-field-style","@web-atoms/web-controls/dist/basic/PasswordBox","@web-atoms/web-controls/dist/basic/styles/password-box-style","@web-atoms/web-controls/dist/basic/Checkbox","@web-atoms/web-controls/dist/basic/styles/checkbox-style","@web-atoms/web-controls/dist/basic/Expander","@web-atoms/web-controls/dist/basic/styles/expander-style","@social-mail/social-mail-client/dist/common/controls/buttons/IconButton","@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage","@social-mail/social-mail-client/dist/common/controls/buttons/CopyIcon","@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor","@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService","@social-mail/social-mail-client/dist/common/Sql","@social-mail/social-mail-client/dist/admin/pages/users/UserListPage","@social-mail/social-mail-client/dist/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/admin/pages/users/EditUserPage","@social-mail/social-mail-client/dist/admin/pages/domains/choose/ChooseDomainPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/admin/pages/relays/edit/EditRelayPage","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/admin/drawer/AdminDrawer","@social-mail/social-mail-client/dist/common/controls/menu/MenuItem","@social-mail/social-mail-client/dist/services/files/LocalFileService","@social-mail/social-mail-client/dist/common/controls/ModuleInfo","@web-atoms/core/dist/web/WebApp","@web-atoms/core/dist/core/AtomOnce","@web-atoms/core/dist/web/services/WebBusyIndicatorService","@web-atoms/core/dist/web/styles/StyleBuilder","@web-atoms/core/dist/web/services/WindowService","@web-atoms/core/dist/Atom","@web-atoms/core/dist/core/FormattedError","@web-atoms/core/dist/view-model/AtomWindowViewModel","@web-atoms/core/dist/view-model/AtomViewModel","@web-atoms/core/dist/view-model/baseTypes","@web-atoms/core/dist/web/controls/AtomAlertWindow","@web-atoms/core/dist/web/styles/AtomAlertWindowStyle","@web-atoms/core/dist/web/styles/AtomWindowStyle","@web-atoms/core/src/web/images/close-button-hover.svg","@web-atoms/core/dist/web/controls/AtomWindow","@web-atoms/core/dist/web/controls/AtomTemplate","@web-atoms/core/dist/web/controls/AtomNotification","@web-atoms/core/dist/web/styles/AtomNotificationStyle","@web-atoms/core/dist/web/styles/AtomPopupStyle","@web-atoms/core/dist/web/services/NotificationPopup","@web-atoms/core/dist/web/styles/AtomTheme"]);
1868
1868
 
1869
1869
  System.register([], function (_export, _context) {
1870
1870
  "use strict";
@@ -13167,7 +13167,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
13167
13167
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
13168
13168
  "use strict";
13169
13169
 
13170
- var DateTime, Model, AppRole, AppFile, FileContent, Configuration, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailAttachment, Mailbox, MailboxThread, MailboxThreadEmail, User, UserRole, UserMailbox, LoginSession, Tag;
13170
+ var DateTime, Model, AppRole, AppFile, FileContent, Configuration, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailAttachmentContentDispositionArray, EmailAttachment, Mailbox, MailboxThread, MailboxThreadEmail, User, UserRole, UserMailbox, LoginSession, Tag;
13171
13171
  return {
13172
13172
  setters: [function (_webAtomsDateTimeDistDateTime) {
13173
13173
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -13205,7 +13205,9 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13205
13205
  }));
13206
13206
  _export("DomainUser", DomainUser = new Model("DomainUser", {
13207
13207
  domainID: 0,
13208
- userID: 0
13208
+ userID: 0,
13209
+ isAdmin: false,
13210
+ allowCreateMailbox: false
13209
13211
  }));
13210
13212
  _export("DomainRelayTypeArray", DomainRelayTypeArray = [{
13211
13213
  "label": "smtp",
@@ -13293,24 +13295,33 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13293
13295
  emailAddress: "",
13294
13296
  domainID: 0
13295
13297
  }));
13298
+ _export("EmailAttachmentContentDispositionArray", EmailAttachmentContentDispositionArray = [{
13299
+ "label": "attachment",
13300
+ "value": "attachment"
13301
+ }, {
13302
+ "label": "inline",
13303
+ "value": "inline"
13304
+ }]);
13296
13305
  _export("EmailAttachment", EmailAttachment = new Model("EmailAttachment", {
13297
13306
  emailID: 0,
13298
13307
  appFileID: 0,
13299
13308
  fileName: "",
13300
13309
  contentType: "",
13301
- contentDisposition: ""
13310
+ contentDisposition: "attachment"
13302
13311
  }));
13303
13312
  _export("Mailbox", Mailbox = new Model("Mailbox", {
13304
13313
  mailboxID: 0,
13305
13314
  domainID: 0,
13306
13315
  storage: 0,
13316
+ name: "",
13307
13317
  maxStorage: 0
13308
13318
  }));
13309
13319
  _export("MailboxThread", MailboxThread = new Model("MailboxThread", {
13310
13320
  mailboxID: 0,
13311
13321
  emailAddressID: 0,
13312
13322
  lastEmailID: 0,
13313
- dateUpdated: new DateTime()
13323
+ dateUpdated: new DateTime(),
13324
+ unread: 0
13314
13325
  }));
13315
13326
  _export("MailboxThreadEmail", MailboxThreadEmail = new Model("MailboxThreadEmail", {
13316
13327
  mailboxID: 0,
@@ -13326,8 +13337,8 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13326
13337
  roleName: ""
13327
13338
  }));
13328
13339
  _export("UserMailbox", UserMailbox = new Model("UserMailbox", {
13329
- emailAddress: "",
13330
- userID: 0
13340
+ userID: 0,
13341
+ mailboxID: 0
13331
13342
  }));
13332
13343
  _export("LoginSession", LoginSession = new Model("LoginSession", {
13333
13344
  userID: 0,
@@ -15658,13 +15669,13 @@ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/cor
15658
15669
  return this.entityService.query(HostedDomain).include(x => x.domain).toArray();
15659
15670
  }
15660
15671
  save(domain) {
15661
- const clone = this.entityService.cloner(domain).include(x => x.domainUsers).include(x => x.domain).include(x => x.domainKeys);
15672
+ const clone = this.entityService.cloner(domain).include(x => [x.domainUsers, x.domain, x.domainKeys]);
15662
15673
  return this.entityService.save(clone.copy);
15663
15674
  }
15664
15675
  get(domainID) {
15665
15676
  return this.entityService.query(HostedDomain).where({
15666
15677
  domainID
15667
- }, p => x => x.domainID === p.domainID).include(x => x.domain).include(x => x.relays).include(x => x.domainKeys).firstOrDefault();
15678
+ }, p => x => x.domainID === p.domainID).include(x => [x.domain, x.relays, x.domainUsers.forEach(u => u.user), x.domainKeys]).firstOrDefault();
15668
15679
  }
15669
15680
  };
15670
15681
  __decorate([Inject, __metadata("design:type", EntityService)], AdminDomainService.prototype, "entityService", void 0);
@@ -17210,10 +17221,387 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17210
17221
 
17211
17222
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/edit/DomainKeySetupPage");
17212
17223
 
17213
- 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", "../../../../common/controls/form/RequiredFormField", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/core/InjectProperty", "../services/AdminDomainService", "@web-atoms/web-controls/dist/basic/Checkbox", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/Expander", "../../../../common/controls/buttons/IconButton", "../../../commands/AdminCommands", "../../../../services/EntityService", "@web-atoms/web-controls/dist/PageNavigator", "./DomainKeySetupPage"], function (_export, _context) {
17224
+ System.register(["@web-atoms/core/dist/style/styled"], function (_export, _context) {
17214
17225
  "use strict";
17215
17226
 
17216
- var __awaiter, __decorate, __metadata, ContentPage, Domain, DomainKey, HostedDomain, XNode, Form, TextFormField, Bind, Action, InjectProperty, AdminDomainService, Checkbox, AtomRepeater, Expander, AddIconTextButton, DeleteIconButton, SetupFolderIconButton, AdminCommands, EntityService, PageNavigator, DomainKeySetupPage, EditDomainPage, summary;
17227
+ var styled;
17228
+ return {
17229
+ setters: [function (_webAtomsCoreDistStyleStyled) {
17230
+ styled = _webAtomsCoreDistStyleStyled.default;
17231
+ }],
17232
+ execute: function () {
17233
+ styled.css`
17234
+ display: inline-flex;
17235
+ flex-direction: row;
17236
+ gap: 4px;
17237
+ align-items: center;
17238
+ justify-content: stretch;
17239
+
17240
+ & [data-white-space=nowrap] {
17241
+ white-space: nowrap;
17242
+ }
17243
+ `.installGlobal("div[data-drop-down=drop-down]");
17244
+ }
17245
+ };
17246
+ });
17247
+ //# sourceMappingURL=drop-down-style.js.map
17248
+
17249
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/styles/drop-down-style");
17250
+
17251
+ System.register(["tslib", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "./AtomRepeater", "./styles/drop-down-style"], function (_export, _context) {
17252
+ "use strict";
17253
+
17254
+ var __awaiter, __decorate, __metadata, BindableProperty, XNode, AtomRepeater, askSuggestion, askSuggestionPopup, disposeChildren, MatchAnyCaseInsensitive, DropDown;
17255
+ _export("default", void 0);
17256
+ return {
17257
+ setters: [function (_tslib) {
17258
+ __awaiter = _tslib.__awaiter;
17259
+ __decorate = _tslib.__decorate;
17260
+ __metadata = _tslib.__metadata;
17261
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
17262
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
17263
+ }, function (_webAtomsCoreDistCoreXNode) {
17264
+ XNode = _webAtomsCoreDistCoreXNode.default;
17265
+ }, function (_AtomRepeater) {
17266
+ AtomRepeater = _AtomRepeater.default;
17267
+ askSuggestion = _AtomRepeater.askSuggestion;
17268
+ askSuggestionPopup = _AtomRepeater.askSuggestionPopup;
17269
+ disposeChildren = _AtomRepeater.disposeChildren;
17270
+ MatchAnyCaseInsensitive = _AtomRepeater.MatchAnyCaseInsensitive;
17271
+ }, function (_stylesDropDownStyle) {}],
17272
+ execute: function () {
17273
+ _export("default", DropDown = class DropDown extends AtomRepeater {
17274
+ constructor() {
17275
+ super(...arguments);
17276
+ this.isPopupOpen = false;
17277
+ }
17278
+ updateItems(container) {}
17279
+ onPropertyChanged(name) {
17280
+ super.onPropertyChanged(name);
17281
+ switch (name) {
17282
+ case "labelPath":
17283
+ this.itemRenderer = item => XNode.create("div", {
17284
+ text: this.labelPath(item)
17285
+ });
17286
+ break;
17287
+ case "prompt":
17288
+ this.updateClasses();
17289
+ break;
17290
+ }
17291
+ }
17292
+ preCreate() {
17293
+ super.preCreate();
17294
+ this.disableSearch = false;
17295
+ this.prompt = "Select";
17296
+ this.popupSuggestions = true;
17297
+ this.bindEvent(this.element, "click", e => this.openPopup(e));
17298
+ this.valuePath = item => {
17299
+ var _a;
17300
+ return (_a = item === null || item === void 0 ? void 0 : item.value) !== null && _a !== void 0 ? _a : item;
17301
+ };
17302
+ this.labelPath = item => {
17303
+ var _a;
17304
+ return (_a = item === null || item === void 0 ? void 0 : item.label) !== null && _a !== void 0 ? _a : item;
17305
+ };
17306
+ this.itemRenderer = item => XNode.create("div", {
17307
+ text: this.labelPath(item)
17308
+ });
17309
+ this.element.dataset.dropDown = "drop-down";
17310
+ this.render(XNode.create("div", null, XNode.create("div", {
17311
+ "data-white-space": "nowrap",
17312
+ text: this.prompt
17313
+ }), XNode.create("i", {
17314
+ class: "fad fa-caret-circle-down"
17315
+ })));
17316
+ }
17317
+ openPopup(e) {
17318
+ var _a, _b, _c, _d, _e;
17319
+ return __awaiter(this, void 0, void 0, function* () {
17320
+ if (this.isPopupOpen) {
17321
+ return;
17322
+ }
17323
+ this.isPopupOpen = true;
17324
+ try {
17325
+ if (!this.popupSuggestions) {
17326
+ const selected = yield askSuggestion(this.items, (_a = this.suggestionRenderer) !== null && _a !== void 0 ? _a : this.itemRenderer, (_b = this.match) !== null && _b !== void 0 ? _b : MatchAnyCaseInsensitive(this.labelPath), {
17327
+ title: (_c = this.suggestionPrompt) !== null && _c !== void 0 ? _c : this.prompt
17328
+ });
17329
+ this.selectedItem = selected;
17330
+ return;
17331
+ }
17332
+ const selectedItem = yield askSuggestionPopup(this, this.items, (_d = this.suggestionRenderer) !== null && _d !== void 0 ? _d : this.itemRenderer, (_e = this.match) !== null && _e !== void 0 ? _e : MatchAnyCaseInsensitive(this.labelPath), this.selectedItem);
17333
+ if (this.selectedItem !== selectedItem) {
17334
+ this.selectedItem = selectedItem;
17335
+ this.element.dispatchEvent(new CustomEvent("selectionChanged", {
17336
+ bubbles: true,
17337
+ detail: selectedItem,
17338
+ cancelable: true
17339
+ }));
17340
+ }
17341
+ } finally {
17342
+ this.isPopupOpen = false;
17343
+ }
17344
+ });
17345
+ }
17346
+ updateClasses() {
17347
+ var _a;
17348
+ disposeChildren(this, this.element);
17349
+ const ir = this.itemRenderer;
17350
+ if (!ir) {
17351
+ return;
17352
+ }
17353
+ if (!this.selectedItem) {
17354
+ this.render(XNode.create("div", null, XNode.create("div", {
17355
+ "data-white-space": "nowrap",
17356
+ text: this.prompt
17357
+ }), XNode.create("i", {
17358
+ class: "fad fa-caret-circle-down"
17359
+ })));
17360
+ return;
17361
+ }
17362
+ const selectedItem = this.selectedItem;
17363
+ const index = this.items.indexOf(selectedItem);
17364
+ const node = ir(selectedItem, index, this);
17365
+ const na = (_a = node.attributes) !== null && _a !== void 0 ? _a : node.attributes = {};
17366
+ if (!na["data-white-space"]) {
17367
+ na["data-white-space"] = "nowrap";
17368
+ }
17369
+ this.render(XNode.create("div", null, node, XNode.create("i", {
17370
+ class: "fad fa-caret-circle-down"
17371
+ })));
17372
+ }
17373
+ });
17374
+ __decorate([BindableProperty, __metadata("design:type", Boolean)], DropDown.prototype, "popupSuggestions", void 0);
17375
+ __decorate([BindableProperty, __metadata("design:type", String)], DropDown.prototype, "search", void 0);
17376
+ __decorate([BindableProperty, __metadata("design:type", String)], DropDown.prototype, "prompt", void 0);
17377
+ __decorate([BindableProperty, __metadata("design:type", String)], DropDown.prototype, "suggestionPrompt", void 0);
17378
+ __decorate([BindableProperty, __metadata("design:type", Function)], DropDown.prototype, "labelPath", void 0);
17379
+ __decorate([BindableProperty, __metadata("design:type", Function)], DropDown.prototype, "match", void 0);
17380
+ __decorate([BindableProperty, __metadata("design:type", Function)], DropDown.prototype, "suggestionRenderer", void 0);
17381
+ }
17382
+ };
17383
+ });
17384
+ //# sourceMappingURL=DropDown.js.map
17385
+
17386
+ AmdLoader.instance.setup("@web-atoms/web-controls/dist/basic/DropDown");
17387
+
17388
+ System.register([], function (_export, _context) {
17389
+ "use strict";
17390
+
17391
+ var Sql;
17392
+ return {
17393
+ setters: [],
17394
+ execute: function () {
17395
+ _export("Sql", Sql = void 0);
17396
+ }
17397
+ };
17398
+ });
17399
+ //# sourceMappingURL=Sql.js.map
17400
+
17401
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");
17402
+
17403
+ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../../common/Sql"], function (_export, _context) {
17404
+ "use strict";
17405
+
17406
+ var __decorate, __metadata, DITransient, Inject, EntityService, User, Sql, AdminUserService;
17407
+ return {
17408
+ setters: [function (_tslib) {
17409
+ __decorate = _tslib.__decorate;
17410
+ __metadata = _tslib.__metadata;
17411
+ }, function (_webAtomsCoreDistDiDITransient) {
17412
+ DITransient = _webAtomsCoreDistDiDITransient.default;
17413
+ }, function (_webAtomsCoreDistDiInject) {
17414
+ Inject = _webAtomsCoreDistDiInject.Inject;
17415
+ }, function (_servicesEntityService) {
17416
+ EntityService = _servicesEntityService.default;
17417
+ }, function (_modelModel) {
17418
+ User = _modelModel.User;
17419
+ }, function (_commonSql) {
17420
+ Sql = _commonSql.Sql;
17421
+ }],
17422
+ execute: function () {
17423
+ AdminUserService = class AdminUserService {
17424
+ list({
17425
+ search = "",
17426
+ start = 0,
17427
+ size = 50,
17428
+ cancelToken
17429
+ }) {
17430
+ let q = this.entityService.query(User);
17431
+ if (search) {
17432
+ if (/\^d+$/.test(search)) {
17433
+ q = q.where({
17434
+ search
17435
+ }, p => x => x.userID === Sql.cast.asBigInt(p.search));
17436
+ }
17437
+ const startsWith = search + "%";
17438
+ q = q.where({
17439
+ startsWith
17440
+ }, p => x => Sql.text.iLike(x.userName, p.startsWith) || Sql.text.iLike(x.displayName, p.startsWith));
17441
+ }
17442
+ return q.include(x => x.domainUsers.forEach(d => d.hostedDomain.domain)).toPagedList({
17443
+ start,
17444
+ size,
17445
+ cancelToken
17446
+ });
17447
+ }
17448
+ save(user) {
17449
+ const cloner = this.entityService.cloner(user).include(x => x.domainUsers).include(x => x.userMailboxes).thenInclude(x => x.mailbox);
17450
+ return this.entityService.save(cloner.copy);
17451
+ }
17452
+ };
17453
+ __decorate([Inject, __metadata("design:type", EntityService)], AdminUserService.prototype, "entityService", void 0);
17454
+ AdminUserService = __decorate([DITransient()], AdminUserService);
17455
+ _export("default", AdminUserService);
17456
+ }
17457
+ };
17458
+ });
17459
+ //# sourceMappingURL=AdminUserService.js.map
17460
+
17461
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");
17462
+
17463
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/web-controls/dist/basic/DropDown", "../../../../admin/pages/users/services/AdminUserService", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/core/Bind"], function (_export, _context) {
17464
+ "use strict";
17465
+
17466
+ var __awaiter, __decorate, __metadata, InjectProperty, DropDown, AdminUserService, XNode, Bind, UserDropDown;
17467
+ _export("default", void 0);
17468
+ return {
17469
+ setters: [function (_tslib) {
17470
+ __awaiter = _tslib.__awaiter;
17471
+ __decorate = _tslib.__decorate;
17472
+ __metadata = _tslib.__metadata;
17473
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
17474
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
17475
+ }, function (_webAtomsWebControlsDistBasicDropDown) {
17476
+ DropDown = _webAtomsWebControlsDistBasicDropDown.default;
17477
+ }, function (_adminPagesUsersServicesAdminUserService) {
17478
+ AdminUserService = _adminPagesUsersServicesAdminUserService.default;
17479
+ }, function (_webAtomsCoreDistCoreXNode) {
17480
+ XNode = _webAtomsCoreDistCoreXNode.default;
17481
+ }, function (_webAtomsCoreDistCoreBind) {
17482
+ Bind = _webAtomsCoreDistCoreBind.default;
17483
+ }],
17484
+ execute: function () {
17485
+ _export("default", UserDropDown = class UserDropDown extends DropDown {
17486
+ init() {
17487
+ return __awaiter(this, void 0, void 0, function* () {
17488
+ this.search = "";
17489
+ this.valuePath = user => user.userID;
17490
+ this.itemRenderer = user => XNode.create("div", null, user.displayName, " (", user.userID, ", ", user.userName, ")");
17491
+ this.render(XNode.create("div", {
17492
+ items: Bind.oneWayAsync((s, e, cancelToken) => __awaiter(this, void 0, void 0, function* () {
17493
+ return (yield this.userService.list({
17494
+ search: this.search,
17495
+ start: 0,
17496
+ size: 20,
17497
+ cancelToken
17498
+ })).items;
17499
+ }))
17500
+ }));
17501
+ });
17502
+ }
17503
+ preCreate() {
17504
+ super.preCreate();
17505
+ this.runAfterInit(() => this.app.runAsync(() => this.init()));
17506
+ }
17507
+ });
17508
+ __decorate([InjectProperty, __metadata("design:type", AdminUserService)], UserDropDown.prototype, "userService", void 0);
17509
+ }
17510
+ };
17511
+ });
17512
+ //# sourceMappingURL=UserDropDown.js.map
17513
+
17514
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/drop-downs/user/UserDropDown");
17515
+
17516
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "../../../../common/controls/drop-downs/user/UserDropDown", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/Checkbox", "../../../../common/controls/buttons/IconButton", "@web-atoms/core/dist/view-model/Action", "../../../../services/EntityService", "@web-atoms/core/dist/core/InjectProperty"], function (_export, _context) {
17517
+ "use strict";
17518
+
17519
+ var __awaiter, __decorate, __metadata, PopupWindowPage, XNode, Form, FormField, UserDropDown, Bind, Checkbox, SaveIconTextButton, Action, EntityService, InjectProperty, DomainUserEditor;
17520
+ _export("default", void 0);
17521
+ return {
17522
+ setters: [function (_tslib) {
17523
+ __awaiter = _tslib.__awaiter;
17524
+ __decorate = _tslib.__decorate;
17525
+ __metadata = _tslib.__metadata;
17526
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
17527
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
17528
+ }, function (_webAtomsCoreDistCoreXNode) {
17529
+ XNode = _webAtomsCoreDistCoreXNode.default;
17530
+ }, function (_webAtomsWebControlsDistBasicForm) {
17531
+ Form = _webAtomsWebControlsDistBasicForm.default;
17532
+ }, function (_webAtomsWebControlsDistBasicFormField) {
17533
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
17534
+ }, function (_commonControlsDropDownsUserUserDropDown) {
17535
+ UserDropDown = _commonControlsDropDownsUserUserDropDown.default;
17536
+ }, function (_webAtomsCoreDistCoreBind) {
17537
+ Bind = _webAtomsCoreDistCoreBind.default;
17538
+ }, function (_webAtomsWebControlsDistBasicCheckbox) {
17539
+ Checkbox = _webAtomsWebControlsDistBasicCheckbox.default;
17540
+ }, function (_commonControlsButtonsIconButton) {
17541
+ SaveIconTextButton = _commonControlsButtonsIconButton.SaveIconTextButton;
17542
+ }, function (_webAtomsCoreDistViewModelAction) {
17543
+ Action = _webAtomsCoreDistViewModelAction.default;
17544
+ }, function (_servicesEntityService) {
17545
+ EntityService = _servicesEntityService.default;
17546
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
17547
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
17548
+ }],
17549
+ execute: function () {
17550
+ _export("default", DomainUserEditor = class DomainUserEditor extends PopupWindowPage {
17551
+ init() {
17552
+ var _a;
17553
+ var _b;
17554
+ return __awaiter(this, void 0, void 0, function* () {
17555
+ this.model = this.parameters;
17556
+ (_a = (_b = this.model).isAdmin) !== null && _a !== void 0 ? _a : _b.isAdmin = false;
17557
+ this.renderer = XNode.create("div", null, XNode.create(Form, {
17558
+ "data-submit-event": "save-domain-user"
17559
+ }, XNode.create(FormField, {
17560
+ label: "User"
17561
+ }, XNode.create(UserDropDown, {
17562
+ value: Bind.twoWaysImmediate(() => this.model.userID)
17563
+ })), XNode.create(FormField, {
17564
+ label: "Admin"
17565
+ }, XNode.create(Checkbox, {
17566
+ checked: Bind.twoWaysImmediate(() => this.model.isAdmin),
17567
+ text: "Is Administrator (Can Create and View all mailboxes)"
17568
+ })), XNode.create(FormField, {
17569
+ "style-display": Bind.oneWay(() => !this.model.isAdmin),
17570
+ label: "Can Create Mailboxes"
17571
+ }, XNode.create(Checkbox, {
17572
+ checked: Bind.twoWaysImmediate(() => this.model.allowCreateMailbox),
17573
+ text: "Can create Mailboxes"
17574
+ })), XNode.create("div", {
17575
+ "data-layout": "command-row"
17576
+ }, XNode.create(SaveIconTextButton, {
17577
+ "data-type": "submit"
17578
+ }))));
17579
+ });
17580
+ }
17581
+ saveDomainUser() {
17582
+ return __awaiter(this, void 0, void 0, function* () {
17583
+ const cloner = this.entityService.cloner(this.model).copy;
17584
+ yield this.entityService.save(cloner);
17585
+ return this.model;
17586
+ });
17587
+ }
17588
+ });
17589
+ __decorate([InjectProperty, __metadata("design:type", EntityService)], DomainUserEditor.prototype, "entityService", void 0);
17590
+ __decorate([Action({
17591
+ onEvent: "save-domain-user",
17592
+ close: true
17593
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], DomainUserEditor.prototype, "saveDomainUser", null);
17594
+ }
17595
+ };
17596
+ });
17597
+ //# sourceMappingURL=DomainUserEditor.js.map
17598
+
17599
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/domain-user/DomainUserEditor");
17600
+
17601
+ 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", "../../../../common/controls/form/RequiredFormField", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "@web-atoms/core/dist/core/InjectProperty", "../services/AdminDomainService", "@web-atoms/web-controls/dist/basic/Checkbox", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/Expander", "../../../../common/controls/buttons/IconButton", "../../../commands/AdminCommands", "../../../../services/EntityService", "@web-atoms/web-controls/dist/PageNavigator", "./DomainKeySetupPage", "../domain-user/DomainUserEditor"], function (_export, _context) {
17602
+ "use strict";
17603
+
17604
+ var __awaiter, __decorate, __metadata, ContentPage, Domain, DomainKey, DomainUser, HostedDomain, XNode, Form, TextFormField, Bind, Action, InjectProperty, AdminDomainService, Checkbox, AtomRepeater, Expander, AddIconTextButton, DeleteIconButton, SetupFolderIconButton, AdminCommands, EntityService, PageNavigator, DomainKeySetupPage, DomainUserEditor, EditDomainPage, summary;
17217
17605
  _export("default", void 0);
17218
17606
  return {
17219
17607
  setters: [function (_tslib) {
@@ -17225,6 +17613,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17225
17613
  }, function (_modelModel) {
17226
17614
  Domain = _modelModel.Domain;
17227
17615
  DomainKey = _modelModel.DomainKey;
17616
+ DomainUser = _modelModel.DomainUser;
17228
17617
  HostedDomain = _modelModel.HostedDomain;
17229
17618
  }, function (_webAtomsCoreDistCoreXNode) {
17230
17619
  XNode = _webAtomsCoreDistCoreXNode.default;
@@ -17258,6 +17647,8 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17258
17647
  PageNavigator = _webAtomsWebControlsDistPageNavigator.default;
17259
17648
  }, function (_DomainKeySetupPage) {
17260
17649
  DomainKeySetupPage = _DomainKeySetupPage.default;
17650
+ }, function (_domainUserDomainUserEditor) {
17651
+ DomainUserEditor = _domainUserDomainUserEditor.default;
17261
17652
  }],
17262
17653
  execute: function () {
17263
17654
  summary = text => {
@@ -17315,7 +17706,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17315
17706
  text: "New Relay"
17316
17707
  }))
17317
17708
  })), this.model.domainID && XNode.create(Expander, {
17318
- isExpanded: false
17709
+ isExpanded: true
17319
17710
  }, XNode.create("label", {
17320
17711
  text: "Domain Keys"
17321
17712
  }), XNode.create(AtomRepeater, {
@@ -17337,6 +17728,28 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17337
17728
  "data-click-event": "add-domain-key",
17338
17729
  text: "New Domain Key"
17339
17730
  }))
17731
+ })), this.model.domainID && XNode.create(Expander, {
17732
+ isExpanded: true
17733
+ }, XNode.create("label", {
17734
+ text: "Users"
17735
+ }), XNode.create(AtomRepeater, {
17736
+ items: this.model.domainUsers,
17737
+ footer: true,
17738
+ itemRenderer: du => XNode.create("div", {
17739
+ "data-layout": "row"
17740
+ }, XNode.create("span", {
17741
+ text: `${du.user.displayName} (${du.userID}, ${du.user.userName})`
17742
+ }), du.isAdmin && XNode.create("span", {
17743
+ text: "is admin"
17744
+ }), du.allowCreateMailbox && XNode.create("span", {
17745
+ text: "can create mailbox"
17746
+ })),
17747
+ footerRenderer: () => XNode.create("div", {
17748
+ "data-layout": "row"
17749
+ }, XNode.create(AddIconTextButton, {
17750
+ "data-click-event": "add-domain-user",
17751
+ text: "Add User"
17752
+ }))
17340
17753
  })), XNode.create("div", {
17341
17754
  "data-layout": "command-row"
17342
17755
  }, XNode.create("button", {
@@ -17369,6 +17782,14 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17369
17782
  this.model.domainKeys.add(dk);
17370
17783
  });
17371
17784
  }
17785
+ addDomainUser() {
17786
+ return __awaiter(this, void 0, void 0, function* () {
17787
+ const domainUser = yield PageNavigator.pushPageForResult(DomainUserEditor, DomainUser.create({
17788
+ domainID: this.model.domainID
17789
+ }));
17790
+ this.model.domainUsers.add(domainUser);
17791
+ });
17792
+ }
17372
17793
  });
17373
17794
  __decorate([InjectProperty, __metadata("design:type", AdminDomainService)], EditDomainPage.prototype, "domainService", void 0);
17374
17795
  __decorate([Action({
@@ -17382,6 +17803,9 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
17382
17803
  __decorate([Action({
17383
17804
  onEvent: "add-domain-key"
17384
17805
  }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], EditDomainPage.prototype, "addDomainKey", null);
17806
+ __decorate([Action({
17807
+ onEvent: "add-domain-user"
17808
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], EditDomainPage.prototype, "addDomainUser", null);
17385
17809
  }
17386
17810
  };
17387
17811
  });
@@ -17455,76 +17879,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
17455
17879
 
17456
17880
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/domains/DomainListPage");
17457
17881
 
17458
- System.register([], function (_export, _context) {
17459
- "use strict";
17460
-
17461
- var Sql;
17462
- return {
17463
- setters: [],
17464
- execute: function () {
17465
- _export("Sql", Sql = void 0);
17466
- }
17467
- };
17468
- });
17469
- //# sourceMappingURL=Sql.js.map
17470
-
17471
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/Sql");
17472
-
17473
- System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../../common/Sql"], function (_export, _context) {
17474
- "use strict";
17475
-
17476
- var __decorate, __metadata, DITransient, Inject, EntityService, User, Sql, AdminUserService;
17477
- return {
17478
- setters: [function (_tslib) {
17479
- __decorate = _tslib.__decorate;
17480
- __metadata = _tslib.__metadata;
17481
- }, function (_webAtomsCoreDistDiDITransient) {
17482
- DITransient = _webAtomsCoreDistDiDITransient.default;
17483
- }, function (_webAtomsCoreDistDiInject) {
17484
- Inject = _webAtomsCoreDistDiInject.Inject;
17485
- }, function (_servicesEntityService) {
17486
- EntityService = _servicesEntityService.default;
17487
- }, function (_modelModel) {
17488
- User = _modelModel.User;
17489
- }, function (_commonSql) {
17490
- Sql = _commonSql.Sql;
17491
- }],
17492
- execute: function () {
17493
- AdminUserService = class AdminUserService {
17494
- list({
17495
- search = "",
17496
- start = 0,
17497
- size = 50,
17498
- cancelToken
17499
- }) {
17500
- let q = this.entityService.query(User);
17501
- if (search) {
17502
- const startsWith = search + "%";
17503
- q = q.where({
17504
- startsWith
17505
- }, p => x => Sql.text.iLike(x.userName, p.startsWith) || Sql.text.iLike(x.displayName, p.startsWith));
17506
- }
17507
- return q.include(x => x.domainUsers.forEach(d => d.hostedDomain.domain)).toPagedList({
17508
- start,
17509
- size,
17510
- cancelToken
17511
- });
17512
- }
17513
- save(user) {
17514
- const cloner = this.entityService.cloner(user).include(x => x.domainUsers).include(x => x.userMailboxes).thenInclude(x => x.mailbox);
17515
- return this.entityService.save(cloner.copy);
17516
- }
17517
- };
17518
- __decorate([Inject, __metadata("design:type", EntityService)], AdminUserService.prototype, "entityService", void 0);
17519
- AdminUserService = __decorate([DITransient()], AdminUserService);
17520
- _export("default", AdminUserService);
17521
- }
17522
- };
17523
- });
17524
- //# sourceMappingURL=AdminUserService.js.map
17525
-
17526
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/services/AdminUserService");
17527
-
17528
17882
  System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/types", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl"], function (_export, _context) {
17529
17883
  "use strict";
17530
17884
 
@@ -18637,15 +18991,15 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
18637
18991
  label: "Home",
18638
18992
  commandLink: AdminCommands.openHome.displayRoute({})
18639
18993
  }), XNode.create(MenuItem, {
18640
- icon: "fas fa-home",
18994
+ icon: "fas fa-folder",
18641
18995
  label: "Domains",
18642
18996
  commandLink: AdminCommands.openDomainList.displayRoute({})
18643
18997
  }), XNode.create(MenuItem, {
18644
- icon: "fas fa-home",
18998
+ icon: "fas fa-user",
18645
18999
  label: "Users",
18646
19000
  commandLink: AdminCommands.openUserList.displayRoute({})
18647
19001
  }), XNode.create(MenuItem, {
18648
- icon: "fas fa-home",
19002
+ icon: "fas fa-envelope",
18649
19003
  label: "Mailboxes",
18650
19004
  commandLink: AdminCommands.openMailboxList.displayRoute({})
18651
19005
  }));