@social-mail/social-mail-client 1.0.45 → 1.0.46

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 (39) hide show
  1. package/dist/admin/AdminAppIndex.pack.js +38 -6
  2. package/dist/admin/AdminAppIndex.pack.js.map +1 -1
  3. package/dist/admin/AdminAppIndex.pack.min.js +3 -3
  4. package/dist/admin/AdminAppIndex.pack.min.js.map +1 -1
  5. package/dist/common/controls/tree/TreeView.js +294 -0
  6. package/dist/common/controls/tree/TreeView.js.map +1 -0
  7. package/dist/model/model.js +19 -2
  8. package/dist/model/model.js.map +1 -1
  9. package/dist/services/files/LocalFileService.js +17 -3
  10. package/dist/services/files/LocalFileService.js.map +1 -1
  11. package/dist/tsconfig.tsbuildinfo +1 -1
  12. package/dist/web/AppIndex.pack.js +700 -8
  13. package/dist/web/AppIndex.pack.js.map +1 -1
  14. package/dist/web/AppIndex.pack.min.js +93 -6
  15. package/dist/web/AppIndex.pack.min.js.map +1 -1
  16. package/dist/web/commands/AppCommands.js +5 -0
  17. package/dist/web/commands/AppCommands.js.map +1 -1
  18. package/dist/web/drawer/AppDrawer.js +5 -1
  19. package/dist/web/drawer/AppDrawer.js.map +1 -1
  20. package/dist/web/page/files/FilesPage.js +92 -0
  21. package/dist/web/page/files/FilesPage.js.map +1 -0
  22. package/dist/web/page/files/FolderPage.js +156 -0
  23. package/dist/web/page/files/FolderPage.js.map +1 -0
  24. package/dist/web/page/files/service/CloudFileService.js +97 -0
  25. package/dist/web/page/files/service/CloudFileService.js.map +1 -0
  26. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js +2 -1
  27. package/node_modules/@web-atoms/web-controls/dist/basic/UploadEvent.js.map +1 -1
  28. package/node_modules/@web-atoms/web-controls/dist/tsconfig.tsbuildinfo +1 -1
  29. package/node_modules/@web-atoms/web-controls/package.json +1 -1
  30. package/node_modules/@web-atoms/web-controls/src/basic/UploadEvent.tsx +1 -1
  31. package/package.json +2 -2
  32. package/src/common/controls/tree/TreeView.tsx +307 -0
  33. package/src/model/model.ts +38 -5
  34. package/src/services/files/LocalFileService.tsx +20 -3
  35. package/src/web/commands/AppCommands.ts +6 -0
  36. package/src/web/drawer/AppDrawer.tsx +6 -1
  37. package/src/web/page/files/FilesPage.tsx +73 -0
  38. package/src/web/page/files/FolderPage.tsx +127 -0
  39. package/src/web/page/files/service/CloudFileService.ts +71 -0
@@ -1864,7 +1864,7 @@ const UMD = new UMDClass();
1864
1864
 
