@social-mail/social-mail-client 1.0.62 → 1.0.64

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 (86) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +869 -155
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +28 -9
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/admin/pages/domains/choose/ChooseDomainPage.js +3 -1
  6. package/dist/admin/pages/domains/choose/ChooseDomainPage.js.map +1 -1
  7. package/dist/admin/pages/users/UserDetailsPage.js +26 -18
  8. package/dist/admin/pages/users/UserDetailsPage.js.map +1 -1
  9. package/dist/admin/pages/users/UserListPage.js +1 -6
  10. package/dist/admin/pages/users/UserListPage.js.map +1 -1
  11. package/dist/admin/pages/users/domains/EditDomainUserPage.js +104 -0
  12. package/dist/admin/pages/users/domains/EditDomainUserPage.js.map +1 -0
  13. package/dist/admin/pages/users/files/EditFileAccessPage.js +34 -0
  14. package/dist/admin/pages/users/files/EditFileAccessPage.js.map +1 -0
  15. package/dist/admin/pages/users/mailboxes/EditUserMailboxPage.js +88 -0
  16. package/dist/admin/pages/users/mailboxes/EditUserMailboxPage.js.map +1 -0
  17. package/dist/common/controls/collection-editor/CollectionEditor.js +98 -0
  18. package/dist/common/controls/collection-editor/CollectionEditor.js.map +1 -0
  19. package/dist/common/controls/tree/TreeView.js +1 -1
  20. package/dist/common/controls/tree/TreeView.js.map +1 -1
  21. package/dist/common/pages/folders/ChooserFolderPage.js +39 -4
  22. package/dist/common/pages/folders/ChooserFolderPage.js.map +1 -1
  23. package/dist/common/pages/mailboxes/MailboxDetailPage.js +50 -0
  24. package/dist/common/pages/mailboxes/MailboxDetailPage.js.map +1 -0
  25. package/dist/common/pages/mailboxes/MailboxListPage.js +28 -6
  26. package/dist/common/pages/mailboxes/MailboxListPage.js.map +1 -1
  27. package/dist/common/pages/mailboxes/services/MailboxService.js +7 -0
  28. package/dist/common/pages/mailboxes/services/MailboxService.js.map +1 -1
  29. package/dist/common/pages/mailboxes/settings/EditSyncTargetPage.js +105 -0
  30. package/dist/common/pages/mailboxes/settings/EditSyncTargetPage.js.map +1 -0
  31. package/dist/model/model.js +34 -1
  32. package/dist/model/model.js.map +1 -1
  33. package/dist/tsconfig.tsbuildinfo +1 -1
  34. package/dist/web/AppIndex.pack.js +1136 -622
  35. package/dist/web/AppIndex.pack.js.map +1 -1
  36. package/dist/web/AppIndex.pack.min.js +160 -132
  37. package/dist/web/AppIndex.pack.min.js.map +1 -1
  38. package/dist/web/drawer/AppDrawer.js +4 -0
  39. package/dist/web/drawer/AppDrawer.js.map +1 -1
  40. package/dist/web/page/files/service/CloudFileService.js +2 -2
  41. package/dist/web/page/files/service/CloudFileService.js.map +1 -1
  42. package/dist/web/page/mails/ConversationPage.js +5 -4
  43. package/dist/web/page/mails/ConversationPage.js.map +1 -1
  44. package/dist/web/page/mails/MailsPage.js +2 -1
  45. package/dist/web/page/mails/MailsPage.js.map +1 -1
  46. package/node_modules/@web-atoms/entity/dist/models/Queue.d.ts +9 -0
  47. package/node_modules/@web-atoms/entity/dist/models/Queue.d.ts.map +1 -0
  48. package/node_modules/@web-atoms/entity/dist/models/Queue.js +44 -0
  49. package/node_modules/@web-atoms/entity/dist/models/Queue.js.map +1 -0
  50. package/node_modules/@web-atoms/entity/dist/models/TaskManager.d.ts +8 -0
  51. package/node_modules/@web-atoms/entity/dist/models/TaskManager.d.ts.map +1 -0
  52. package/node_modules/@web-atoms/entity/dist/models/TaskManager.js +58 -0
  53. package/node_modules/@web-atoms/entity/dist/models/TaskManager.js.map +1 -0
  54. package/node_modules/@web-atoms/entity/dist/services/HttpSession.d.ts +7 -1
  55. package/node_modules/@web-atoms/entity/dist/services/HttpSession.d.ts.map +1 -1
  56. package/node_modules/@web-atoms/entity/dist/services/HttpSession.js +10 -3
  57. package/node_modules/@web-atoms/entity/dist/services/HttpSession.js.map +1 -1
  58. package/node_modules/@web-atoms/entity/dist/tests/task-manager/TaskManagerTests.d.ts +9 -0
  59. package/node_modules/@web-atoms/entity/dist/tests/task-manager/TaskManagerTests.d.ts.map +1 -0
  60. package/node_modules/@web-atoms/entity/dist/tests/task-manager/TaskManagerTests.js +59 -0
  61. package/node_modules/@web-atoms/entity/dist/tests/task-manager/TaskManagerTests.js.map +1 -0
  62. package/node_modules/@web-atoms/entity/dist/tsconfig.tsbuildinfo +1 -1
  63. package/node_modules/@web-atoms/entity/package.json +1 -1
  64. package/node_modules/@web-atoms/entity/src/models/Queue.ts +34 -0
  65. package/node_modules/@web-atoms/entity/src/models/TaskManager.ts +53 -0
  66. package/node_modules/@web-atoms/entity/src/services/HttpSession.ts +14 -2
  67. package/node_modules/@web-atoms/entity/src/tests/task-manager/TaskManagerTests.ts +49 -0
  68. package/package.json +2 -2
  69. package/src/admin/pages/domains/choose/ChooseDomainPage.tsx +2 -4
  70. package/src/admin/pages/users/UserDetailsPage.tsx +45 -38
  71. package/src/admin/pages/users/UserListPage.tsx +0 -1
  72. package/src/admin/pages/users/domains/EditDomainUserPage.tsx +78 -0
  73. package/src/admin/pages/users/files/EditFileAccessPage.tsx +25 -0
  74. package/src/admin/pages/users/mailboxes/EditUserMailboxPage.tsx +62 -0
  75. package/src/common/controls/collection-editor/CollectionEditor.tsx +92 -0
  76. package/src/common/controls/tree/TreeView.tsx +1 -1
  77. package/src/common/pages/folders/ChooserFolderPage.tsx +38 -2
  78. package/src/common/pages/mailboxes/MailboxDetailPage.tsx +38 -0
  79. package/src/common/pages/mailboxes/MailboxListPage.tsx +22 -1
  80. package/src/common/pages/mailboxes/services/MailboxService.ts +7 -0
  81. package/src/common/pages/mailboxes/settings/EditSyncTargetPage.tsx +91 -0
  82. package/src/model/model.ts +28 -0
  83. package/src/web/drawer/AppDrawer.tsx +5 -0
  84. package/src/web/page/files/service/CloudFileService.ts +2 -2
  85. package/src/web/page/mails/ConversationPage.tsx +3 -2
  86. package/src/web/page/mails/MailsPage.tsx +1 -1
@@ -1865,7 +1865,7 @@ const UMD = new UMDClass();
1865
1865
 