1865
1865
  AmdLoader.instance.register(
1866
1866
  ["@social-mail/social-mail-client","@web-atoms/core","reflect-metadata","@web-atoms/web-controls","@web-atoms/date-time","@web-atoms/entity","@web-atoms/email-dom","@web-atoms/data-styles"],
1867
- ["@social-mail/social-mail-client/dist/web/AppIndex","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@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/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/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/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@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/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/di/DITransient","@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/Sql","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@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/ComboBox","@social-mail/social-mail-client/dist/common/SocialMailApp","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@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/data-styles/data-styles","@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/core/dist/core/AtomList","@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/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/web/drawer/AppDrawer","@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"]);
1867
+ ["@social-mail/social-mail-client/dist/web/AppIndex","@web-atoms/core/dist/core/InjectProperty","@web-atoms/core/dist/core/XNode","@web-atoms/core/dist/core/Bind","@web-atoms/core/dist/core/ExpressionParser","@web-atoms/core/dist/core/types","reflect-metadata","@web-atoms/core/dist/core/AtomMap","@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/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/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/web/commands/AppCommands","@social-mail/social-mail-client/dist/web/page/home/HomePage","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage","@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/common/controls/repeater/InfiniteRepeater","@social-mail/social-mail-client/dist/common/pages/mailboxes/services/MailboxService","@web-atoms/core/dist/di/DITransient","@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/Sql","@web-atoms/core/dist/view-model/Action","@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxEditorPage","@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/ComboBox","@social-mail/social-mail-client/dist/common/SocialMailApp","@social-mail/social-mail-client/dist/common/NumberFormats","@social-mail/social-mail-client/dist/common/commands/CommonCommands","@social-mail/social-mail-client/dist/web/page/mails/MailsPage","@web-atoms/web-controls/dist/basic/DropDown","@web-atoms/web-controls/dist/basic/styles/drop-down-style","@social-mail/social-mail-client/dist/web/page/mails/service/MailService","@web-atoms/web-controls/dist/mobile-app/MasterDetailPage","@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/data-styles/data-styles","@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/core/dist/core/AtomList","@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/files/FilesPage","@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService","@social-mail/social-mail-client/dist/web/page/files/FolderPage","@social-mail/social-mail-client/dist/common/controls/tree/TreeView","@social-mail/social-mail-client/dist/style/GlobalStyle","@social-mail/social-mail-client/dist/style/OverrideAppStyle","@social-mail/social-mail-client/dist/services/UserService","@social-mail/social-mail-client/dist/common/pages/user/LoginPage","@social-mail/social-mail-client/dist/common/controls/password/PasswordStrength","@social-mail/social-mail-client/dist/common/validators/Validators","@social-mail/social-mail-client/dist/web/drawer/AppDrawer","@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
1868
 
1869
1869
  System.register([], function (_export, _context) {
1870
1870
  "use strict";
@@ -15175,7 +15175,7 @@ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/ent
15175
15175
  System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/services/BaseEntityService"], function (_export, _context) {
15176
15176
  "use strict";
15177
15177
 
15178
- var DateTime, Model, AppRole, AppFileContentDispositionArray, AppFile, AppFileTag, FileContent, Configuration, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, Mailbox, MailboxEmail, MailboxThread, MailboxThreadEmail, User, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, LoginSession, Tag;
15178
+ var DateTime, Model, AppRole, AppFileContentDispositionArray, AppFile, AppFileVersion, AppFileAccessTypeArray, AppFileAccess, AppFileTag, FileContent, Configuration, Domain, HostedDomain, DomainUser, DomainRelayTypeArray, DomainRelay, DomainKey, EmailStatusArray, Email, EmailRecipientTypeArray, EmailRecipient, EmailTag, EmailAddress, Mailbox, MailboxEmail, MailboxThread, MailboxThreadEmail, User, UserRole, UserMailbox, UserAuthFactorMethodArray, UserAuthFactor, LoginSession, Tag;
15179
15179
  return {
15180
15180
  setters: [function (_webAtomsDateTimeDistDateTime) {
15181
15181
  DateTime = _webAtomsDateTimeDistDateTime.default;
@@ -15195,11 +15195,28 @@ System.register(["@web-atoms/date-time/dist/DateTime", "@web-atoms/entity/dist/s
15195
15195
  }]);
15196
15196
  _export("AppFile", AppFile = new Model("AppFile", ["appFileID"], {
15197
15197
  isFolder: false,
15198
- folder: "",
15199
15198
  name: "",
15200
15199
  fileSize: 0,
15201
15200
  contentType: ""
15202
15201
  }));
15202
+ _export("AppFileVersion", AppFileVersion = new Model("AppFileVersion", ["versionID"], {
15203
+ fileID: 0,
15204
+ fileContentID: 0,
15205
+ name: "",
15206
+ dateCreated: new DateTime()
15207
+ }));
15208
+ _export("AppFileAccessTypeArray", AppFileAccessTypeArray = [{
15209
+ "label": "read",
15210
+ "value": "read"
15211
+ }, {
15212
+ "label": "write",
15213
+ "value": "write"
15214
+ }]);
15215
+ _export("AppFileAccess", AppFileAccess = new Model("AppFileAccess", ["fileID", "userID", "type"], {
15216
+ fileID: 0,
15217
+ userID: 0,
15218
+ type: "read"
15219
+ }));
15203
15220
  _export("AppFileTag", AppFileTag = new Model("AppFileTag", ["appFileID", "tagID"], {
15204
15221
  appFileID: 0,
15205
15222
  tagID: 0
@@ -20328,6 +20345,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
20328
20345
  name: "upload-command"
20329
20346
  });
20330
20347
  window.addEventListener(uploadCommand.eventName, ce => {
20348
+ var _a;
20331
20349
  if (ce.defaultPrevented) {
20332
20350
  return;
20333
20351
  }
@@ -20339,7 +20357,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
20339
20357
  }
20340
20358
  }
20341
20359
  const multiple = element.getAttribute("data-multiple") === "true";
20342
- const extra = element.extra;
20360
+ const extra = (_a = element.extra) !== null && _a !== void 0 ? _a : element.getAttribute("data-extra");
20343
20361
  const upload = element.getAttribute("data-upload") === "true";
20344
20362
  const uploadEvent = StringHelper.fromHyphenToCamel(element.getAttribute("data-upload-event"));
20345
20363
  const chain = [];
@@ -20569,7 +20587,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
20569
20587
  return detail.files;
20570
20588
  });
20571
20589
  }
20572
- upload(files) {
20590
+ upload(files, extra) {
20573
20591
  return __awaiter(this, void 0, void 0, function* () {
20574
20592
  return files.map(file => {
20575
20593
  const uploadFile = {
@@ -20606,7 +20624,21 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
20606
20624
  resolve(r);
20607
20625
  }
20608
20626
  });
20609
- xhr.open("POST", "/api/upload", true);
20627
+ let postUrl = "/api/upload";
20628
+ if (extra) {
20629
+ if (typeof extra === "string") {
20630
+ extra = JSON.parse(extra);
20631
+ }
20632
+ const s = new URLSearchParams();
20633
+ for (const key in extra) {
20634
+ if (Object.prototype.hasOwnProperty.call(extra, key)) {
20635
+ const element = extra[key];
20636
+ s.append(key, element);
20637
+ }
20638
+ }
20639
+ postUrl += "?" + s.toString();
20640
+ }
20641
+ xhr.open("POST", postUrl, true);
20610
20642
  xhr.send(body);
20611
20643
  });
20612
20644
  return uploadFile;
@@ -20635,7 +20667,7 @@ System.register(["tslib", "@web-atoms/core/dist/App", "@web-atoms/core/dist/core
20635
20667
  }), null, {
20636
20668
  capture: true
20637
20669
  });
20638
- this.files = yield this.localFileService.upload(this.parameters.files);
20670
+ this.files = yield this.localFileService.upload(this.parameters.files, this.parameters.extra);
20639
20671
  this.render(XNode.create("div", null, XNode.create(AtomRepeater, {
20640
20672
  items: this.files,
20641
20673
  itemRenderer: file => XNode.create("div", {
@@ -22736,6 +22768,657 @@ System.register(["tslib", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dis
22736
22768
 
22737
22769
  AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/pages/mailboxes/MailboxListPage");
22738
22770
 
22771
+ System.register(["tslib", "@web-atoms/core/dist/di/DISingleton", "@web-atoms/core/dist/di/Inject", "../../../../services/EntityService", "../../../../model/model", "@web-atoms/date-time/dist/DateTime", "../../../../common/Sql"], function (_export, _context) {
22772
+ "use strict";
22773
+
22774
+ var __awaiter, __decorate, __metadata, DISingleton, Inject, EntityService, AppFile, DateTime, Sql, hideActivityIndicator, CloudFileService;
22775
+ return {
22776
+ setters: [function (_tslib) {
22777
+ __awaiter = _tslib.__awaiter;
22778
+ __decorate = _tslib.__decorate;
22779
+ __metadata = _tslib.__metadata;
22780
+ }, function (_webAtomsCoreDistDiDISingleton) {
22781
+ DISingleton = _webAtomsCoreDistDiDISingleton.default;
22782
+ }, function (_webAtomsCoreDistDiInject) {
22783
+ Inject = _webAtomsCoreDistDiInject.Inject;
22784
+ }, function (_servicesEntityService) {
22785
+ EntityService = _servicesEntityService.default;
22786
+ }, function (_modelModel) {
22787
+ AppFile = _modelModel.AppFile;
22788
+ }, function (_webAtomsDateTimeDistDateTime) {
22789
+ DateTime = _webAtomsDateTimeDistDateTime.default;
22790
+ }, function (_commonSql) {
22791
+ Sql = _commonSql.Sql;
22792
+ }],
22793
+ execute: function () {
22794
+ hideActivityIndicator = true;
22795
+ CloudFileService = class CloudFileService {
22796
+ rootFolders() {
22797
+ return __awaiter(this, void 0, void 0, function* () {
22798
+ return this.entityService.query(AppFile).where(x => x.isFolder === true && x.parentID === null).include(x => x.creator).toArray();
22799
+ });
22800
+ }
22801
+ createFolder({
22802
+ name,
22803
+ parentID
22804
+ }) {
22805
+ return __awaiter(this, void 0, void 0, function* () {
22806
+ const dateCreated = DateTime.utcNow;
22807
+ return this.entityService.save(AppFile.create({
22808
+ name,
22809
+ parentID,
22810
+ isFolder: true,
22811
+ contentType: "folder",
22812
+ dateCreated,
22813
+ dateUpdated: dateCreated
22814
+ }));
22815
+ });
22816
+ }
22817
+ expand(folder) {
22818
+ return __awaiter(this, void 0, void 0, function* () {
22819
+ const parentID = folder.appFileID;
22820
+ const files = yield this.entityService.query(AppFile).where({
22821
+ parentID
22822
+ }, p => x => x.parentID === p.parentID && x.isFolder === true).toArray({
22823
+ hideActivityIndicator
22824
+ });
22825
+ const {
22826
+ children
22827
+ } = folder;
22828
+ for (const iterator of files) {
22829
+ if (children.some(c => c.appFileID === iterator.appFileID)) {
22830
+ continue;
22831
+ }
22832
+ children.add(iterator);
22833
+ }
22834
+ });
22835
+ }
22836
+ files({
22837
+ search = "",
22838
+ folder,
22839
+ cancelToken
22840
+ }) {
22841
+ return __awaiter(this, void 0, void 0, function* () {
22842
+ const parentID = folder.appFileID;
22843
+ let q = this.entityService.query(AppFile).where({
22844
+ parentID
22845
+ }, p => x => x.parentID === p.parentID);
22846
+ if (search) {
22847
+ if (!/\%/.test(search)) {
22848
+ search = search + "%";
22849
+ }
22850
+ q = q.where({
22851
+ search
22852
+ }, p => x => Sql.text.like(x.name, p.search));
22853
+ }
22854
+ const files = yield q.orderByDescending(x => x.isFolder).thenBy(x => x.name).toArray({
22855
+ cancelToken
22856
+ });
22857
+ return files;
22858
+ });
22859
+ }
22860
+ };
22861
+ __decorate([Inject, __metadata("design:type", EntityService)], CloudFileService.prototype, "entityService", void 0);
22862
+ CloudFileService = __decorate([DISingleton()], CloudFileService);
22863
+ _export("default", CloudFileService);
22864
+ }
22865
+ };
22866
+ });
22867
+ //# sourceMappingURL=CloudFileService.js.map
22868
+
22869
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/service/CloudFileService");
22870
+
22871
+ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/core/dist/web/controls/AtomControl", "@web-atoms/core/dist/core/BindableProperty", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/web/core/AtomUI"], function (_export, _context) {
22872
+ "use strict";
22873
+
22874
+ var __decorate, __metadata, XNode, AtomControl, BindableProperty, styled, AncestorEnumerator, TreeView, expandSymbol;
22875
+ function findTreeElement(element) {
22876
+ if (element.matches("[data-layout=tree-view-item]")) {
22877
+ return element;
22878
+ }
22879
+ return AncestorEnumerator.findSelector(element, "[data-layout=tree-view-item]");
22880
+ }
22881
+ _export({
22882
+ findTreeElement: findTreeElement,
22883
+ default: void 0
22884
+ });
22885
+ return {
22886
+ setters: [function (_tslib) {
22887
+ __decorate = _tslib.__decorate;
22888
+ __metadata = _tslib.__metadata;
22889
+ }, function (_webAtomsCoreDistCoreXNode) {
22890
+ XNode = _webAtomsCoreDistCoreXNode.default;
22891
+ }, function (_webAtomsCoreDistWebControlsAtomControl) {
22892
+ AtomControl = _webAtomsCoreDistWebControlsAtomControl.AtomControl;
22893
+ }, function (_webAtomsCoreDistCoreBindableProperty) {
22894
+ BindableProperty = _webAtomsCoreDistCoreBindableProperty.BindableProperty;
22895
+ }, function (_webAtomsCoreDistStyleStyled) {
22896
+ styled = _webAtomsCoreDistStyleStyled.default;
22897
+ }, function (_webAtomsCoreDistWebCoreAtomUI) {
22898
+ AncestorEnumerator = _webAtomsCoreDistWebCoreAtomUI.AncestorEnumerator;
22899
+ }],
22900
+ execute: function () {
22901
+ expandSymbol = Symbol("expand");
22902
+ styled.css`
22903
+
22904
+ display: flex;
22905
+ flex-direction: column;
22906
+ gap: 5px;
22907
+
22908
+ & [data-layout=tree-view-item] {
22909
+
22910
+ display: grid;
22911
+ grid-template-columns: auto 1fr auto;
22912
+ grid-template-rows: auto auto;
22913
+ align-items: center;
22914
+
22915
+ &[data-selected] {
22916
+ & > [data-element=label] {
22917
+ background-color: Highlight;
22918
+ color: HighlightText;
22919
+ }
22920
+ }
22921
+
22922
+ & > [data-element=action] {
22923
+ grid-row: 1;
22924
+ grid-column: 2;
22925
+ }
22926
+
22927
+ & > [data-element=label] {
22928
+ grid-row: 1;
22929
+ grid-column: 2;
22930
+ padding: 2px;
22931
+ padding-left: 5px;
22932
+ padding-right: 5px;
22933
+ }
22934
+
22935
+ & > [data-element=expand-collapse] {
22936
+
22937
+ grid-row: 1;
22938
+ grid-column: 1;
22939
+ padding-right: 5px;
22940
+
22941
+ &::before {
22942
+ content: "\\2b";
22943
+ }
22944
+ }
22945
+
22946
+ & > [data-element=children] {
22947
+
22948
+ display: none;
22949
+ padding: 5px;
22950
+ grid-row: 2;
22951
+ grid-column: 2;
22952
+
22953
+ }
22954
+
22955
+ &[data-expanded] {
22956
+
22957
+ & > [data-element=expand-collapse] {
22958
+
22959
+ &::before {
22960
+ content: "\\f068";
22961
+ }
22962
+
22963
+ }
22964
+
22965
+ & > [data-element=children] {
22966
+ display: flex;
22967
+ flex-direction: column;
22968
+ gap: 5px;
22969
+ }
22970
+ }
22971
+ }
22972
+
22973
+ `.installGlobal("[data-layout=tree-view]");
22974
+ ;
22975
+ _export("default", TreeView = class TreeView extends AtomControl {
22976
+ constructor() {
22977
+ super(...arguments);
22978
+ this.map = new WeakMap();
22979
+ }
22980
+ onPropertyChanging(name, oldValue, newValue) {
22981
+ if (name === "selectedItem") {
22982
+ if (oldValue) {
22983
+ const selectedElement = this.map.get(oldValue);
22984
+ if (selectedElement) {
22985
+ selectedElement.removeAttribute("data-selected");
22986
+ }
22987
+ }
22988
+ if (newValue) {
22989
+ this.selectItem(newValue);
22990
+ }
22991
+ }
22992
+ }
22993
+ selectItem(newValue) {
22994
+ if (!this.childrenProperty) {
22995
+ return;
22996
+ }
22997
+ const element = this.map.get(newValue);
22998
+ if (!element) {
22999
+ console.error(`Item not in the tree`);
23000
+ return;
23001
+ }
23002
+ element.setAttribute("data-selected", "true");
23003
+ }
23004
+ onPropertyChanged(name) {
23005
+ switch (name) {
23006
+ case "root":
23007
+ case "childrenProperty":
23008
+ case "labelRenderer":
23009
+ case "collapseIconRenderer":
23010
+ case "actionRenderer":
23011
+ const rootElement = this.element.firstElementChild;
23012
+ rootElement === null || rootElement === void 0 ? void 0 : rootElement.dispose();
23013
+ if (this.root && this.childrenProperty && this.labelRenderer && this.collapseIconRenderer) {
23014
+ this.element.innerHTML = "";
23015
+ this.createElement(this.element, this.root, -1);
23016
+ this.expand(this.root);
23017
+ if (this.selectedItem) {
23018
+ this.selectItem(this.selectedItem);
23019
+ }
23020
+ }
23021
+ break;
23022
+ case "selectedItem":
23023
+ if (this.selectedItem) {
23024
+ this.selectItem(this.selectedItem);
23025
+ }
23026
+ break;
23027
+ }
23028
+ }
23029
+ expand(item) {
23030
+ const element = this.map.get(item);
23031
+ if (element) {
23032
+ this.expandElement(element);
23033
+ }
23034
+ }
23035
+ preCreate() {
23036
+ this.root = null;
23037
+ this.selectedItem = null;
23038
+ this.childrenProperty = null;
23039
+ this.actionRenderer = null;
23040
+ this.element.setAttribute("data-layout", "tree-view");
23041
+ this.labelRenderer = item => {
23042
+ var _a, _b;
23043
+ return XNode.create("span", {
23044
+ text: (_b = (_a = item.label) !== null && _a !== void 0 ? _a : item.name) !== null && _b !== void 0 ? _b : item
23045
+ });
23046
+ };
23047
+ this.collapseIconRenderer = item => XNode.create("i", {
23048
+ "data-click-event": "expand-collapse-item",
23049
+ class: "fas"
23050
+ });
23051
+ this.runAfterInit(() => {
23052
+ if (this.root && !this.element.firstElementChild) {
23053
+ if (this.childrenProperty) {
23054
+ this.createElement(this.element, this.root);
23055
+ this.expand(this.root);
23056
+ }
23057
+ if (this.selectedItem) {
23058
+ this.selectItem(this.selectedItem);
23059
+ }
23060
+ }
23061
+ });
23062
+ this.bindEvent(this.element, "selectItem", ce => {
23063
+ const element = findTreeElement(ce.target);
23064
+ if (element === null || element === void 0 ? void 0 : element.dataItem) {
23065
+ this.selectedItem = element.dataItem;
23066
+ }
23067
+ });
23068
+ this.bindEvent(this.element, "toggleExpand", ce => {
23069
+ const element = findTreeElement(ce.target);
23070
+ this.expandElement(element);
23071
+ });
23072
+ }
23073
+ expandElement(element) {
23074
+ if (element === null || element === void 0 ? void 0 : element.dataItem) {
23075
+ if (element.getAttribute("data-expanded")) {
23076
+ element.removeAttribute("data-expanded");
23077
+ element.dispatchEvent(new CustomEvent("itemCollapsed", {
23078
+ detail: element.dataItem,
23079
+ bubbles: true,
23080
+ cancelable: true
23081
+ }));
23082
+ } else {
23083
+ element.setAttribute("data-expanded", "true");
23084
+ element.dispatchEvent(new CustomEvent("itemExpanded", {
23085
+ detail: element.dataItem,
23086
+ bubbles: true,
23087
+ cancelable: true
23088
+ }));
23089
+ }
23090
+ }
23091
+ }
23092
+ createElement(parent, item, insertIndex = -1) {
23093
+ var _a, _b, _c, _d, _e, _f;
23094
+ const element = document.createElement("div");
23095
+ element.setAttribute("data-layout", "tree-view-item");
23096
+ element.dataItem = item;
23097
+ element.parentItem = ((_a = parent.parentElement) !== null && _a !== void 0 ? _a : parent).dataItem;
23098
+ this.map.set(item, element);
23099
+ const children = this.childrenProperty(item);
23100
+ if (!children) {
23101
+ throw new Error("Children array must not be empty");
23102
+ }
23103
+ const childrenElement = document.createElement("div");
23104
+ childrenElement.setAttribute("data-element", "children");
23105
+ element.appendChild(childrenElement);
23106
+ const watcher = children.watch((target, event, index, child) => {
23107
+ if (event === "add" || event === "set") {
23108
+ this.createElement(childrenElement, child, index);
23109
+ return;
23110
+ }
23111
+ if (event === "remove") {
23112
+ for (const iterator of Array.from(childrenElement.children)) {
23113
+ if (iterator.dataItem === child) {
23114
+ iterator.remove();
23115
+ return;
23116
+ }
23117
+ }
23118
+ }
23119
+ for (const iterator of Array.from(childrenElement.children)) {
23120
+ iterator === null || iterator === void 0 ? void 0 : iterator.dispose();
23121
+ }
23122
+ for (const iterator of children) {
23123
+ this.createElement(element, iterator);
23124
+ }
23125
+ });
23126
+ element.dispose = () => {
23127
+ watcher.dispose();
23128
+ for (const iterator of Array.from(childrenElement.children)) {
23129
+ iterator === null || iterator === void 0 ? void 0 : iterator.dispose();
23130
+ }
23131
+ element.remove();
23132
+ };
23133
+ const actionElement = (_b = this.actionRenderer) === null || _b === void 0 ? void 0 : _b.call(this, item);
23134
+ const collapseElement = this.collapseIconRenderer(item);
23135
+ const labelElement = this.labelRenderer(item);
23136
+ if (labelElement) {
23137
+ const a = (_c = labelElement.attributes) !== null && _c !== void 0 ? _c : labelElement.attributes = {};
23138
+ a["data-element"] = "label";
23139
+ (_d = a["data-click-event"]) !== null && _d !== void 0 ? _d : a["data-click-event"] = "select-item";
23140
+ this.render(XNode.create("div", null, labelElement), element, this);
23141
+ }
23142
+ if (actionElement) {
23143
+ ((_e = actionElement.attributes) !== null && _e !== void 0 ? _e : actionElement.attributes = {})["data-element"] = "action";
23144
+ this.render(XNode.create("div", null, actionElement), element, this);
23145
+ }
23146
+ if (collapseElement) {
23147
+ const a = (_f = collapseElement.attributes) !== null && _f !== void 0 ? _f : collapseElement.attributes = {};
23148
+ a["data-element"] = "expand-collapse";
23149
+ a["data-click-event"] = "toggle-expand";
23150
+ this.render(XNode.create("div", null, collapseElement), element, this);
23151
+ }
23152
+ for (const iterator of children) {
23153
+ this.createElement(childrenElement, iterator);
23154
+ }
23155
+ parent.appendChild(element);
23156
+ return element;
23157
+ }
23158
+ });
23159
+ __decorate([BindableProperty, __metadata("design:type", Object)], TreeView.prototype, "root", void 0);
23160
+ __decorate([BindableProperty, __metadata("design:type", Object)], TreeView.prototype, "selectedItem", void 0);
23161
+ }
23162
+ };
23163
+ });
23164
+ //# sourceMappingURL=TreeView.js.map
23165
+
23166
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/common/controls/tree/TreeView");
23167
+
23168
+ System.register(["tslib", "@web-atoms/web-controls/dist/mobile-app/MobileApp", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/UploadEvent", "../../../services/files/LocalFileService", "@web-atoms/web-controls/dist/basic/AtomRepeater", "../../../common/controls/tree/TreeView", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "./service/CloudFileService", "@web-atoms/core/dist/core/InjectProperty", "@web-atoms/core/dist/style/styled", "../../../common/NumberFormats"], function (_export, _context) {
23169
+ "use strict";
23170
+
23171
+ var __awaiter, __decorate, __metadata, ContentPage, XNode, UploadEvent, acceptDocumentAndMedia, AtomRepeater, TreeView, Bind, Action, CloudFileService, InjectProperty, styled, toFileSize, FolderPage, css;
23172
+ _export("default", void 0);
23173
+ return {
23174
+ setters: [function (_tslib) {
23175
+ __awaiter = _tslib.__awaiter;
23176
+ __decorate = _tslib.__decorate;
23177
+ __metadata = _tslib.__metadata;
23178
+ }, function (_webAtomsWebControlsDistMobileAppMobileApp) {
23179
+ ContentPage = _webAtomsWebControlsDistMobileAppMobileApp.ContentPage;
23180
+ }, function (_webAtomsCoreDistCoreXNode) {
23181
+ XNode = _webAtomsCoreDistCoreXNode.default;
23182
+ }, function (_webAtomsWebControlsDistBasicUploadEvent) {
23183
+ UploadEvent = _webAtomsWebControlsDistBasicUploadEvent.default;
23184
+ }, function (_servicesFilesLocalFileService) {
23185
+ acceptDocumentAndMedia = _servicesFilesLocalFileService.acceptDocumentAndMedia;
23186
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
23187
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
23188
+ }, function (_commonControlsTreeTreeView) {
23189
+ TreeView = _commonControlsTreeTreeView.default;
23190
+ }, function (_webAtomsCoreDistCoreBind) {
23191
+ Bind = _webAtomsCoreDistCoreBind.default;
23192
+ }, function (_webAtomsCoreDistViewModelAction) {
23193
+ Action = _webAtomsCoreDistViewModelAction.default;
23194
+ }, function (_serviceCloudFileService) {
23195
+ CloudFileService = _serviceCloudFileService.default;
23196
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
23197
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23198
+ }, function (_webAtomsCoreDistStyleStyled) {
23199
+ styled = _webAtomsCoreDistStyleStyled.default;
23200
+ }, function (_commonNumberFormats) {
23201
+ toFileSize = _commonNumberFormats.toFileSize;
23202
+ }],
23203
+ execute: function () {
23204
+ css = styled.css`
23205
+ display: grid;
23206
+ grid-template-columns: 200px 1fr;
23207
+ gap: 5px;
23208
+ & .folder-tree {
23209
+ grid-column: 1;
23210
+ grid-row: 1;
23211
+ }
23212
+ & .file-list {
23213
+ grid-row: 1;
23214
+ grid-column: 2;
23215
+ }
23216
+ `.installLocal();
23217
+ _export("default", FolderPage = class FolderPage extends ContentPage {
23218
+ constructor() {
23219
+ super(...arguments);
23220
+ this.version = 1;
23221
+ }
23222
+ init() {
23223
+ var _a;
23224
+ var _b;
23225
+ return __awaiter(this, void 0, void 0, function* () {
23226
+ this.search = "";
23227
+ (_a = (_b = this.parameters).children) !== null && _a !== void 0 ? _a : _b.children = [];
23228
+ this.root = this.parameters;
23229
+ this.selectedFolder = this.root;
23230
+ this.titleRenderer = () => XNode.create("div", {
23231
+ "data-layout": "row"
23232
+ }, XNode.create("div", {
23233
+ text: Bind.oneWay(() => this.selectedFolder.name)
23234
+ }), XNode.create("i", Object.assign({
23235
+ class: "fas fa-upload",
23236
+ "data-extra": Bind.oneWay(() => JSON.stringify({
23237
+ parentID: this.selectedFolder.appFileID
23238
+ })),
23239
+ title: "Upload"
23240
+ }, UploadEvent.AttachUploadAction({
23241
+ accept: acceptDocumentAndMedia
23242
+ }))), XNode.create("span", Object.assign({
23243
+ text: "Upload",
23244
+ "data-extra": Bind.oneWay(() => JSON.stringify({
23245
+ parentID: this.selectedFolder.appFileID
23246
+ }))
23247
+ }, UploadEvent.AttachUploadAction({
23248
+ accept: acceptDocumentAndMedia
23249
+ }))), XNode.create("span", {
23250
+ text: "|"
23251
+ }), XNode.create("i", {
23252
+ "data-click-event": "new-folder",
23253
+ class: "fas fa-plus"
23254
+ }), XNode.create("span", {
23255
+ "data-click-event": "new-folder",
23256
+ text: "Folder"
23257
+ }));
23258
+ this.renderer = XNode.create("div", {
23259
+ class: css
23260
+ }, XNode.create(TreeView, {
23261
+ class: "folder-tree",
23262
+ childrenProperty: item => {
23263
+ var _a;
23264
+ return (_a = item.children) !== null && _a !== void 0 ? _a : item.children = [];
23265
+ },
23266
+ root: this.root,
23267
+ selectedItem: Bind.twoWaysImmediate(() => this.selectedFolder)
23268
+ }), XNode.create(AtomRepeater, {
23269
+ class: "file-list",
23270
+ for: "table",
23271
+ items: Bind.oneWayAsync((c, e, cancelToken) => this.cloudFileService.files({
23272
+ search: this.search,
23273
+ folder: this.selectedFolder,
23274
+ version: this.version,
23275
+ cancelToken
23276
+ })),
23277
+ itemRenderer: item => XNode.create("tr", null, XNode.create("td", {
23278
+ text: item.name
23279
+ }), XNode.create("td", {
23280
+ text: toFileSize(item.fileSize)
23281
+ }))
23282
+ }));
23283
+ });
23284
+ }
23285
+ newFolder() {
23286
+ return __awaiter(this, void 0, void 0, function* () {
23287
+ const name = prompt("Enter name of the folder");
23288
+ if (!name) {
23289
+ return;
23290
+ }
23291
+ const parentID = this.selectedFolder.appFileID;
23292
+ const folder = yield this.cloudFileService.createFolder({
23293
+ name,
23294
+ parentID
23295
+ });
23296
+ this.selectedFolder.children.add(folder);
23297
+ });
23298
+ }
23299
+ onItemExpanded(item) {
23300
+ return __awaiter(this, void 0, void 0, function* () {
23301
+ yield this.cloudFileService.expand(item);
23302
+ });
23303
+ }
23304
+ onFilesUploaded() {
23305
+ return __awaiter(this, void 0, void 0, function* () {
23306
+ this.version++;
23307
+ });
23308
+ }
23309
+ });
23310
+ __decorate([InjectProperty, __metadata("design:type", CloudFileService)], FolderPage.prototype, "cloudFileService", void 0);
23311
+ __decorate([Action({
23312
+ onEvent: "new-folder"
23313
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], FolderPage.prototype, "newFolder", null);
23314
+ __decorate([Action({
23315
+ onEvent: "item-expanded"
23316
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", [Object]), __metadata("design:returntype", Promise)], FolderPage.prototype, "onItemExpanded", null);
23317
+ __decorate([Action({
23318
+ onEvent: "files-available"
23319
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], FolderPage.prototype, "onFilesUploaded", null);
23320
+ }
23321
+ };
23322
+ });
23323
+ //# sourceMappingURL=FolderPage.js.map
23324
+
23325
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/FolderPage");
23326
+
23327
+ System.register(["tslib", "@web-atoms/core/dist/core/InjectProperty", "./service/CloudFileService", "@web-atoms/web-controls/dist/mobile-app/MasterDetailPage", "@web-atoms/core/dist/style/styled", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-controls/dist/basic/AtomRepeater", "@web-atoms/core/dist/core/Bind", "@web-atoms/core/dist/view-model/Action", "./FolderPage"], function (_export, _context) {
23328
+ "use strict";
23329
+
23330
+ var __awaiter, __decorate, __metadata, InjectProperty, CloudFileService, MasterDetailPage, styled, XNode, AtomRepeater, Bind, Action, FolderPage, FilesPage, css;
23331
+ _export("default", void 0);
23332
+ return {
23333
+ setters: [function (_tslib) {
23334
+ __awaiter = _tslib.__awaiter;
23335
+ __decorate = _tslib.__decorate;
23336
+ __metadata = _tslib.__metadata;
23337
+ }, function (_webAtomsCoreDistCoreInjectProperty) {
23338
+ InjectProperty = _webAtomsCoreDistCoreInjectProperty.default;
23339
+ }, function (_serviceCloudFileService) {
23340
+ CloudFileService = _serviceCloudFileService.default;
23341
+ }, function (_webAtomsWebControlsDistMobileAppMasterDetailPage) {
23342
+ MasterDetailPage = _webAtomsWebControlsDistMobileAppMasterDetailPage.default;
23343
+ }, function (_webAtomsCoreDistStyleStyled) {
23344
+ styled = _webAtomsCoreDistStyleStyled.default;
23345
+ }, function (_webAtomsCoreDistCoreXNode) {
23346
+ XNode = _webAtomsCoreDistCoreXNode.default;
23347
+ }, function (_webAtomsWebControlsDistBasicAtomRepeater) {
23348
+ AtomRepeater = _webAtomsWebControlsDistBasicAtomRepeater.default;
23349
+ }, function (_webAtomsCoreDistCoreBind) {
23350
+ Bind = _webAtomsCoreDistCoreBind.default;
23351
+ }, function (_webAtomsCoreDistViewModelAction) {
23352
+ Action = _webAtomsCoreDistViewModelAction.default;
23353
+ }, function (_FolderPage) {
23354
+ FolderPage = _FolderPage.default;
23355
+ }],
23356
+ execute: function () {
23357
+ css = styled.css`
23358
+ &[data-page-type=master-detail] > [data-page-element=content][data-mode=desktop] {
23359
+ grid-template-columns: 150px 1fr auto;
23360
+ }
23361
+ `.installLocal();
23362
+ _export("default", FilesPage = class FilesPage extends MasterDetailPage {
23363
+ init() {
23364
+ var _a;
23365
+ return __awaiter(this, void 0, void 0, function* () {
23366
+ this.element.className = css;
23367
+ this.selectedFolder = null;
23368
+ this.rootFolders = yield this.cloudFileService.rootFolders();
23369
+ this.actionRenderer = () => XNode.create("i", {
23370
+ class: "fas fa-plus",
23371
+ "data-click-event": "create-folder"
23372
+ });
23373
+ this.selectedFolder = (_a = this.rootFolders[0]) !== null && _a !== void 0 ? _a : null;
23374
+ this.renderer = XNode.create("div", null, XNode.create(AtomRepeater, {
23375
+ items: this.rootFolders,
23376
+ selectOnClick: true,
23377
+ selectedItem: Bind.twoWaysImmediate(() => this.selectedFolder),
23378
+ "data-list-selection": "default",
23379
+ "data-selection-updated-event": "on-selection-changed",
23380
+ itemRenderer: item => XNode.create("div", null, XNode.create("div", {
23381
+ text: item.name
23382
+ }), XNode.create("div", {
23383
+ text: item.creator.displayName
23384
+ }))
23385
+ }));
23386
+ });
23387
+ }
23388
+ onSelectionChanged() {
23389
+ if (!this.selectedFolder) {
23390
+ return;
23391
+ }
23392
+ this.openDetail(FolderPage, this.selectedFolder);
23393
+ }
23394
+ createFolder() {
23395
+ return __awaiter(this, void 0, void 0, function* () {
23396
+ const name = prompt("Enter name of the folder you want to create");
23397
+ if (!name) {
23398
+ return;
23399
+ }
23400
+ const folder = yield this.cloudFileService.createFolder({
23401
+ name
23402
+ });
23403
+ this.rootFolders.add(folder);
23404
+ this.selectedFolder = folder;
23405
+ });
23406
+ }
23407
+ });
23408
+ __decorate([InjectProperty, __metadata("design:type", CloudFileService)], FilesPage.prototype, "cloudFileService", void 0);
23409
+ __decorate([Action({
23410
+ onEvent: "on-selection-changed"
23411
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", void 0)], FilesPage.prototype, "onSelectionChanged", null);
23412
+ __decorate([Action({
23413
+ onEvent: "create-folder"
23414
+ }), __metadata("design:type", Function), __metadata("design:paramtypes", []), __metadata("design:returntype", Promise)], FilesPage.prototype, "createFolder", null);
23415
+ }
23416
+ };
23417
+ });
23418
+ //# sourceMappingURL=FilesPage.js.map
23419
+
23420
+ AmdLoader.instance.setup("@social-mail/social-mail-client/dist/web/page/files/FilesPage");
23421
+
22739
23422
  System.register(["@web-atoms/core/dist/core/Command", "../../common/commands/CommonCommands"], function (_export, _context) {
22740
23423
  "use strict";
22741
23424
 
@@ -22764,6 +23447,11 @@ System.register(["@web-atoms/core/dist/core/Command", "../../common/commands/Com
22764
23447
  routeOrder: 100,
22765
23448
  openPage: () => _context.import("../page/mails/MailsPage")
22766
23449
  });
23450
+ AppCommands.openFiles = Command.create({
23451
+ route: "/files",
23452
+ routeOrder: 100,
23453
+ openPage: () => _context.import("../page/files/FilesPage")
23454
+ });
22767
23455
  }
22768
23456
  };
22769
23457
  });
@@ -23245,9 +23933,13 @@ System.register(["tslib", "@web-atoms/core/dist/core/XNode", "@web-atoms/web-con
23245
23933
  label: "Mails",
23246
23934
  commandLink: AppCommands.openMails.displayRoute({})
23247
23935
  }), XNode.create(MenuItem, {
23248
- icon: "fas fa-folder",
23936
+ icon: "fas fa-envelopes-bulk",
23249
23937
  label: "Mailboxes",
23250
23938
  commandLink: AppCommands.openMailboxList.displayRoute({})
23939
+ }), XNode.create(MenuItem, {
23940
+ icon: "fas fa-folder",
23941
+ label: "Files",
23942
+ commandLink: AppCommands.openFiles.displayRoute({})
23251
23943
  }));
23252
23944
  });
23253
23945
  }