1866
1866
  AmdLoader.instance.register(
1867
1867
  ["@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","@web-atoms/email-dom"],
1868
- ["@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/common/pages/folders/ChooserFolderPage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@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/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@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/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@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/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
+ ["@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/models/TaskManager","@web-atoms/entity/dist/models/Queue","@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/common/pages/folders/ChooserFolderPage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@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/common/validators/Validators","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@social-mail/social-mail-client/dist/admin/pages/users/UserDetailsPage","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor","@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage","@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@web-atoms/web-controls/dist/basic/ComboBox","@social-mail/social-mail-client/dist/admin/pages/users/ChooseUserPage","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@social-mail/social-mail-client/dist/web/page/mails/ConversationPage","@social-mail/social-mail-client/dist/web/page/mails/service/ConversationService","@web-atoms/email-dom/dist/DomToString","@web-atoms/email-dom/dist/dom/StyleHelper","@web-atoms/email-dom/dist/style/mergeStyle","@social-mail/social-mail-client/dist/common/events/CommonEvents","@social-mail/social-mail-client/dist/web/page/mails/ComposeMailPage","@social-mail/social-mail-client/dist/common/controls/html/InlineHtmlEditorWithToolbar","@web-atoms/web-controls/dist/html-editor/InlineHtmlEditor","@web-atoms/web-controls/dist/html-editor/commands/AddImage","@web-atoms/web-controls/dist/html-editor/commands/CommandButton","@web-atoms/web-controls/dist/html-editor/commands/HtmlCommands","@web-atoms/web-controls/dist/html-editor/commands/Toolbar","@web-atoms/web-controls/dist/html-editor/commands/Bold","@web-atoms/web-controls/dist/html-editor/commands/Command","@web-atoms/web-controls/dist/html-editor/commands/Italic","@web-atoms/web-controls/dist/html-editor/commands/Underline","@web-atoms/web-controls/dist/html-editor/commands/StrikeThrough","@web-atoms/web-controls/dist/html-editor/commands/Align","@web-atoms/web-controls/dist/basic/PopupButton","@web-atoms/web-controls/dist/basic/styles/popup-button-style","@web-atoms/web-controls/dist/html-editor/commands/HorizontalRule","@web-atoms/web-controls/dist/html-editor/commands/Separator","@web-atoms/web-controls/dist/html-editor/commands/Headings","@web-atoms/web-controls/dist/html-editor/commands/ChangeColor","@web-atoms/web-controls/dist/html-editor/commands/ChangeFont","@web-atoms/web-controls/dist/html-editor/commands/ChangeFontSize","@web-atoms/web-controls/dist/html-editor/commands/NumberedList","@web-atoms/web-controls/dist/html-editor/commands/UnorderedList","@web-atoms/web-controls/dist/html-editor/commands/IndentLess","@web-atoms/web-controls/dist/html-editor/commands/IndentMore","@web-atoms/web-controls/dist/html-editor/commands/AddLink","@web-atoms/core/dist/web/controls/AtomToggleButtonBar","@web-atoms/core/dist/web/styles/AtomToggleButtonBarStyle","@web-atoms/core/dist/web/styles/AtomListBoxStyle","@web-atoms/core/dist/web/controls/AtomListBox","@web-atoms/core/dist/web/controls/AtomItemsControl","@web-atoms/core/dist/core/AtomEnumerator","@web-atoms/web-controls/dist/html-editor/commands/Unlink","@web-atoms/web-controls/dist/html-editor/commands/RemoveFormat","@web-atoms/web-controls/dist/html-editor/commands/Source","@web-atoms/web-controls/dist/basic/UploadEvent","@social-mail/social-mail-client/dist/services/files/LocalFileService","@web-atoms/web-controls/dist/basic/TitleEditor","@web-atoms/web-controls/dist/basic/styles/title-editor-style","@social-mail/social-mail-client/dist/common/controls/email-recipients/EmailRecipientChips","@web-atoms/web-controls/dist/basic/AtomChips","@web-atoms/web-controls/dist/basic/Chip","@web-atoms/web-controls/dist/basic/styles/chip-style","@web-atoms/web-controls/dist/basic/styles/chips-style","@web-atoms/web-controls/dist/basic/styles/item-suggestion-style","@social-mail/social-mail-client/dist/services/email-addresses/EmailAddressService","@social-mail/social-mail-client/dist/common/cache/CacheTTL","@social-mail/social-mail-client/dist/services/socket/sockets","@web-atoms/web-controls/dist/basic/LimitedText","@social-mail/social-mail-client/dist/web/page/mails/ChooseMailboxPage","@social-mail/social-mail-client/dist/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/drag-drop/FilesDragDrop","@social-mail/social-mail-client/dist/web/page/files/shares/EditSharesPage","@social-mail/social-mail-client/dist/services/files/FileShareService","@social-mail/social-mail-client/dist/web/page/files/shares/AddSharePage","@web-atoms/web-controls/dist/basic/Switch","@web-atoms/web-controls/dist/basic/styles/switch-style","@web-atoms/web-controls/dist/basic/DateField","@web-atoms/web-controls/dist/basic/Calendar","@web-atoms/web-controls/dist/basic/Select","@web-atoms/web-controls/dist/basic/styles/calendar-style","@web-atoms/web-controls/dist/basic/TimeEditor","@web-atoms/web-controls/dist/basic/styles/time-editor-style","@web-atoms/web-controls/dist/basic/styles/date-field-style","@social-mail/social-mail-client/dist/common/date/DateFormats","@social-mail/social-mail-client/dist/web/page/templates/EditTemplatePage","@social-mail/social-mail-client/dist/services/mime-service/MimeNode","@social-mail/social-mail-client/dist/common/QueryIterator","@social-mail/social-mail-client/dist/services/mime-service/AttachmentFile","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentType","@social-mail/social-mail-client/dist/services/mime-service/parsePairs","@social-mail/social-mail-client/dist/services/mime-service/tokenizer","@social-mail/social-mail-client/dist/services/mime-service/HeaderContentDisposition","@social-mail/social-mail-client/dist/services/mime-service/encoder/word-encoding","@social-mail/social-mail-client/dist/services/mime-service/encoder/RawBuffer","@social-mail/social-mail-client/dist/services/mime-service/encoder/base64-to-blob","@social-mail/social-mail-client/dist/services/mime-service/encoder/quoted-printable","@social-mail/social-mail-client/dist/services/mime-service/MimeMessage","@social-mail/social-mail-client/dist/services/mime-service/stream/LineStream","@social-mail/social-mail-client/dist/services/mime-service/stream/TextWriter","@social-mail/social-mail-client/dist/common/pages/drives/DriveListPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage","@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage","@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/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"]);
1869
1869
 
1870
1870
  System.register([], function (_export, _context) {
1871
1871
  "use strict";
@@ -12135,10 +12135,118 @@ System.register([], function (_export, _context) {
12135
12135
 
12136
12136
  AmdLoader.instance.setup("@web-atoms/core/dist/services/http/JsonError");
12137
12137
 
12138
- System.register(["tslib", "@web-atoms/core/dist/services/http/JsonError"], function (_export, _context) {
12138
+ System.register([], function (_export, _context) {
12139
+ "use strict";
12140
+
12141
+ var Queue;
12142
+ _export("default", void 0);
12143
+ return {
12144
+ setters: [],
12145
+ execute: function () {
12146
+ _export("default", Queue = class Queue {
12147
+ constructor() {
12148
+ this.head = 0;
12149
+ this.tail = 0;
12150
+ this.store = new Map();
12151
+ }
12152
+ peek() {
12153
+ return this.store[this.head];
12154
+ }
12155
+ enqueue(item) {
12156
+ this.store[this.tail] = item;
12157
+ this.tail++;
12158
+ }
12159
+ dequeue() {
12160
+ const {
12161
+ head,
12162
+ tail
12163
+ } = this;
12164
+ const size = tail - head;
12165
+ if (size <= 0) {
12166
+ return void 0;
12167
+ }
12168
+ const item = this.store[head];
12169
+ this.store.delete(head);
12170
+ this.head++;
12171
+ if (this.head === this.tail) {
12172
+ this.head = 0;
12173
+ this.tail = 0;
12174
+ }
12175
+ return item;
12176
+ }
12177
+ });
12178
+ }
12179
+ };
12180
+ });
12181
+ //# sourceMappingURL=Queue.js.map
12182
+
12183
+ AmdLoader.instance.setup("@web-atoms/entity/dist/models/Queue");
12184
+
12185
+ System.register(["./Queue"], function (_export, _context) {
12186
+ "use strict";
12187
+
12188
+ var Queue, TaskManager;
12189
+ _export("default", void 0);
12190
+ return {
12191
+ setters: [function (_Queue) {
12192
+ Queue = _Queue.default;
12193
+ }],
12194
+ execute: function () {
12195
+ _export("default", TaskManager = class TaskManager {
12196
+ constructor() {
12197
+ this.rateLimit = 10;
12198
+ this.running = new Set();
12199
+ this.waiting = new Queue();
12200
+ }
12201
+ run(fx) {
12202
+ const pr = new Promise((resolve, reject) => {
12203
+ this.waiting.enqueue({
12204
+ resolve,
12205
+ reject,
12206
+ fx
12207
+ });
12208
+ });
12209
+ this.processQueue();
12210
+ return pr;
12211
+ }
12212
+ processQueue() {
12213
+ for (;;) {
12214
+ if (this.running.size >= this.rateLimit) {
12215
+ return;
12216
+ }
12217
+ const t = this.waiting.dequeue();
12218
+ if (!t) {
12219
+ return;
12220
+ }
12221
+ const {
12222
+ fx,
12223
+ resolve,
12224
+ reject
12225
+ } = t;
12226
+ this.running.add(fx);
12227
+ fx().then(r => {
12228
+ this.running.delete(fx);
12229
+ setTimeout(() => this.processQueue(), 1);
12230
+ resolve(r);
12231
+ }, e => {
12232
+ this.running.delete(fx);
12233
+ setTimeout(() => this.processQueue(), 1);
12234
+ reject(e);
12235
+ });
12236
+ }
12237
+ }
12238
+ });
12239
+ }
12240
+ };
12241
+ });
12242
+ //# sourceMappingURL=TaskManager.js.map
12243
+
12244
+ AmdLoader.instance.setup("@web-atoms/entity/dist/models/TaskManager");
12245
+
12246
+ System.register(["tslib", "@web-atoms/core/dist/services/http/JsonError", "../models/TaskManager"], function (_export, _context) {
12139
12247
  "use strict";
12140
12248
 
12141
- var __awaiter, JsonError, TextBody, HttpSession;
12249
+ var __awaiter, JsonError, TaskManager, TextBody, HttpSession;
12142
12250
  function merge(url, extra) {
12143
12251
  return url + (typeof extra === "string" ? extra : combine(extra));
12144
12252
  }
@@ -12169,6 +12277,8 @@ System.register(["tslib", "@web-atoms/core/dist/services/http/JsonError"], funct
12169
12277
  __awaiter = _tslib.__awaiter;
12170
12278
  }, function (_webAtomsCoreDistServicesHttpJsonError) {
12171
12279
  JsonError = _webAtomsCoreDistServicesHttpJsonError.default;
12280
+ }, function (_modelsTaskManager) {
12281
+ TaskManager = _modelsTaskManager.default;
12172
12282
  }],
12173
12283
  execute: function () {
12174
12284
  _export("TextBody", TextBody = class TextBody {
@@ -12179,11 +12289,16 @@ System.register(["tslib", "@web-atoms/core/dist/services/http/JsonError"], funct
12179
12289
  return this.text;
12180
12290
  }
12181
12291
  });
12182
- _export("default", HttpSession = class HttpSession {
12292
+ _export("default", HttpSession = class HttpSession extends TaskManager {
12183
12293
  constructor() {
12294
+ super(...arguments);
12295
+ this.rateLimit = 10;
12184
12296
  this.resultConverter = e => e;
12185
12297
  }
12186
12298
  fetchJson(options) {
12299
+ return this.run(() => this.uncheckedFetchJson(options));
12300
+ }
12301
+ uncheckedFetchJson(options) {
12187
12302
  var _a, _b, _c, _d, _e, _f;
12188
12303
  return __awaiter(this, void 0, void 0, function* () {
12189
12304
  if (options.cancelToken) {
@@ -13228,7 +13343,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
13228
13343
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
13229
13344
  "use strict";
13230
13345
 
13231
- var DateTime, Model, AppRole, AppFileContentDispositionArray, AppFile, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxThread, MailboxThreadEmail, User, UserPin, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, LoginSession, Tag;
13346
+ var DateTime, Model, AppRole, AppFileContentDispositionArray, AppFile, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Contact, ContactEmail, ContactPhone, ContactItem, ContactDomain, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, EmailTemplate, Mailbox, MailboxEmail, MailboxThread, MailboxThreadEmail, MailboxSyncTargetDirectionArray, MailboxSyncTargetProtocolArray, MailboxSyncTargetLastSyncStatusArray, MailboxSyncTarget, User, UserPin, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, LoginSession, Tag;
13232
13347
  return {
13233
13348
  setters: [function (_webAtomsDateTimeDistDateTime) {
13234
13349
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -13418,6 +13533,39 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
13418
13533
  total: 0
13419
13534
  }));
13420
13535
  _export("MailboxThreadEmail", MailboxThreadEmail = new Model("MailboxThreadEmail", ["mailboxID", "emailAddressID", "emailID"], {}));
13536
+ _export("MailboxSyncTargetDirectionArray", MailboxSyncTargetDirectionArray = [{
13537
+ "label": "in",
13538
+ "value": "in"
13539
+ }, {
13540
+ "label": "out",
13541
+ "value": "out"
13542
+ }]);
13543
+ _export("MailboxSyncTargetProtocolArray", MailboxSyncTargetProtocolArray = [{
13544
+ "label": "imap",
13545
+ "value": "imap"
13546
+ }]);
13547
+ _export("MailboxSyncTargetLastSyncStatusArray", MailboxSyncTargetLastSyncStatusArray = [{
13548
+ "label": "none",
13549
+ "value": "none"
13550
+ }, {
13551
+ "label": "success",
13552
+ "value": "success"
13553
+ }, {
13554
+ "label": "failed",
13555
+ "value": "failed"
13556
+ }]);
13557
+ _export("MailboxSyncTarget", MailboxSyncTarget = new Model("MailboxSyncTarget", ["syncTargetID"], {
13558
+ mailboxID: 0,
13559
+ direction: "in",
13560
+ protocol: "imap",
13561
+ username: "",
13562
+ host: "",
13563
+ port: 0,
13564
+ isSecure: false,
13565
+ syncAllFolders: false,
13566
+ syncJunkMails: false,
13567
+ intervalSeconds: 0
13568
+ }));
13421
13569
  _export("User", User = new Model("User", ["userID"], {
13422
13570
  userName: "",
13423
13571
  displayName: "",
@@ -17860,9 +18008,9 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/cor
17860
18008
  }) {
17861
18009
  var _a;
17862
18010
  return __awaiter(this, void 0, void 0, function* () {
17863
- const parentID = folder.appFileID;
18011
+ const parentID = folder === null || folder === void 0 ? void 0 : folder.appFileID;
17864
18012
  if (!parentID) {
17865
- return folder.children;
18013
+ return folder === null || folder === void 0 ? void 0 : folder.children;
17866
18014
  }
17867
18015
  let q = this.entityService.query(AppFile).where({
17868
18016
  parentID,
@@ -18079,7 +18227,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
18079
18227
  expand(item) {
18080
18228
  const element = this.map.get(item);
18081
18229
  if (element) {
18082
- this.expandElement(element);
18230
+ this.expandElement(element, false);
18083
18231
  }
18084
18232
  }
18085
18233
  preCreate() {
@@ -18269,10 +18417,10 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
18269
18417
 
18270
18418
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");
18271
18419
 
18272
- System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../../web/page/files/service/CloudFileService", "@web-atoms/core/dist/core/XNode", "../../controls/tree/TreeView", "../../../model/model", "@web-atoms/core/dist/core/InjectProperty", "../../controls/buttons/IconButton", "@web-atoms/core/dist/core/Bind"], function (_export, _context) {
18420
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../../web/page/files/service/CloudFileService", "@web-atoms/core/dist/core/XNode", "../../controls/tree/TreeView", "../../../model/model", "@web-atoms/core/dist/core/InjectProperty", "../../controls/buttons/IconButton", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/style/styled", "@web-atoms/web-controls/dist/basic/AtomRepeater"], function (_export, _context) {
18273
18421
  "use strict";
18274
18422
 
18275
- var __awaiter, __decorate, __metadata, PopupWindowPage, CloudFileService, XNode, TreeView, AppFile, InjectProperty, SaveIconTextButton, Bind, ChooserFolderPage;
18423
+ var __awaiter, __decorate, __metadata, PopupWindowPage, CloudFileService, XNode, TreeView, AppFile, InjectProperty, SaveIconTextButton, Bind, styled, AtomRepeater, ChooserFolderPage, css;
18276
18424
  _export("default", void 0);
18277
18425
  return {
18278
18426
  setters: [function (_tslib) {
@@ -18295,15 +18443,36 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
18295
18443
  SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
18296
18444
  }, function (_webAtomsCoreDistCoreBind) {
18297
18445
  Bind = _webAtomsCoreDistCoreBind.default;
18446
+ }, function (_webAtomsCoreDistStyleStyled) {
18447
+ styled = _webAtomsCoreDistStyleStyled.default;
18448
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
18449
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
18298
18450
  }],
18299
18451
  execute: function () {
18452
+ css = styled.css`
18453
+ display: grid;
18454
+ grid-template-columns: auto auto;
18455
+
18456
+ & > .folders {
18457
+ grid-column: 1;
18458
+ }
18459
+ & > .files {
18460
+ grid-column: 2;
18461
+ }
18462
+ `.installLocal();
18300
18463
  _export("default", ChooserFolderPage = class ChooserFolderPage extends PopupWindowPage {
18301
18464
  constructor() {
18302
18465
  super(...arguments);
18303
18466
  this.selected = null;
18467
+ this.selectedFile = null;
18468
+ this.search = "";
18304
18469
  }
18305
18470
  init() {
18471
+ var _a, _b;
18472
+ var _c;
18306
18473
  return __awaiter(this, void 0, void 0, function* () {
18474
+ (_a = this.parameters) !== null && _a !== void 0 ? _a : this.parameters = {};
18475
+ (_b = (_c = this.parameters).chooseFile) !== null && _b !== void 0 ? _b : _c.chooseFile = false;
18307
18476
  this.title = "Choose the folder";
18308
18477
  this.root = AppFile.create({
18309
18478
  name: "Drives"
@@ -18314,17 +18483,31 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
18314
18483
  cancelToken: null
18315
18484
  });
18316
18485
  this.root.children = drives.items;
18317
- this.renderer = XNode.create("div", null, XNode.create(TreeView, {
18486
+ this.renderer = XNode.create("div", {
18487
+ class: css
18488
+ }, XNode.create(TreeView, {
18489
+ class: "folders",
18318
18490
  childrenProperty: item => {
18319
18491
  var _a;
18320
18492
  return (_a = item.children) !== null && _a !== void 0 ? _a : item.children = [];
18321
18493
  },
18322
18494
  root: this.root,
18323
18495
  selectedItem: Bind.twoWaysImmediate(() => this.selected)
18496
+ }), this.parameters.chooseFile && XNode.create(AtomRepeater, {
18497
+ class: "files",
18498
+ "data-layout": "list",
18499
+ "data-list-selection": "default",
18500
+ selectOnClick: true,
18501
+ selectedItem: Bind.twoWaysImmediate(() => this.selectedFile),
18502
+ items: Bind.oneWayAsync((c, e, cancelToken) => this.cloudFileService.files({
18503
+ search: this.search,
18504
+ folder: this.selected,
18505
+ cancelToken
18506
+ }))
18324
18507
  }));
18325
18508
  this.footerRenderer = () => XNode.create("div", {
18326
18509
  "data-layout": "command-row",
18327
- "style-display": Bind.oneWay(() => !!this.selected)
18510
+ "style-display": Bind.oneWay(() => !!(this.parameters.chooseFile ? this.selectedFile : this.selected))
18328
18511
  }, XNode.create(SaveIconTextButton, {
18329
18512
  "event-click": () => this.close(this.selected),
18330
18513
  text: "Choose"
@@ -19285,20 +19468,467 @@ System.register([], function (_export, _context) {
19285
19468
  if (!n) {
19286
19469
  return def;
19287
19470
  }
19288
- const text = numberToText(n);
19289
- return prefix + text + suffix;
19471
+ const text = numberToText(n);
19472
+ return prefix + text + suffix;
19473
+ });
19474
+ }
19475
+ };
19476
+ });
19477
+ //# sourceMappingURL=NumberFormats.js.map
19478
+
19479
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/NumberFormats");
19480
+
19481
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/basic/Expander", "../buttons/IconButton", "@web-atoms/web-controls/dist/PageNavigator", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/web/services/PopupService", "../../../services/EntityService", "@web-atoms/core/dist/style/styled"], function (_export, _context) {
19482
+ "use strict";
19483
+
19484
+ var __awaiter, XNode, AtomRepeater, Expander, AddIconTextButton, DeleteIconButton, PageNavigator, Bind, PopupService, EntityService, styled;
19485
+ function CollectionEditor({
19486
+ model,
19487
+ collection,
19488
+ addPage,
19489
+ pageResultToItem,
19490
+ editPage,
19491
+ label,
19492
+ itemRenderer
19493
+ }) {
19494
+ var _a;
19495
+ let repeater;
19496
+ const items = (_a = model[collection]) !== null && _a !== void 0 ? _a : model[collection] = [];
19497
+ const onAddItem = () => __awaiter(this, void 0, void 0, function* () {
19498
+ if (addPage) {
19499
+ const result = yield PageNavigator.pushPageForResult(addPage, {});
19500
+ repeater.items.add(pageResultToItem ? pageResultToItem(result) : result);
19501
+ const es = repeater.app.resolve(EntityService);
19502
+ const copy = es.cloner(model).include(x => x[collection]).copy;
19503
+ yield es.save(copy);
19504
+ }
19505
+ });
19506
+ const deleteItem = item => __awaiter(this, void 0, void 0, function* () {
19507
+ if (!(yield PopupService.confirm({
19508
+ message: "Are you sure you want to delete this?",
19509
+ title: "Confirm"
19510
+ }))) {
19511
+ return;
19512
+ }
19513
+ item.$deleted = true;
19514
+ const es = repeater.app.resolve(EntityService);
19515
+ const copy = es.cloner(item).copy;
19516
+ yield es.save(copy);
19517
+ items.remove(item);
19518
+ });
19519
+ return XNode.create(Expander, {
19520
+ "data-collection-editor": "editor",
19521
+ isExpanded: true
19522
+ }, XNode.create("div", {
19523
+ "data-layout": "row"
19524
+ }, XNode.create("span", {
19525
+ text: label
19526
+ })), XNode.create("div", null, XNode.create(AtomRepeater, {
19527
+ presenter: Bind.presenter(c => repeater = c),
19528
+ "data-layout": "list",
19529
+ "event-delete-collection-item": ce => deleteItem(ce.detail),
19530
+ items: items,
19531
+ footer: true,
19532
+ itemRenderer: item => {
19533
+ const node = itemRenderer(item);
19534
+ node.children.push(XNode.create("td", null, XNode.create(DeleteIconButton, {
19535
+ "data-click-event": "delete-collection-item"
19536
+ })));
19537
+ return node;
19538
+ }
19539
+ }), XNode.create("div", null, XNode.create(AddIconTextButton, {
19540
+ "event-click": onAddItem,
19541
+ text: "Add New"
19542
+ }))));
19543
+ }
19544
+ _export("default", CollectionEditor);
19545
+ return {
19546
+ setters: [function (_tslib) {
19547
+ __awaiter = _tslib.__awaiter;
19548
+ }, function (_webAtomsCoreDistCoreXNode) {
19549
+ XNode = _webAtomsCoreDistCoreXNode.default;
19550
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
19551
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
19552
+ }, function (_webAtomsWebControlsDistBasicExpander) {
19553
+ Expander = _webAtomsWebControlsDistBasicExpander.default;
19554
+ }, function (_buttonsIconButton) {
19555
+ AddIconTextButton = _buttonsIconButton.AddIconTextButton;
19556
+ DeleteIconButton = _buttonsIconButton.DeleteIconButton;
19557
+ }, function (_webAtomsWebControlsDistPageNavigator) {
19558
+ PageNavigator = _webAtomsWebControlsDistPageNavigator.default;
19559
+ }, function (_webAtomsCoreDistCoreBind) {
19560
+ Bind = _webAtomsCoreDistCoreBind.default;
19561
+ }, function (_webAtomsCoreDistWebServicesPopupService) {
19562
+ PopupService = _webAtomsCoreDistWebServicesPopupService.default;
19563
+ }, function (_servicesEntityService) {
19564
+ EntityService = _servicesEntityService.default;
19565
+ }, function (_webAtomsCoreDistStyleStyled) {
19566
+ styled = _webAtomsCoreDistStyleStyled.default;
19567
+ }],
19568
+ execute: function () {
19569
+ styled.css`
19570
+ margin: 10px;
19571
+ padding: 10px;
19572
+ border: solid 1px lightgray;
19573
+ border-radius: 10px;
19574
+ `.installGlobal("div[data-collection-editor]");
19575
+ }
19576
+ };
19577
+ });
19578
+ //# sourceMappingURL=CollectionEditor.js.map
19579
+
19580
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/collection-editor/CollectionEditor");
19581
+
19582
+ 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) {
19583
+ "use strict";
19584
+
19585
+ var __awaiter, __decorate, __metadata, InjectProperty, XNode, Action, PopupWindowPage, DomainUser, Bind, AdminDomainService, Form, FormField, DropDown, Checkbox, SaveIconTextButton, EntityService, EditDomainUserPage;
19586
+ _export("default", void 0);
19587
+ return {
19588
+ setters: [function (_tslib) {
19589
+ __awaiter = _tslib.__awaiter;
19590
+ __decorate = _tslib.__decorate;
19591
+ __metadata = _tslib.__metadata;
19592
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
19593
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
19594
+ }, function (_webAtomsCoreDistCoreXNode) {
19595
+ XNode = _webAtomsCoreDistCoreXNode.default;
19596
+ }, function (_webAtomsCoreDistViewModelAction) {
19597
+ Action = _webAtomsCoreDistViewModelAction.default;
19598
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
19599
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
19600
+ }, function (_modelModel) {
19601
+ DomainUser = _modelModel.DomainUser;
19602
+ }, function (_webAtomsCoreDistCoreBind) {
19603
+ Bind = _webAtomsCoreDistCoreBind.default;
19604
+ }, function (_domainsServicesAdminDomainService) {
19605
+ AdminDomainService = _domainsServicesAdminDomainService.default;
19606
+ }, function (_webAtomsWebControlsDistBasicForm) {
19607
+ Form = _webAtomsWebControlsDistBasicForm.default;
19608
+ }, function (_webAtomsWebControlsDistBasicFormField) {
19609
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
19610
+ }, function (_webAtomsWebControlsDistBasicDropDown) {
19611
+ DropDown = _webAtomsWebControlsDistBasicDropDown.default;
19612
+ }, function (_webAtomsWebControlsDistBasicCheckbox) {
19613
+ Checkbox = _webAtomsWebControlsDistBasicCheckbox.default;
19614
+ }, function (_commonControlsButtonsIconButton) {
19615
+ SaveIconTextButton = _commonControlsButtonsIconButton.SaveIconTextButton;
19616
+ }, function (_servicesEntityService) {
19617
+ EntityService = _servicesEntityService.default;
19618
+ }],
19619
+ execute: function () {
19620
+ _export("default", EditDomainUserPage = class EditDomainUserPage extends PopupWindowPage {
19621
+ constructor() {
19622
+ super(...arguments);
19623
+ this.model = null;
19624
+ }
19625
+ init() {
19626
+ var _a, _b, _c, _d, _e;
19627
+ var _f, _g, _h;
19628
+ return __awaiter(this, void 0, void 0, function* () {
19629
+ this.title = "Choose Domain Configuration";
19630
+ const domains = yield this.adminDomainService.list();
19631
+ this.model = (_a = this.parameters) !== null && _a !== void 0 ? _a : DomainUser.create({});
19632
+ (_b = (_f = this.model).hostedDomain) !== null && _b !== void 0 ? _b : _f.hostedDomain = domains[0];
19633
+ (_c = (_g = this.model).domainID) !== null && _c !== void 0 ? _c : _g.domainID = (_d = this.model.hostedDomain) === null || _d === void 0 ? void 0 : _d.domainID;
19634
+ (_e = (_h = this.model).allowCreateMailbox) !== null && _e !== void 0 ? _e : _h.allowCreateMailbox = false;
19635
+ this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(FormField, {
19636
+ label: "Domain"
19637
+ }, XNode.create(DropDown, {
19638
+ items: domains,
19639
+ itemRenderer: item => XNode.create("div", {
19640
+ text: item.domain.name
19641
+ }),
19642
+ valuePath: item => item.domainID,
19643
+ value: Bind.twoWaysImmediate(() => this.model.domainID)
19644
+ })), XNode.create(FormField, {
19645
+ label: "Is Admin"
19646
+ }, XNode.create(Checkbox, {
19647
+ checked: Bind.twoWaysImmediate(() => this.model.isAdmin),
19648
+ text: " can create and view all mailboxes"
19649
+ })), XNode.create(FormField, {
19650
+ label: "Create Mailbox",
19651
+ "style-display": Bind.oneWay(() => !this.model.isAdmin)
19652
+ }, XNode.create(Checkbox, {
19653
+ checked: Bind.twoWaysImmediate(() => this.model.allowCreateMailbox),
19654
+ text: " can create mailboxe for self use"
19655
+ })), XNode.create(FormField, {
19656
+ label: "Prefix",
19657
+ "style-display": Bind.oneWay(() => this.model.allowCreateMailbox)
19658
+ }, XNode.create("input", {
19659
+ value: Bind.twoWaysImmediate(() => this.model.prefix)
19660
+ })), XNode.create("div", {
19661
+ "data-layout": "command-row"
19662
+ }, XNode.create(SaveIconTextButton, {
19663
+ "event-click": () => this.save(),
19664
+ text: "Save"
19665
+ }))));
19666
+ });
19667
+ }
19668
+ save() {
19669
+ return __awaiter(this, void 0, void 0, function* () {
19670
+ if (this.model.domainID && this.model.userID) {
19671
+ const es = this.resolve(EntityService);
19672
+ yield es.save(es.cloner(this.model).copy);
19673
+ }
19674
+ return this.model;
19675
+ });
19676
+ }
19677
+ });
19678
+ __decorate([InjectProperty, __metadata("design:type", AdminDomainService)], EditDomainUserPage.prototype, "adminDomainService", void 0);
19679
+ __decorate([Action({
19680
+ close: true
19681
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], EditDomainUserPage.prototype, "save", null);
19682
+ }
19683
+ };
19684
+ });
19685
+ //# sourceMappingURL=EditDomainUserPage.js.map
19686
+
19687
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/domains/EditDomainUserPage");
19688
+
19689
+ System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../Sql", "../../../SocialMailApp"], function (_export, _context) {
19690
+ "use strict";
19691
+
19692
+ var __awaiter, __decorate, __metadata, DITransient, Inject, EntityService, HostedDomain, Mailbox, Sql, SocialMailApp, MailboxService;
19693
+ return {
19694
+ setters: [function (_tslib) {
19695
+ __awaiter = _tslib.__awaiter;
19696
+ __decorate = _tslib.__decorate;
19697
+ __metadata = _tslib.__metadata;
19698
+ }, function (_webAtomsCoreDistDiDITransient) {
19699
+ DITransient = _webAtomsCoreDistDiDITransient.default;
19700
+ }, function (_webAtomsCoreDistDiInject) {
19701
+ Inject = _webAtomsCoreDistDiInject.Inject;
19702
+ }, function (_servicesEntityService) {
19703
+ EntityService = _servicesEntityService.default;
19704
+ }, function (_modelModel) {
19705
+ HostedDomain = _modelModel.HostedDomain;
19706
+ Mailbox = _modelModel.Mailbox;
19707
+ }, function (_Sql) {
19708
+ Sql = _Sql.Sql;
19709
+ }, function (_SocialMailApp) {
19710
+ SocialMailApp = _SocialMailApp.default;
19711
+ }],
19712
+ execute: function () {
19713
+ MailboxService = class MailboxService {
19714
+ domains() {
19715
+ return __awaiter(this, void 0, void 0, function* () {
19716
+ const hosted = yield this.entityService.query(HostedDomain).include(x => x.domain).toArray();
19717
+ return hosted.map(x => x.domain);
19718
+ });
19719
+ }
19720
+ top() {
19721
+ return __awaiter(this, void 0, void 0, function* () {
19722
+ const q = this.entityService.query(Mailbox);
19723
+ const {
19724
+ userID
19725
+ } = SocialMailApp.user;
19726
+ const top = yield q.include(x => x.emailAddress).orderByDescending({
19727
+ userID
19728
+ }, p => x => x.userPins.some(s => p.userID === s.userID)).thenByDescending(x => x.dateUpdated).toPagedList({
19729
+ size: 3,
19730
+ count: false
19731
+ });
19732
+ return top.items;
19733
+ });
19734
+ }
19735
+ list({
19736
+ search = "",
19737
+ start = 0,
19738
+ size = 50,
19739
+ version = 0,
19740
+ cancelToken
19741
+ }) {
19742
+ let q = this.entityService.query(Mailbox);
19743
+ if (search) {
19744
+ if (search.endsWith("@")) {
19745
+ search = `${search}%`;
19746
+ q = q.where({
19747
+ search
19748
+ }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search));
19749
+ } else if (search.startsWith("@")) {
19750
+ search = `%${search}`;
19751
+ q = q.where({
19752
+ search
19753
+ }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search));
19754
+ } else {
19755
+ if (!search.includes("%")) {
19756
+ search = `%${search}%`;
19757
+ }
19758
+ q = q.where({
19759
+ search
19760
+ }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search) || Sql.text.like(x.emailAddress.name, p.search));
19761
+ }
19762
+ }
19763
+ return q.include(x => x.emailAddress).toPagedList({
19764
+ start,
19765
+ size,
19766
+ cancelToken
19767
+ });
19768
+ }
19769
+ get(id) {
19770
+ return __awaiter(this, void 0, void 0, function* () {
19771
+ return this.entityService.query(Mailbox).where({
19772
+ id
19773
+ }, p => x => x.mailboxID === p.id).include(x => [x.userMailboxes, x.syncTargets, x.emailAddress, x.domain.domain]).firstOrDefault();
19774
+ });
19775
+ }
19776
+ save(model) {
19777
+ return __awaiter(this, void 0, void 0, function* () {
19778
+ if (model.name) {
19779
+ model.name = model.name.trim();
19780
+ }
19781
+ if (model.username) {
19782
+ model.username = model.username.trim();
19783
+ }
19784
+ const cloner = this.entityService.cloner(model).include(x => x.userMailboxes);
19785
+ yield this.entityService.save(cloner.copy);
19786
+ return model;
19787
+ });
19788
+ }
19789
+ };
19790
+ __decorate([Inject, __metadata("design:type", EntityService)], MailboxService.prototype, "entityService", void 0);
19791
+ MailboxService = __decorate([DITransient()], MailboxService);
19792
+ _export("default", MailboxService);
19793
+ }
19794
+ };
19795
+ });
19796
+ //# sourceMappingURL=MailboxService.js.map
19797
+
19798
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");
19799
+
19800
+ 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) {
19801
+ "use strict";
19802
+
19803
+ var __awaiter, __decorate, __metadata, PopupWindowPage, UserMailbox, XNode, Form, Bind, FormField, MailboxService, InjectProperty, AtomRepeater, Action, InfiniteRepeater, EditUserMailboxPage;
19804
+ _export("default", void 0);
19805
+ return {
19806
+ setters: [function (_tslib) {
19807
+ __awaiter = _tslib.__awaiter;
19808
+ __decorate = _tslib.__decorate;
19809
+ __metadata = _tslib.__metadata;
19810
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
19811
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
19812
+ }, function (_modelModel) {
19813
+ UserMailbox = _modelModel.UserMailbox;
19814
+ }, function (_webAtomsCoreDistCoreXNode) {
19815
+ XNode = _webAtomsCoreDistCoreXNode.default;
19816
+ }, function (_webAtomsWebControlsDistBasicForm) {
19817
+ Form = _webAtomsWebControlsDistBasicForm.default;
19818
+ }, function (_webAtomsCoreDistCoreBind) {
19819
+ Bind = _webAtomsCoreDistCoreBind.default;
19820
+ }, function (_webAtomsWebControlsDistBasicFormField) {
19821
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
19822
+ }, function (_commonPagesMailboxesServicesMailboxService) {
19823
+ MailboxService = _commonPagesMailboxesServicesMailboxService.default;
19824
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
19825
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
19826
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
19827
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
19828
+ }, function (_webAtomsCoreDistViewModelAction) {
19829
+ Action = _webAtomsCoreDistViewModelAction.default;
19830
+ }, function (_commonControlsRepeaterInfiniteRepeater) {
19831
+ InfiniteRepeater = _commonControlsRepeaterInfiniteRepeater.default;
19832
+ }],
19833
+ execute: function () {
19834
+ _export("default", EditUserMailboxPage = class EditUserMailboxPage extends PopupWindowPage {
19835
+ constructor() {
19836
+ super(...arguments);
19837
+ this.search = "";
19838
+ this.selectedMailbox = null;
19839
+ }
19840
+ init() {
19841
+ var _a;
19842
+ return __awaiter(this, void 0, void 0, function* () {
19843
+ this.model = (_a = this.parameters) !== null && _a !== void 0 ? _a : UserMailbox.create({});
19844
+ this.title = "Select Mailbox";
19845
+ this.headerRenderer = () => XNode.create("div", {
19846
+ "data-layout": "header-row"
19847
+ }, XNode.create("input", {
19848
+ type: "search",
19849
+ value: Bind.twoWaysImmediate(() => this.search)
19850
+ }));
19851
+ this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(FormField, {
19852
+ label: "Choose Mailbox"
19853
+ }, XNode.create(AtomRepeater, Object.assign({
19854
+ "data-list-selection": "default",
19855
+ "data-layout": "list",
19856
+ selectOnClick: true,
19857
+ "data-click-event": "select-mailbox"
19858
+ }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.mailboxService.list({
19859
+ search: this.search,
19860
+ cancelToken,
19861
+ start,
19862
+ size: 10
19863
+ })), {
19864
+ itemRenderer: item => XNode.create("div", {
19865
+ text: item.emailAddress.emailAddress
19866
+ })
19867
+ })))));
19868
+ });
19869
+ }
19870
+ selectMailbox(mailbox) {
19871
+ return __awaiter(this, void 0, void 0, function* () {
19872
+ return {
19873
+ mailbox,
19874
+ mailboxID: mailbox.mailboxID
19875
+ };
19876
+ });
19877
+ }
19878
+ });
19879
+ __decorate([InjectProperty, __metadata("design:type", MailboxService)], EditUserMailboxPage.prototype, "mailboxService", void 0);
19880
+ __decorate([Action({
19881
+ onEvent: "select-mailbox",
19882
+ close: true
19883
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], EditUserMailboxPage.prototype, "selectMailbox", null);
19884
+ }
19885
+ };
19886
+ });
19887
+ //# sourceMappingURL=EditUserMailboxPage.js.map
19888
+
19889
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/mailboxes/EditUserMailboxPage");
19890
+
19891
+ 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"], function (_export, _context) {
19892
+ "use strict";
19893
+
19894
+ var __awaiter, PopupWindowPage, AppFileAccess, XNode, PageNavigator, ChooserFolderPage, EditFileAcessPage;
19895
+ _export("default", void 0);
19896
+ return {
19897
+ setters: [function (_tslib) {
19898
+ __awaiter = _tslib.__awaiter;
19899
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
19900
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
19901
+ }, function (_modelModel) {
19902
+ AppFileAccess = _modelModel.AppFileAccess;
19903
+ }, function (_webAtomsCoreDistCoreXNode) {
19904
+ XNode = _webAtomsCoreDistCoreXNode.default;
19905
+ }, function (_webAtomsWebControlsDistPageNavigator) {
19906
+ PageNavigator = _webAtomsWebControlsDistPageNavigator.default;
19907
+ }, function (_commonPagesFoldersChooserFolderPage) {
19908
+ ChooserFolderPage = _commonPagesFoldersChooserFolderPage.default;
19909
+ }],
19910
+ execute: function () {
19911
+ _export("default", EditFileAcessPage = class EditFileAcessPage extends PopupWindowPage {
19912
+ init() {
19913
+ var _a;
19914
+ return __awaiter(this, void 0, void 0, function* () {
19915
+ this.model = (_a = this.parameters) !== null && _a !== void 0 ? _a : AppFileAccess.create({});
19916
+ const file = yield PageNavigator.pushPageForResultOrCancel(ChooserFolderPage, {});
19917
+ this.renderer = XNode.create("div", null);
19918
+ });
19919
+ }
19290
19920
  });
19291
19921
  }
19292
19922
  };
19293
19923
  });
19294
- //# sourceMappingURL=NumberFormats.js.map
19924
+ //# sourceMappingURL=EditFileAccessPage.js.map
19295
19925
 
19296
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/NumberFormats");
19926
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/files/EditFileAccessPage");
19297
19927
 
19298
- System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "./services/AdminUserService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/Form", "@web-atoms/web-controls/dist/basic/FormField", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../common/NumberFormats"], function (_export, _context) {
19928
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "./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"], function (_export, _context) {
19299
19929
  "use strict";
19300
19930
 
19301
- var __awaiter, __decorate, __metadata, ContentPage, AdminUserService, InjectProperty, XNode, Form, FormField, AtomRepeater, toFileSize, UserDetailsPage;
19931
+ var __awaiter, __decorate, __metadata, ContentPage, AdminUserService, InjectProperty, XNode, Form, toFileSize, CollectionEditor, EditDomainUserPage, EditUserMailboxPage, EditFileAcessPage, UserDetailsPage;
19302
19932
  _export("default", void 0);
19303
19933
  return {
19304
19934
  setters: [function (_tslib) {
@@ -19315,12 +19945,16 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
19315
19945
  XNode = _webAtomsCoreDistCoreXNode.default;
19316
19946
  }, function (_webAtomsWebControlsDistBasicForm) {
19317
19947
  Form = _webAtomsWebControlsDistBasicForm.default;
19318
- }, function (_webAtomsWebControlsDistBasicFormField) {
19319
- FormField = _webAtomsWebControlsDistBasicFormField.default;
19320
- }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
19321
- AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
19322
19948
  }, function (_commonNumberFormats) {
19323
19949
  toFileSize = _commonNumberFormats.toFileSize;
19950
+ }, function (_commonControlsCollectionEditorCollectionEditor) {
19951
+ CollectionEditor = _commonControlsCollectionEditorCollectionEditor.default;
19952
+ }, function (_domainsEditDomainUserPage) {
19953
+ EditDomainUserPage = _domainsEditDomainUserPage.default;
19954
+ }, function (_mailboxesEditUserMailboxPage) {
19955
+ EditUserMailboxPage = _mailboxesEditUserMailboxPage.default;
19956
+ }, function (_filesEditFileAccessPage) {
19957
+ EditFileAcessPage = _filesEditFileAccessPage.default;
19324
19958
  }],
19325
19959
  execute: function () {
19326
19960
  _export("default", UserDetailsPage = class UserDetailsPage extends ContentPage {
@@ -19328,9 +19962,11 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
19328
19962
  return __awaiter(this, void 0, void 0, function* () {
19329
19963
  this.model = yield this.userService.get(this.parameters.userID);
19330
19964
  this.title = this.model.userName;
19331
- this.renderer = XNode.create("div", null, XNode.create("details", null, XNode.create("summary", null, "Domains"), XNode.create(AtomRepeater, {
19332
- for: "table",
19333
- items: this.model.domainUsers,
19965
+ this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(CollectionEditor, {
19966
+ label: "Domains",
19967
+ model: this.model,
19968
+ collection: "domainUsers",
19969
+ addPage: EditDomainUserPage,
19334
19970
  itemRenderer: item => XNode.create("tr", null, XNode.create("td", {
19335
19971
  text: item.hostedDomain.domain.name
19336
19972
  }), XNode.create("td", {
@@ -19338,19 +19974,21 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
19338
19974
  }), XNode.create("td", {
19339
19975
  text: item.prefix
19340
19976
  }))
19341
- })), XNode.create(Form, null, XNode.create("details", null, XNode.create("summary", null, "Mailboxes"), XNode.create(AtomRepeater, {
19342
- for: "table",
19343
- items: this.model.userMailboxes,
19977
+ }), XNode.create(CollectionEditor, {
19978
+ label: "Mailboxes",
19979
+ model: this.model,
19980
+ addPage: EditUserMailboxPage,
19981
+ collection: "userMailboxes",
19344
19982
  itemRenderer: item => XNode.create("tr", null, XNode.create("td", {
19345
19983
  text: item.mailbox.emailAddress.emailAddress
19346
19984
  }), XNode.create("td", {
19347
19985
  text: toFileSize(item.mailbox.storage)
19348
19986
  }))
19349
- })), XNode.create(FormField, {
19350
- label: "Drives/Files"
19351
- }, XNode.create(AtomRepeater, {
19352
- for: "table",
19353
- items: this.model.fileAccessList,
19987
+ }), XNode.create(CollectionEditor, {
19988
+ label: "Drives/Files",
19989
+ model: this.model,
19990
+ addPage: EditFileAcessPage,
19991
+ collection: "fileAccessList",
19354
19992
  itemRenderer: item => XNode.create("tr", null, XNode.create("td", {
19355
19993
  text: item.file.name
19356
19994
  }), XNode.create("td", {
@@ -19358,7 +19996,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
19358
19996
  }), XNode.create("td", {
19359
19997
  text: toFileSize(item.file.fileSize)
19360
19998
  }))
19361
- }))));
19999
+ })));
19362
20000
  });
19363
20001
  }
19364
20002
  });
@@ -19447,12 +20085,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
19447
20085
  search: this.search,
19448
20086
  cancelToken
19449
20087
  })), {
19450
- itemRenderer: user => XNode.create("tr", null, XNode.create("td", null, user.userID), XNode.create("td", null, user.userName), XNode.create("td", null, user.displayName), XNode.create("td", null, XNode.create("i", {
19451
- "data-cursor": "pointer",
19452
- class: "fas fa-key",
19453
- title: "Change Password",
19454
- "data-click-event": "user-change-password"
19455
- })))
20088
+ itemRenderer: user => XNode.create("tr", null, XNode.create("td", null, user.userID), XNode.create("td", null, user.userName), XNode.create("td", null, user.displayName))
19456
20089
  }))));
19457
20090
  });
19458
20091
  }
@@ -19514,110 +20147,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/di
19514
20147
 
19515
20148
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/admin/pages/users/UserListPage");
19516
20149
 
19517
- System.register(["tslib", "@web-atoms/core/dist/di/DITransient", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "../../../Sql", "../../../SocialMailApp"], function (_export, _context) {
19518
- "use strict";
19519
-
19520
- var __awaiter, __decorate, __metadata, DITransient, Inject, EntityService, HostedDomain, Mailbox, Sql, SocialMailApp, MailboxService;
19521
- return {
19522
- setters: [function (_tslib) {
19523
- __awaiter = _tslib.__awaiter;
19524
- __decorate = _tslib.__decorate;
19525
- __metadata = _tslib.__metadata;
19526
- }, function (_webAtomsCoreDistDiDITransient) {
19527
- DITransient = _webAtomsCoreDistDiDITransient.default;
19528
- }, function (_webAtomsCoreDistDiInject) {
19529
- Inject = _webAtomsCoreDistDiInject.Inject;
19530
- }, function (_servicesEntityService) {
19531
- EntityService = _servicesEntityService.default;
19532
- }, function (_modelModel) {
19533
- HostedDomain = _modelModel.HostedDomain;
19534
- Mailbox = _modelModel.Mailbox;
19535
- }, function (_Sql) {
19536
- Sql = _Sql.Sql;
19537
- }, function (_SocialMailApp) {
19538
- SocialMailApp = _SocialMailApp.default;
19539
- }],
19540
- execute: function () {
19541
- MailboxService = class MailboxService {
19542
- domains() {
19543
- return __awaiter(this, void 0, void 0, function* () {
19544
- const hosted = yield this.entityService.query(HostedDomain).include(x => x.domain).toArray();
19545
- return hosted.map(x => x.domain);
19546
- });
19547
- }
19548
- top() {
19549
- return __awaiter(this, void 0, void 0, function* () {
19550
- const q = this.entityService.query(Mailbox);
19551
- const {
19552
- userID
19553
- } = SocialMailApp.user;
19554
- const top = yield q.include(x => x.emailAddress).orderByDescending({
19555
- userID
19556
- }, p => x => x.userPins.some(s => p.userID === s.userID)).thenByDescending(x => x.dateUpdated).toPagedList({
19557
- size: 3,
19558
- count: false
19559
- });
19560
- return top.items;
19561
- });
19562
- }
19563
- list({
19564
- search = "",
19565
- start = 0,
19566
- size = 50,
19567
- version = 0,
19568
- cancelToken
19569
- }) {
19570
- let q = this.entityService.query(Mailbox);
19571
- if (search) {
19572
- if (search.endsWith("@")) {
19573
- search = `${search}%`;
19574
- q = q.where({
19575
- search
19576
- }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search));
19577
- } else if (search.startsWith("@")) {
19578
- search = `%${search}`;
19579
- q = q.where({
19580
- search
19581
- }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search));
19582
- } else {
19583
- if (!search.includes("%")) {
19584
- search = `%${search}%`;
19585
- }
19586
- q = q.where({
19587
- search
19588
- }, p => x => Sql.text.like(x.emailAddress.emailAddress, p.search) || Sql.text.like(x.emailAddress.name, p.search));
19589
- }
19590
- }
19591
- return q.include(x => x.emailAddress).toPagedList({
19592
- start,
19593
- size,
19594
- cancelToken
19595
- });
19596
- }
19597
- save(model) {
19598
- return __awaiter(this, void 0, void 0, function* () {
19599
- if (model.name) {
19600
- model.name = model.name.trim();
19601
- }
19602
- if (model.username) {
19603
- model.username = model.username.trim();
19604
- }
19605
- const cloner = this.entityService.cloner(model).include(x => x.userMailboxes);
19606
- yield this.entityService.save(cloner.copy);
19607
- return model;
19608
- });
19609
- }
19610
- };
19611
- __decorate([Inject, __metadata("design:type", EntityService)], MailboxService.prototype, "entityService", void 0);
19612
- MailboxService = __decorate([DITransient()], MailboxService);
19613
- _export("default", MailboxService);
19614
- }
19615
- };
19616
- });
19617
- //# sourceMappingURL=MailboxService.js.map
19618
-
19619
- AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService");
19620
-
19621
20150
  System.register(["tslib", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/core/XNode", "./AtomRepeater"], function (_export, _context) {
19622
20151
  "use strict";
19623
20152
 
@@ -24920,11 +25449,11 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24920
25449
  this.version = 1;
24921
25450
  }
24922
25451
  init() {
24923
- var _a;
25452
+ var _a, _b, _c;
24924
25453
  return __awaiter(this, void 0, void 0, function* () {
24925
25454
  const mb = this.parameters;
24926
25455
  this.titleRenderer = () => {
24927
- var _a;
25456
+ var _a, _b, _c;
24928
25457
  return XNode.create("div", {
24929
25458
  "data-layout": "row"
24930
25459
  }, XNode.create("input", {
@@ -24932,10 +25461,10 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24932
25461
  type: "search",
24933
25462
  placeholder: "Search"
24934
25463
  }), XNode.create("span", {
24935
- text: mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName
25464
+ text: ((_a = mb.lastEmail) === null || _a === void 0 ? void 0 : _a.senderID) === mb.mailboxID ? (_b = mb.emailAddress) === null || _b === void 0 ? void 0 : _b.emailAddress : (_c = mb.lastEmail) === null || _c === void 0 ? void 0 : _c.senderName
24936
25465
  }));
24937
25466
  };
24938
- this.title = mb.lastEmail.senderID === mb.mailboxID ? (_a = mb.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress : mb.lastEmail.senderName;
25467
+ this.title = ((_a = mb.lastEmail) === null || _a === void 0 ? void 0 : _a.senderID) === mb.mailboxID ? (_b = mb.emailAddress) === null || _b === void 0 ? void 0 : _b.emailAddress : (_c = mb.lastEmail) === null || _c === void 0 ? void 0 : _c.senderName;
24939
25468
  this.registerDisposable(yield this.resolve(MailboxSocket).join(mb.mailboxID.toString(), {
24940
25469
  newMail: () => {
24941
25470
  this.version++;
@@ -24943,6 +25472,7 @@ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "
24943
25472
  }));
24944
25473
  this.renderer = XNode.create("div", null, XNode.create(AtomRepeater, Object.assign({
24945
25474
  "data-layout": "vertical-flex",
25475
+ style: "flex-direction: column-reverse",
24946
25476
  items: this.mails
24947
25477
  }, InfiniteRepeater.pagedItems(start => (c, e, cancelToken) => this.conversationService.list({
24948
25478
  start,
@@ -28445,6 +28975,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28445
28975
  this.version = 1;
28446
28976
  }
28447
28977
  init() {
28978
+ var _a;
28448
28979
  return __awaiter(this, void 0, void 0, function* () {
28449
28980
  const mailboxID = this.parameters.id;
28450
28981
  const mailbox = this.currentMailbox = yield this.mailService.mailbox(mailboxID);
@@ -28453,7 +28984,7 @@ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "@web-atom
28453
28984
  class: "fas fa-plus",
28454
28985
  "data-click-event": "compose-email"
28455
28986
  });
28456
- document.title = mailbox.emailAddress.emailAddress;
28987
+ document.title = (_a = mailbox.emailAddress) === null || _a === void 0 ? void 0 : _a.emailAddress;
28457
28988
  this.titleRenderer = () => XNode.create("div", {
28458
28989
  "data-layout": "row"
28459
28990
  }, XNode.create("div", {
@@ -28683,10 +29214,171 @@ System.register(["@web-atoms/core/dist/core/Command"], function (_export, _conte
28683
29214
 
28684
29215
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/commands/CommonCommands");
28685
29216
 
28686
- System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "../../controls/repeater/InfiniteRepeater", "./services/MailboxService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/view-model/Action", "@web-atoms/web-controls/dist/PageNavigator", "./MailboxEditorPage", "../../NumberFormats", "../../commands/CommonCommands"], function (_export, _context) {
29217
+ 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", "../../../controls/form/RequiredFormField", "@web-atoms/core/dist/core/Bind", "@web-atoms/web-controls/dist/basic/Checkbox", "../../../controls/buttons/IconButton", "@web-atoms/core/dist/view-model/Action", "../../../../services/EntityService"], function (_export, _context) {
29218
+ "use strict";
29219
+
29220
+ var __awaiter, __decorate, __metadata, PopupWindowPage, MailboxSyncTarget, XNode, Form, FormField, PasswordFormField, TextFormField, Bind, Checkbox, SaveIconTextButton, Action, EntityService, EditSyncTargetPage;
29221
+ _export("default", void 0);
29222
+ return {
29223
+ setters: [function (_tslib) {
29224
+ __awaiter = _tslib.__awaiter;
29225
+ __decorate = _tslib.__decorate;
29226
+ __metadata = _tslib.__metadata;
29227
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
29228
+ PopupWindowPage = _webAtomsWebControlsDistMobileAppMobileApp.PopupWindowPage;
29229
+ }, function (_modelModel) {
29230
+ MailboxSyncTarget = _modelModel.MailboxSyncTarget;
29231
+ }, function (_webAtomsCoreDistCoreXNode) {
29232
+ XNode = _webAtomsCoreDistCoreXNode.default;
29233
+ }, function (_webAtomsWebControlsDistBasicForm) {
29234
+ Form = _webAtomsWebControlsDistBasicForm.default;
29235
+ }, function (_webAtomsWebControlsDistBasicFormField) {
29236
+ FormField = _webAtomsWebControlsDistBasicFormField.default;
29237
+ }, function (_controlsFormRequiredFormField) {
29238
+ PasswordFormField = _controlsFormRequiredFormField.PasswordFormField;
29239
+ TextFormField = _controlsFormRequiredFormField.TextFormField;
29240
+ }, function (_webAtomsCoreDistCoreBind) {
29241
+ Bind = _webAtomsCoreDistCoreBind.default;
29242
+ }, function (_webAtomsWebControlsDistBasicCheckbox) {
29243
+ Checkbox = _webAtomsWebControlsDistBasicCheckbox.default;
29244
+ }, function (_controlsButtonsIconButton) {
29245
+ SaveIconTextButton = _controlsButtonsIconButton.SaveIconTextButton;
29246
+ }, function (_webAtomsCoreDistViewModelAction) {
29247
+ Action = _webAtomsCoreDistViewModelAction.default;
29248
+ }, function (_servicesEntityService) {
29249
+ EntityService = _servicesEntityService.default;
29250
+ }],
29251
+ execute: function () {
29252
+ _export("default", EditSyncTargetPage = class EditSyncTargetPage extends PopupWindowPage {
29253
+ init() {
29254
+ var _a;
29255
+ return __awaiter(this, void 0, void 0, function* () {
29256
+ this.model = ((_a = this.parameters) === null || _a === void 0 ? void 0 : _a.syncTargetID) ? this.parameters : MailboxSyncTarget.create({
29257
+ port: 993,
29258
+ isSecure: true,
29259
+ newPassword: "",
29260
+ intervalSeconds: 86400
29261
+ });
29262
+ this.title = "Create Sync Target";
29263
+ this.renderer = XNode.create("div", null, XNode.create(Form, null, XNode.create(FormField, {
29264
+ label: "Protocol"
29265
+ }, XNode.create("div", {
29266
+ "data-layout": "row"
29267
+ }, XNode.create("span", {
29268
+ text: this.model.protocol
29269
+ }), XNode.create("span", {
29270
+ text: this.model.direction
29271
+ }))), XNode.create(TextFormField, {
29272
+ label: "Host",
29273
+ value: () => this.model.host
29274
+ }), XNode.create(TextFormField, {
29275
+ label: "Port",
29276
+ value: () => this.model.port
29277
+ }), XNode.create(Checkbox, {
29278
+ checked: Bind.twoWaysImmediate(() => this.model.isSecure),
29279
+ text: "SSL Enabled"
29280
+ }), XNode.create(TextFormField, {
29281
+ label: "Username",
29282
+ value: () => this.model.username
29283
+ }), XNode.create(PasswordFormField, {
29284
+ label: "Password",
29285
+ value: () => this.model.newPassword
29286
+ }), XNode.create(Checkbox, {
29287
+ checked: Bind.twoWaysImmediate(() => this.model.syncAllFolders),
29288
+ text: "Sync All Folders (Slow, Not Recommended)"
29289
+ }), XNode.create(Checkbox, {
29290
+ checked: Bind.twoWaysImmediate(() => this.model.syncJunkMails),
29291
+ text: "Sync Junk/Spam Folder (Slow, Not Recommended)"
29292
+ }), XNode.create(FormField, {
29293
+ label: "Name of All Folder"
29294
+ }, XNode.create("input", {
29295
+ value: Bind.twoWaysImmediate(() => this.model.allFolderName)
29296
+ })), XNode.create("p", null, "Leave it empty if your mailbox supports new IMAP extensions for All Folders.", XNode.create("br", null), "If specified, only this folder will be synced."), XNode.create("div", {
29297
+ "data-layout": "command-row"
29298
+ }, XNode.create(SaveIconTextButton, {
29299
+ "data-submit-event": "save-form",
29300
+ text: "Save"
29301
+ }))));
29302
+ });
29303
+ }
29304
+ saveForm() {
29305
+ return __awaiter(this, void 0, void 0, function* () {
29306
+ if (this.model.syncTargetID) {
29307
+ const es = this.resolve(EntityService);
29308
+ yield es.save(es.cloner(this.model).copy);
29309
+ }
29310
+ return this.model;
29311
+ });
29312
+ }
29313
+ });
29314
+ __decorate([Action({
29315
+ onEvent: "save-form",
29316
+ close: true
29317
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], EditSyncTargetPage.prototype, "saveForm", null);
29318
+ }
29319
+ };
29320
+ });
29321
+ //# sourceMappingURL=EditSyncTargetPage.js.map
29322
+
29323
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/settings/EditSyncTargetPage");
29324
+
29325
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/core/dist/core/XNode", "../../controls/collection-editor/CollectionEditor", "./settings/EditSyncTargetPage", "./services/MailboxService", "@web-atoms/core/dist/core/InjectProperty"], function (_export, _context) {
29326
+ "use strict";
29327
+
29328
+ var __awaiter, __decorate, __metadata, ContentPage, XNode, CollectionEditor, EditSyncTargetPage, MailboxService, InjectProperty, MailboxDetailPage;
29329
+ _export("default", void 0);
29330
+ return {
29331
+ setters: [function (_tslib) {
29332
+ __awaiter = _tslib.__awaiter;
29333
+ __decorate = _tslib.__decorate;
29334
+ __metadata = _tslib.__metadata;
29335
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
29336
+ ContentPage = _webAtomsWebControlsDistMobileAppMobileApp.ContentPage;
29337
+ }, function (_webAtomsCoreDistCoreXNode) {
29338
+ XNode = _webAtomsCoreDistCoreXNode.default;
29339
+ }, function (_controlsCollectionEditorCollectionEditor) {
29340
+ CollectionEditor = _controlsCollectionEditorCollectionEditor.default;
29341
+ }, function (_settingsEditSyncTargetPage) {
29342
+ EditSyncTargetPage = _settingsEditSyncTargetPage.default;
29343
+ }, function (_servicesMailboxService) {
29344
+ MailboxService = _servicesMailboxService.default;
29345
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
29346
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
29347
+ }],
29348
+ execute: function () {
29349
+ _export("default", MailboxDetailPage = class MailboxDetailPage extends ContentPage {
29350
+ init() {
29351
+ return __awaiter(this, void 0, void 0, function* () {
29352
+ this.model = yield this.mailboxService.get(this.parameters.mailboxID);
29353
+ this.title = this.model.emailAddress.emailAddress;
29354
+ this.renderer = XNode.create("div", null, XNode.create(CollectionEditor, {
29355
+ label: "Sync Targets",
29356
+ model: this.model,
29357
+ collection: "syncTargets",
29358
+ addPage: EditSyncTargetPage,
29359
+ itemRenderer: item => XNode.create("tr", null, XNode.create("td", null, XNode.create("span", {
29360
+ text: item.protocol
29361
+ })), XNode.create("td", null, XNode.create("span", {
29362
+ text: item.username
29363
+ })), XNode.create("td", null, XNode.create("span", {
29364
+ text: item.host
29365
+ })))
29366
+ }));
29367
+ });
29368
+ }
29369
+ });
29370
+ __decorate([InjectProperty, __metadata("design:type", MailboxService)], MailboxDetailPage.prototype, "mailboxService", void 0);
29371
+ }
29372
+ };
29373
+ });
29374
+ //# sourceMappingURL=MailboxDetailPage.js.map
29375
+
29376
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxDetailPage");
29377
+
29378
+ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../controls/repeater/InfiniteRepeater", "./services/MailboxService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/view-model/Action", "@web-atoms/web-controls/dist/PageNavigator", "./MailboxEditorPage", "../../NumberFormats", "../../commands/CommonCommands", "@web-atoms/web-controls/dist/mobile-app/MasterDetailPage", "@web-atoms/core/dist/style/styled", "./MailboxDetailPage"], function (_export, _context) {
28687
29379
  "use strict";
28688
29380
 
28689
- var __awaiter, __decorate, __metadata, Bind, XNode, AtomRepeater, ContentPage, InfiniteRepeater, MailboxService, InjectProperty, Action, PageNavigator, MailboxEditorPage, toFileSize, CommonCommands, MailboxListPage;
29381
+ var __awaiter, __decorate, __metadata, Bind, XNode, AtomRepeater, InfiniteRepeater, MailboxService, InjectProperty, Action, PageNavigator, MailboxEditorPage, toFileSize, CommonCommands, MasterDetailPage, styled, MailboxDetailPage, MailboxListPage, css;
28690
29382
  _export("default", void 0);
28691
29383
  return {
28692
29384
  setters: [function (_tslib) {
@@ -28699,8 +29391,6 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
28699
29391
  XNode = _webAtomsCoreDistCoreXNode.default;
28700
29392
  }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
28701
29393
  AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
28702
- }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
28703
- ContentPage = _webAtomsWebControlsDistMobileAppMobileApp.ContentPage;
28704
29394
  }, function (_controlsRepeaterInfiniteRepeater) {
28705
29395
  InfiniteRepeater = _controlsRepeaterInfiniteRepeater.default;
28706
29396
  }, function (_servicesMailboxService) {
@@ -28717,9 +29407,20 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
28717
29407
  toFileSize = _NumberFormats.toFileSize;
28718
29408
  }, function (_commandsCommonCommands) {
28719
29409
  CommonCommands = _commandsCommonCommands.default;
29410
+ }, function (_webAtomsWebControlsDistMobileAppMasterDetailPage) {
29411
+ MasterDetailPage = _webAtomsWebControlsDistMobileAppMasterDetailPage.default;
29412
+ }, function (_webAtomsCoreDistStyleStyled) {
29413
+ styled = _webAtomsCoreDistStyleStyled.default;
29414
+ }, function (_MailboxDetailPage) {
29415
+ MailboxDetailPage = _MailboxDetailPage.default;
28720
29416
  }],
28721
29417
  execute: function () {
28722
- _export("default", MailboxListPage = class MailboxListPage extends ContentPage {
29418
+ css = styled.css`
29419
+ &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
29420
+ grid-template-columns: 150px 1fr auto;
29421
+ }
29422
+ `.installLocal();
29423
+ _export("default", MailboxListPage = class MailboxListPage extends MasterDetailPage {
28723
29424
  constructor() {
28724
29425
  super(...arguments);
28725
29426
  this.search = "";
@@ -28750,7 +29451,12 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
28750
29451
  }),
28751
29452
  target: "_blank",
28752
29453
  "data-click-event": "route"
28753
- }, item.emailAddress.emailAddress)), XNode.create("td", null, toFileSize(item.storage)), XNode.create("td", null, toFileSize(item.maxStorage)))
29454
+ }, item.emailAddress.emailAddress)), XNode.create("td", null, toFileSize(item.storage)), XNode.create("td", null, toFileSize(item.maxStorage)), XNode.create("td", null, XNode.create("i", {
29455
+ class: "fas fa-gears",
29456
+ "data-cursor": "pointer",
29457
+ title: "Settings",
29458
+ "data-click-event": "open-settings"
29459
+ })))
28754
29460
  })));
28755
29461
  });
28756
29462
  }
@@ -28760,11 +29466,19 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
28760
29466
  this.version++;
28761
29467
  });
28762
29468
  }
29469
+ openSettings(mailbox) {
29470
+ return __awaiter(this, void 0, void 0, function* () {
29471
+ this.openDetail(MailboxDetailPage, mailbox);
29472
+ });
29473
+ }
28763
29474
  });
28764
29475
  __decorate([InjectProperty, __metadata("design:type", MailboxService)], MailboxListPage.prototype, "mailboxService", void 0);
28765
29476
  __decorate([Action({
28766
29477
  onEvent: "add-mailbox"
28767
29478
  }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], MailboxListPage.prototype, "addMailbox", null);
29479
+ __decorate([Action({
29480
+ onEvent: "open-settings"
29481
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], MailboxListPage.prototype, "openSettings", null);
28768
29482
  }
28769
29483
  };
28770
29484
  });