@acorex/modules 19.4.4 → 19.4.5

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 (141) hide show
  1. package/conversation/README.md +113 -2
  2. package/conversation/index.d.ts +2 -14
  3. package/conversation/lib/const.d.ts +25 -6
  4. package/conversation/lib/conversation.module.d.ts +32 -3
  5. package/conversation/lib/entities/index.d.ts +2 -0
  6. package/conversation/lib/entities/message/index.d.ts +3 -0
  7. package/conversation/lib/entities/message/message.entity.d.ts +3 -0
  8. package/conversation/lib/entities/message/message.service.d.ts +10 -0
  9. package/conversation/lib/entities/message/message.types.d.ts +20 -0
  10. package/conversation/lib/entities/room/index.d.ts +3 -0
  11. package/conversation/lib/entities/room/room.entity.d.ts +3 -0
  12. package/conversation/lib/entities/room/room.service.d.ts +10 -0
  13. package/conversation/lib/entities/room/room.types.d.ts +8 -0
  14. package/conversation/lib/entity.provider.d.ts +12 -0
  15. package/conversation/lib/features/chat/chat-preview.helper.d.ts +68 -0
  16. package/conversation/lib/features/chat/chat.component.d.ts +42 -0
  17. package/conversation/lib/features/chat/chat.service.d.ts +101 -0
  18. package/conversation/lib/features/chat/chat.type.d.ts +38 -0
  19. package/conversation/lib/{entities → features}/chat/components/chat-item/chat-item.component.d.ts +6 -1
  20. package/conversation/lib/{entities → features}/chat/components/chat-preview/chat-preview.component.d.ts +3 -0
  21. package/conversation/lib/features/chat/index.d.ts +5 -0
  22. package/conversation/lib/{entities/comments/pages → features/comment}/comment-list-view.component.d.ts +12 -12
  23. package/conversation/lib/features/comment/comment.service.d.ts +66 -0
  24. package/conversation/lib/features/comment/comment.type.d.ts +45 -0
  25. package/conversation/lib/features/comment/index.d.ts +4 -0
  26. package/conversation/lib/features/index.d.ts +2 -0
  27. package/document-management/lib/entities/folder/folder.types.d.ts +3 -2
  28. package/document-management/lib/features/document-explorer/components/create-folder-dialog/create-folder-dialog.component.d.ts +5 -2
  29. package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +22 -20
  30. package/document-management/lib/features/document-explorer/document-explorer.viewmodel.d.ts +22 -2
  31. package/document-management/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.d.ts +52 -33
  32. package/document-management/lib/features/document-explorer/views/detail-panel/detail-panel.component.d.ts +52 -33
  33. package/document-management/lib/features/document-explorer/views/details/details-view.component.d.ts +52 -33
  34. package/document-management/lib/features/document-explorer/views/large-icons/large-icons-view.component.d.ts +52 -33
  35. package/document-management/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.d.ts +52 -33
  36. package/document-management/lib/features/document-explorer/views/list/list-view.component.d.ts +52 -33
  37. package/document-management/lib/features/document-explorer/views/small-icons/small-icons-view.component.d.ts +52 -33
  38. package/document-management/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.d.ts +52 -33
  39. package/document-management/lib/features/drive/drive.component.d.ts +52 -31
  40. package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +49 -28
  41. package/document-management/lib/features/shared/components/document-type-choose-file/document-type-choose-file.component.d.ts +6 -6
  42. package/document-management/lib/features/shared/components/folder-path-breadcrumbs/folder-path-breadcrumbs.component.d.ts +21 -2
  43. package/document-management/lib/features/shared/document-manager.service.d.ts +177 -45
  44. package/document-management/lib/features/shared/document-manager.types.d.ts +2 -1
  45. package/document-management/lib/features/shared/index.d.ts +1 -0
  46. package/fesm2022/acorex-modules-common.mjs +7 -0
  47. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  48. package/fesm2022/acorex-modules-conversation.mjs +2382 -820
  49. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  50. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs → acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs} +1679 -2019
  51. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs.map +1 -0
  52. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DIF_t4fE.mjs → acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-DIF_t4fE.mjs.map → acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs.map} +1 -1
  54. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs +144 -0
  55. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs.map +1 -0
  56. package/fesm2022/{acorex-modules-document-management-details-view.component-D0RIYrHB.mjs → acorex-modules-document-management-details-view.component-CvHIETNf.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-document-management-details-view.component-D0RIYrHB.mjs.map → acorex-modules-document-management-details-view.component-CvHIETNf.mjs.map} +1 -1
  58. package/fesm2022/{acorex-modules-document-management-drive-choose.component-DMAQr0nK.mjs → acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs} +29 -9
  59. package/fesm2022/acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs.map +1 -0
  60. package/fesm2022/acorex-modules-document-management-drive.component-Crh10Z5J.mjs +363 -0
  61. package/fesm2022/acorex-modules-document-management-drive.component-Crh10Z5J.mjs.map +1 -0
  62. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C686Ec7s.mjs → acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs} +2 -2
  63. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-C686Ec7s.mjs.map → acorex-modules-document-management-large-icons-view.component-BuV7MPG5.mjs.map} +1 -1
  64. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-0GpMVYv5.mjs → acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs} +2 -2
  65. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-0GpMVYv5.mjs.map → acorex-modules-document-management-large-tiles-view.component-CwYwVxoG.mjs.map} +1 -1
  66. package/fesm2022/{acorex-modules-document-management-list-view.component-C1inszTC.mjs → acorex-modules-document-management-list-view.component-BHEwRA3m.mjs} +2 -2
  67. package/fesm2022/{acorex-modules-document-management-list-view.component-C1inszTC.mjs.map → acorex-modules-document-management-list-view.component-BHEwRA3m.mjs.map} +1 -1
  68. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B7lgRLHi.mjs → acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs} +2 -2
  69. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-B7lgRLHi.mjs.map → acorex-modules-document-management-permission-definition.provider-B3qaYwRL.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-C9k8WgDG.mjs → acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs} +5 -5
  71. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-C9k8WgDG.mjs.map → acorex-modules-document-management-rename-node-dialog.component-CrcJm9jP.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BGcUzNCv.mjs → acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-BGcUzNCv.mjs.map → acorex-modules-document-management-small-icons-view.component-CD5UORaq.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CumumWvO.mjs → acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs} +2 -2
  75. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CumumWvO.mjs.map → acorex-modules-document-management-small-tiles-view.component-cpc_xfbT.mjs.map} +1 -1
  76. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  77. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-ErtEMU89.mjs → acorex-modules-issue-management-acorex-modules-issue-management-DbVfrgVX.mjs} +5 -5
  78. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-DbVfrgVX.mjs.map +1 -0
  79. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-B6k0Zn9C.mjs → acorex-modules-issue-management-capture-screen.component-_9mwJVkz.mjs} +2 -2
  80. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-B6k0Zn9C.mjs.map → acorex-modules-issue-management-capture-screen.component-_9mwJVkz.mjs.map} +1 -1
  81. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  82. package/fesm2022/acorex-modules-notification-management.mjs +5 -5
  83. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  84. package/fesm2022/{acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs → acorex-modules-organization-management-org-chart.page-CrOUUr4c.mjs} +1 -2
  85. package/fesm2022/acorex-modules-organization-management-org-chart.page-CrOUUr4c.mjs.map +1 -0
  86. package/fesm2022/acorex-modules-organization-management.mjs +2 -2
  87. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-C9ZApxct.mjs → acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs} +326 -87
  88. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DtXOjIIK.mjs.map +1 -0
  89. package/fesm2022/{acorex-modules-platform-management-list-version.component-D50Xundj.mjs → acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-platform-management-list-version.component-D50Xundj.mjs.map → acorex-modules-platform-management-list-version.component-DY4yMd8n.mjs.map} +1 -1
  91. package/fesm2022/{acorex-modules-platform-management-settings.provider-DsHGn3AZ.mjs → acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs} +2 -2
  92. package/fesm2022/{acorex-modules-platform-management-settings.provider-DsHGn3AZ.mjs.map → acorex-modules-platform-management-settings.provider-BO-1dmVc.mjs.map} +1 -1
  93. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  94. package/fesm2022/acorex-modules-project-management.mjs +108 -0
  95. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  96. package/fesm2022/acorex-modules-settings-management.mjs +20 -21
  97. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  98. package/fesm2022/acorex-modules-workflow-management-task-board.page-3_Tn2GeA.mjs +305 -0
  99. package/fesm2022/acorex-modules-workflow-management-task-board.page-3_Tn2GeA.mjs.map +1 -0
  100. package/fesm2022/acorex-modules-workflow-management.mjs +123 -0
  101. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -0
  102. package/package.json +18 -14
  103. package/platform-management/lib/task-board.provider.d.ts +14 -0
  104. package/project-management/lib/task-board.provider.d.ts +14 -0
  105. package/settings-management/lib/settings-management.module.d.ts +1 -1
  106. package/workflow-management/README.md +3 -0
  107. package/workflow-management/index.d.ts +2 -0
  108. package/workflow-management/lib/const.d.ts +11 -0
  109. package/workflow-management/lib/features/task-board/index.d.ts +2 -0
  110. package/workflow-management/lib/features/task-board/settings.keys.d.ts +5 -0
  111. package/workflow-management/lib/features/task-board/task-board.module.d.ts +6 -0
  112. package/workflow-management/lib/features/task-board/task-board.page.d.ts +76 -0
  113. package/workflow-management/lib/features/task-board/task-board.service.d.ts +13 -0
  114. package/workflow-management/lib/features/task-board/task-board.viewmodel.d.ts +20 -0
  115. package/workflow-management/lib/features/task-board/views/task-board-calendar-view/task-board-calendar-view.page.d.ts +25 -0
  116. package/workflow-management/lib/workflow-management.module.d.ts +8 -0
  117. package/conversation/lib/entities/chat/chat.module.d.ts +0 -28
  118. package/conversation/lib/entities/chat/chat.service.d.ts +0 -14
  119. package/conversation/lib/entities/chat/chat.type.d.ts +0 -22
  120. package/conversation/lib/entities/chat/components/chat-item-footer/chat-item-footer.component.d.ts +0 -5
  121. package/conversation/lib/entities/chat/components/chat-item-header/chat-item-header.component.d.ts +0 -12
  122. package/conversation/lib/entities/chat/components/chat-preview-header/chat-preview-header.component.d.ts +0 -7
  123. package/conversation/lib/entities/chat/pages/chat/chat.component.d.ts +0 -23
  124. package/conversation/lib/entities/comments/comment.module.d.ts +0 -26
  125. package/conversation/lib/entities/comments/comments.service.d.ts +0 -13
  126. package/conversation/lib/entities/comments/comments.type.d.ts +0 -74
  127. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-column.component.d.ts +0 -6
  128. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +0 -212
  129. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-print.component.d.ts +0 -6
  130. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-view.component.d.ts +0 -6
  131. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget.config.d.ts +0 -7
  132. package/document-management/lib/features/widgets/document-attachment/index.d.ts +0 -5
  133. package/document-management/lib/features/widgets/index.d.ts +0 -1
  134. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs.map +0 -1
  135. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-CCvKUDsw.mjs +0 -141
  136. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-CCvKUDsw.mjs.map +0 -1
  137. package/fesm2022/acorex-modules-document-management-drive-choose.component-DMAQr0nK.mjs.map +0 -1
  138. package/fesm2022/acorex-modules-issue-management-acorex-modules-issue-management-ErtEMU89.mjs.map +0 -1
  139. package/fesm2022/acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs.map +0 -1
  140. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C9ZApxct.mjs.map +0 -1
  141. /package/conversation/lib/{entities/comments/pages → features/comment}/comment-lookup-popup.component.d.ts +0 -0
@@ -6,7 +6,7 @@ import { AXPElementDataDirective } from '@acorex/platform/core';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, Component } from '@angular/core';
9
- import { c as AXPDocumentExplorerViewModel, a as AXMDocumentManagerService } from './acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs';
9
+ import { A as AXPDocumentExplorerViewModel, a as AXMDocumentManagerService } from './acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs';
10
10
 
11
11
  class AXMDocumentExplorerAttachmentComponent {
12
12
  constructor() {
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
29
29
  }] });
30
30
 
31
31
  export { AXMDocumentExplorerAttachmentComponent };
32
- //# sourceMappingURL=acorex-modules-document-management-attachment-widget.component-DIF_t4fE.mjs.map
32
+ //# sourceMappingURL=acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-document-management-attachment-widget.component-DIF_t4fE.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPElementDataDirective } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer-attachment-widget',\n templateUrl: './attachment-widget.component.html',\n styleUrls: ['./attachment-widget.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXButtonModule,\n AXTranslationModule,\n AXPElementDataDirective,\n ],\n})\nexport class AXMDocumentExplorerAttachmentComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected readonly driveService = inject(AXMDocumentManagerService);\n}\n","<!-- List View -->\n<div class=\"__content fa-xl\">\n @for (folder of vm.folders(); track folder.id) {\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n [axp-data]=\"folder\"\n (click)=\"vm.toggleSelect(folder)\"\n (onDblClick)=\"vm.navigateToFolder(folder.id)\"\n >\n <div class=\"__icon ax-text-yellow-400\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n </div>\n <div class=\"__name\">{{ folder.name }}</div>\n </div>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <div\n [class.--selected]=\"vm.isItemSelected(file)\"\n class=\"__explorer-item ax-group\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"name-bar\">\n <div class=\"__icon\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n <div class=\"action-bar group-hover:ax-visible ax-invisible\">\n <div>\n <i class=\"fa-regular fa-trash\" (click)=\"vm.deleteNodes([file])\"></i>\n </div>\n <div>\n <i class=\"fa-regular fa-download\" (click)=\"driveService.downloadFile(file)\"></i>\n </div>\n <div>\n <i class=\"fa-regular fa-info\" (click)=\"vm.openFile(file)\"></i>\n </div>\n </div>\n </div>\n }\n</div>\n"],"names":[],"mappings":";;;;;;;;;;MAwBa,sCAAsC,CAAA;AAdnD,IAAA,WAAA,GAAA;AAeY,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACpE;+GAHY,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,ECxBnD,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qhDA+CA,ED/BI,MAAA,EAAA,CAAA,2nCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+BACnB,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGd,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAdlD,SAAS;+BACE,yCAAyC,EAAA,UAAA,EAGvC,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,cAAc;wBACd,cAAc;wBACd,mBAAmB;wBACnB,uBAAuB;AACxB,qBAAA,EAAA,QAAA,EAAA,qhDAAA,EAAA,MAAA,EAAA,CAAA,2nCAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-modules-document-management-attachment-widget.component-C1-gQepw.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPElementDataDirective } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject } from '@angular/core';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer-attachment-widget',\n templateUrl: './attachment-widget.component.html',\n styleUrls: ['./attachment-widget.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXButtonModule,\n AXTranslationModule,\n AXPElementDataDirective,\n ],\n})\nexport class AXMDocumentExplorerAttachmentComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected readonly driveService = inject(AXMDocumentManagerService);\n}\n","<!-- List View -->\n<div class=\"__content fa-xl\">\n @for (folder of vm.folders(); track folder.id) {\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n [axp-data]=\"folder\"\n (click)=\"vm.toggleSelect(folder)\"\n (onDblClick)=\"vm.navigateToFolder(folder.id)\"\n >\n <div class=\"__icon ax-text-yellow-400\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n </div>\n <div class=\"__name\">{{ folder.name }}</div>\n </div>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <div\n [class.--selected]=\"vm.isItemSelected(file)\"\n class=\"__explorer-item ax-group\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"name-bar\">\n <div class=\"__icon\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n <div class=\"action-bar group-hover:ax-visible ax-invisible\">\n <div>\n <i class=\"fa-regular fa-trash\" (click)=\"vm.deleteNodes([file])\"></i>\n </div>\n <div>\n <i class=\"fa-regular fa-download\" (click)=\"driveService.downloadFile(file)\"></i>\n </div>\n <div>\n <i class=\"fa-regular fa-info\" (click)=\"vm.openFile(file)\"></i>\n </div>\n </div>\n </div>\n }\n</div>\n"],"names":[],"mappings":";;;;;;;;;;MAwBa,sCAAsC,CAAA;AAdnD,IAAA,WAAA,GAAA;AAeY,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACpE;+GAHY,sCAAsC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sCAAsC,ECxBnD,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qhDA+CA,ED/BI,MAAA,EAAA,CAAA,2nCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAiB,EACjB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,+BACnB,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGd,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAdlD,SAAS;+BACE,yCAAyC,EAAA,UAAA,EAGvC,IAAI,EACP,OAAA,EAAA;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,cAAc;wBACd,cAAc;wBACd,mBAAmB;wBACnB,uBAAuB;AACxB,qBAAA,EAAA,QAAA,EAAA,qhDAAA,EAAA,MAAA,EAAA,CAAA,2nCAAA,CAAA,EAAA;;;;;"}
@@ -0,0 +1,144 @@
1
+ import * as i2$1 from '@acorex/components/button';
2
+ import { AXButtonModule } from '@acorex/components/button';
3
+ import * as i8 from '@acorex/components/color-box';
4
+ import { AXColorBoxModule } from '@acorex/components/color-box';
5
+ import { AXDataSource, AXAutoFocusDirective } from '@acorex/cdk/common';
6
+ import * as i3 from '@acorex/components/decorators';
7
+ import { AXDecoratorModule } from '@acorex/components/decorators';
8
+ import * as i3$1 from '@acorex/components/form';
9
+ import { AXFormModule } from '@acorex/components/form';
10
+ import * as i5 from '@acorex/components/label';
11
+ import { AXLabelModule } from '@acorex/components/label';
12
+ import * as i10 from '@acorex/components/loading';
13
+ import { AXLoadingModule } from '@acorex/components/loading';
14
+ import { AXBasePageComponent } from '@acorex/components/page';
15
+ import * as i1$1 from '@acorex/components/select-box';
16
+ import { AXSelectBoxModule } from '@acorex/components/select-box';
17
+ import * as i4 from '@acorex/components/text-box';
18
+ import { AXTextBoxModule } from '@acorex/components/text-box';
19
+ import * as i3$2 from '@acorex/core/translation';
20
+ import { AXTranslationModule } from '@acorex/core/translation';
21
+ import * as i1 from '@angular/common';
22
+ import { CommonModule } from '@angular/common';
23
+ import * as i0 from '@angular/core';
24
+ import { inject, model, signal, Component } from '@angular/core';
25
+ import * as i2 from '@angular/forms';
26
+ import { FormsModule } from '@angular/forms';
27
+ import { a as AXMDocumentManagerService, e as AXMDocumentTypeService } from './acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs';
28
+ import { AXCheckBoxModule } from '@acorex/components/check-box';
29
+
30
+ class AXMCreateFolderDialog extends AXBasePageComponent {
31
+ constructor() {
32
+ super(...arguments);
33
+ this.driveService = inject(AXMDocumentManagerService);
34
+ this.documentTypeService = inject(AXMDocumentTypeService);
35
+ this.name = model('');
36
+ this.color = model('#FFFFFF');
37
+ this.description = model('');
38
+ this.inherit = model('None');
39
+ this.selectedDocumentTypes = signal([]);
40
+ this.isBusy = signal(false);
41
+ this.dataSource = new AXDataSource({
42
+ load: async (_) => {
43
+ try {
44
+ const res = (await this.documentTypeService.query());
45
+ return res;
46
+ }
47
+ catch (e) {
48
+ console.log(e);
49
+ }
50
+ return {
51
+ items: [],
52
+ total: 0,
53
+ };
54
+ },
55
+ pageSize: 100,
56
+ });
57
+ }
58
+ ngOnInit() {
59
+ if (this.defaultValue != null) {
60
+ this.selectedDocumentTypes.set(this.defaultValue.documentTypes ?? []);
61
+ this.name.set(this.defaultValue.name);
62
+ this.description.set(this.defaultValue.description ?? '');
63
+ this.inherit.set(this.defaultValue.inherit ?? 'None');
64
+ }
65
+ }
66
+ handleDocumentTypeValueChange(event) {
67
+ this.selectedDocumentTypes.set(event.component.selectedItems);
68
+ }
69
+ handleInheritValueChange(event) {
70
+ this.inherit.set(event.component.selectedItems[0]);
71
+ }
72
+ async handleSubmitButton(form) {
73
+ this.isBusy.set(true);
74
+ const validated = await form.validate();
75
+ if (validated.result) {
76
+ try {
77
+ let folder;
78
+ if (this.defaultValue != null) {
79
+ folder = await this.driveService.updateFolder(this.defaultValue.id, {
80
+ name: this.name(),
81
+ color: this.color(),
82
+ description: this.description(),
83
+ documentTypes: this.selectedDocumentTypes(),
84
+ });
85
+ }
86
+ else {
87
+ folder = await this.driveService.createFolder({
88
+ name: this.name(),
89
+ color: this.color(),
90
+ parentId: this.parentId,
91
+ description: this.description(),
92
+ documentTypes: this.selectedDocumentTypes(),
93
+ size: 0,
94
+ inherit: this.inherit(),
95
+ });
96
+ }
97
+ this.close({
98
+ result: true,
99
+ folder,
100
+ });
101
+ }
102
+ catch (error) {
103
+ console.error('Error creating folder:', error);
104
+ }
105
+ finally {
106
+ this.isBusy.set(false);
107
+ }
108
+ }
109
+ else {
110
+ this.isBusy.set(false);
111
+ }
112
+ }
113
+ onCancel() {
114
+ this.close({
115
+ result: false,
116
+ });
117
+ }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMCreateFolderDialog, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
119
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMCreateFolderDialog, isStandalone: true, selector: "ax-create-folder-dialog", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, inherit: { classPropertyName: "inherit", publicName: "inherit", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { name: "nameChange", color: "colorChange", description: "descriptionChange", inherit: "inheritChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-p-4\">\n <ax-form #form [updateOn]=\"'submit'\">\n <div class=\"ax-flex ax-flex-col ax-gap-4\">\n <ax-form-field>\n <ax-label>\n {{ 'name' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"name\" class=\"ax-input ax-w-full\" [axAutoFocus]=\"true\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ 'description' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"description\" class=\"ax-input ax-w-full\"> </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ '@document-management:inherited' | translate | async }}\n </ax-label>\n <ax-select-box\n [dataSource]=\"['None', 'Inherited', 'Extends']\"\n [(ngModel)]=\"inherit\"\n (onValueChanged)=\"handleInheritValueChange($event)\"\n >\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ '@document-management:documentTypePlural' | translate | async }}\n </ax-label>\n <ax-select-box\n [disabled]=\"inherit() === 'Extends'\"\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n (onValueChanged)=\"handleDocumentTypeValueChange($event)\"\n [ngModel]=\"selectedDocumentTypes()\"\n />\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ 'color' | translate | async }}\n </ax-label>\n <ax-color-box [disabled]=\"inherit() === 'Extends'\" [(ngModel)]=\"color\" class=\"ax-w-full\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-color-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-end ax-gap-2\"></div>\n </div>\n </ax-form>\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button (onClick)=\"onCancel()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton(form)\" [text]=\"'save' | translate | async\">\n @if (isBusy()) {\n <ax-loading> </ax-loading>\n }\n </ax-button>\n </ax-suffix>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type:
120
+ //
121
+ AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i4.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i5.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i3$1.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i3$1.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "look", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i3$1.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message", "disabled"] }, { kind: "ngmodule", type: AXColorBoxModule }, { kind: "component", type: i8.AXColorBoxComponent, selector: "ax-color-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "showBadge", "showValue", "showClearButton", "showIcon"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3$2.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "component", type: i10.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXAutoFocusDirective, selector: "[axAutoFocus]", inputs: ["axAutoFocus", "axAutoFocusTime"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXCheckBoxModule }] }); }
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMCreateFolderDialog, decorators: [{
124
+ type: Component,
125
+ args: [{ selector: 'ax-create-folder-dialog', standalone: true, imports: [
126
+ CommonModule,
127
+ FormsModule,
128
+ //
129
+ AXDecoratorModule,
130
+ AXTextBoxModule,
131
+ AXLabelModule,
132
+ AXButtonModule,
133
+ AXFormModule,
134
+ AXColorBoxModule,
135
+ AXTranslationModule,
136
+ AXLoadingModule,
137
+ AXAutoFocusDirective,
138
+ AXSelectBoxModule,
139
+ AXCheckBoxModule,
140
+ ], template: "<div class=\"ax-p-4\">\n <ax-form #form [updateOn]=\"'submit'\">\n <div class=\"ax-flex ax-flex-col ax-gap-4\">\n <ax-form-field>\n <ax-label>\n {{ 'name' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"name\" class=\"ax-input ax-w-full\" [axAutoFocus]=\"true\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ 'description' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"description\" class=\"ax-input ax-w-full\"> </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ '@document-management:inherited' | translate | async }}\n </ax-label>\n <ax-select-box\n [dataSource]=\"['None', 'Inherited', 'Extends']\"\n [(ngModel)]=\"inherit\"\n (onValueChanged)=\"handleInheritValueChange($event)\"\n >\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ '@document-management:documentTypePlural' | translate | async }}\n </ax-label>\n <ax-select-box\n [disabled]=\"inherit() === 'Extends'\"\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n (onValueChanged)=\"handleDocumentTypeValueChange($event)\"\n [ngModel]=\"selectedDocumentTypes()\"\n />\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ 'color' | translate | async }}\n </ax-label>\n <ax-color-box [disabled]=\"inherit() === 'Extends'\" [(ngModel)]=\"color\" class=\"ax-w-full\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-color-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-end ax-gap-2\"></div>\n </div>\n </ax-form>\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button (onClick)=\"onCancel()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton(form)\" [text]=\"'save' | translate | async\">\n @if (isBusy()) {\n <ax-loading> </ax-loading>\n }\n </ax-button>\n </ax-suffix>\n</ax-footer>\n" }]
141
+ }] });
142
+
143
+ export { AXMCreateFolderDialog };
144
+ //# sourceMappingURL=acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-document-management-create-folder-dialog.component-ZMvsadWt.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/document-explorer/components/create-folder-dialog/create-folder-dialog.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/components/create-folder-dialog/create-folder-dialog.component.html"],"sourcesContent":["import { AXButtonModule } from '@acorex/components/button';\nimport { AXColorBoxModule } from '@acorex/components/color-box';\nimport { AXAutoFocusDirective, AXDataSource, AXValueChangedEvent } from '@acorex/cdk/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormComponent, AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { Component, inject, model, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXMDocumentTypeService } from '../../../../entities/document-type/document-type.service';\nimport { AXMDocumentManagementDocumentTypeEntityModel } from '../../../../entities/document-type/document-type.types';\nimport { AXMDocumentExplorerNode, AXMNodeType } from '../../../drive';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXMDocumentInheritanceType } from '../../../../entities/folder/folder.types';\n\ninterface QueryResult {\n items: AXMDocumentManagementDocumentTypeEntityModel[];\n total: number;\n}\n\n@Component({\n selector: 'ax-create-folder-dialog',\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n //\n AXDecoratorModule,\n AXTextBoxModule,\n AXLabelModule,\n AXButtonModule,\n AXFormModule,\n AXColorBoxModule,\n AXTranslationModule,\n AXLoadingModule,\n AXAutoFocusDirective,\n AXSelectBoxModule,\n AXCheckBoxModule,\n ],\n templateUrl: './create-folder-dialog.component.html',\n})\nexport class AXMCreateFolderDialog extends AXBasePageComponent {\n private driveService = inject(AXMDocumentManagerService);\n private documentTypeService = inject(AXMDocumentTypeService);\n\n defaultValue?: AXMDocumentExplorerNode;\n\n parentId?: string;\n\n protected name = model<string>('');\n protected color = model<string>('#FFFFFF');\n protected description = model<string>('');\n protected inherit = model<AXMDocumentInheritanceType>('None');\n protected selectedDocumentTypes = signal<AXMNodeType[]>([]);\n\n protected isBusy = signal(false);\n\n protected dataSource = new AXDataSource({\n load: async (_) => {\n try {\n const res = (await this.documentTypeService.query()) as QueryResult;\n return res;\n } catch (e) {\n console.log(e);\n }\n return {\n items: [],\n total: 0,\n };\n },\n pageSize: 100,\n });\n\n protected override ngOnInit(): void {\n if (this.defaultValue != null) {\n \n this.selectedDocumentTypes.set(this.defaultValue.documentTypes ?? []);\n this.name.set(this.defaultValue.name);\n this.description.set(this.defaultValue.description ?? '');\n this.inherit.set(this.defaultValue.inherit ?? 'None');\n }\n }\n\n protected handleDocumentTypeValueChange(event: AXValueChangedEvent) {\n this.selectedDocumentTypes.set(event.component.selectedItems);\n }\n\n protected handleInheritValueChange(event: AXValueChangedEvent) {\n this.inherit.set(event.component.selectedItems[0] as AXMDocumentInheritanceType);\n }\n\n async handleSubmitButton(form: AXFormComponent) {\n this.isBusy.set(true);\n const validated = await form.validate();\n if (validated.result) {\n try {\n let folder;\n if (this.defaultValue != null) {\n folder = await this.driveService.updateFolder(this.defaultValue.id, {\n name: this.name(),\n color: this.color(),\n description: this.description(),\n documentTypes: this.selectedDocumentTypes(),\n });\n } else {\n folder = await this.driveService.createFolder({\n name: this.name(),\n color: this.color(),\n parentId: this.parentId,\n description: this.description(),\n documentTypes: this.selectedDocumentTypes(),\n size: 0,\n inherit: this.inherit(),\n });\n }\n\n this.close({\n result: true,\n folder,\n });\n } catch (error) {\n console.error('Error creating folder:', error);\n } finally {\n this.isBusy.set(false);\n }\n } else {\n this.isBusy.set(false);\n }\n }\n\n onCancel() {\n this.close({\n result: false,\n });\n }\n\n\n}\n","<div class=\"ax-p-4\">\n <ax-form #form [updateOn]=\"'submit'\">\n <div class=\"ax-flex ax-flex-col ax-gap-4\">\n <ax-form-field>\n <ax-label>\n {{ 'name' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"name\" class=\"ax-input ax-w-full\" [axAutoFocus]=\"true\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ 'description' | translate | async }}\n </ax-label>\n <ax-text-box [(ngModel)]=\"description\" class=\"ax-input ax-w-full\"> </ax-text-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ '@document-management:inherited' | translate | async }}\n </ax-label>\n <ax-select-box\n [dataSource]=\"['None', 'Inherited', 'Extends']\"\n [(ngModel)]=\"inherit\"\n (onValueChanged)=\"handleInheritValueChange($event)\"\n >\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ '@document-management:documentTypePlural' | translate | async }}\n </ax-label>\n <ax-select-box\n [disabled]=\"inherit() === 'Extends'\"\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n (onValueChanged)=\"handleDocumentTypeValueChange($event)\"\n [ngModel]=\"selectedDocumentTypes()\"\n />\n </ax-form-field>\n <ax-form-field>\n <ax-label>\n {{ 'color' | translate | async }}\n </ax-label>\n <ax-color-box [disabled]=\"inherit() === 'Extends'\" [(ngModel)]=\"color\" class=\"ax-w-full\">\n <ax-validation-rule rule=\"required\"></ax-validation-rule>\n </ax-color-box>\n </ax-form-field>\n <div class=\"ax-flex ax-justify-end ax-gap-2\"></div>\n </div>\n </ax-form>\n</div>\n<ax-footer>\n <ax-suffix>\n <ax-button (onClick)=\"onCancel()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton(form)\" [text]=\"'save' | translate | async\">\n @if (isBusy()) {\n <ax-loading> </ax-loading>\n }\n </ax-button>\n </ax-suffix>\n</ax-footer>\n"],"names":["i7"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { inject, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { AXPElementDataDirective } from '@acorex/platform/core';
6
- import { c as AXPDocumentExplorerViewModel } from './acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs';
6
+ import { A as AXPDocumentExplorerViewModel } from './acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs';
7
7
  import * as i2 from '@acorex/core/format';
8
8
  import { AXFormatModule } from '@acorex/core/format';
9
9
  import { AXDateTimeModule } from '@acorex/core/date-time';
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
21
21
  }] });
22
22
 
23
23
  export { AXMDocumentExplorerDetailsViewComponent };
24
- //# sourceMappingURL=acorex-modules-document-management-details-view.component-D0RIYrHB.mjs.map
24
+ //# sourceMappingURL=acorex-modules-document-management-details-view.component-CvHIETNf.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-modules-document-management-details-view.component-D0RIYrHB.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/document-explorer/views/details/details-view.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/views/details/details-view.component.html"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPElementDataDirective } from '@acorex/platform/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\n\n@Component({\n templateUrl: './details-view.component.html',\n styleUrls: ['./details-view.component.scss'],\n standalone: true,\n imports: [CommonModule, AXPElementDataDirective, AXFormatModule, AXDateTimeModule],\n})\nexport class AXMDocumentExplorerDetailsViewComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n} ","<!-- Details View -->\n<div class=\"details-view\">\n <table class=\"items-table\">\n <thead>\n <tr>\n <th class=\"name-column\">Name</th>\n <th class=\"type-column\">Type</th>\n <th class=\"size-column\">Size</th>\n <th class=\"date-column\">Last Modified</th>\n </tr>\n </thead>\n <tbody>\n @for (folder of vm.folders(); track folder.id) {\n <tr\n class=\"folder-row\"\n (dblclick)=\"vm.navigateToFolder(folder.id)\"\n (click)=\"vm.toggleSelect(folder)\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n >\n <td class=\"name-column axp-explorer-item\" [axp-data]=\"folder\">\n <div class=\"item-name\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n <span>{{ folder.name }}</span>\n </div>\n </td>\n <td class=\"type-column axp-explorer-item\" [axp-data]=\"folder\">Folder</td>\n <td class=\"size-column axp-explorer-item\" [axp-data]=\"folder\">\n {{ folder.size | format : 'filesize' | async }}\n </td>\n <td class=\"date-column axp-explorer-item\" [axp-data]=\"folder\">\n {{ folder.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}\n </td>\n </tr>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <tr\n class=\"file-row\"\n (dblclick)=\"vm.openFile(file)\"\n (click)=\"vm.toggleSelect(file)\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n >\n <td class=\"name-column axp-explorer-item\" [axp-data]=\"file\">\n <div class=\"item-name hover:ax-underline\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n <span>{{ file.name }}</span>\n </div>\n </td>\n <td class=\"type-column axp-explorer-item\" [axp-data]=\"file\">{{ fileInfo.type }}</td>\n <td class=\"size-column axp-explorer-item\" [axp-data]=\"file\">{{ file.size | format : 'filesize' | async }}</td>\n <td class=\"date-column axp-explorer-item\" [axp-data]=\"file\">\n {{ file.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;MAaa,uCAAuC,CAAA;AANpD,IAAA,WAAA,GAAA;AAOc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD;+GAFY,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbpD,24EA4DA,EDjDc,MAAA,EAAA,CAAA,w5CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,oFAAE,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAExE,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBANnD,SAAS;iCAGM,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,24EAAA,EAAA,MAAA,EAAA,CAAA,w5CAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-modules-document-management-details-view.component-CvHIETNf.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/document-explorer/views/details/details-view.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/views/details/details-view.component.html"],"sourcesContent":["import { Component, inject } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPElementDataDirective } from '@acorex/platform/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\n\n@Component({\n templateUrl: './details-view.component.html',\n styleUrls: ['./details-view.component.scss'],\n standalone: true,\n imports: [CommonModule, AXPElementDataDirective, AXFormatModule, AXDateTimeModule],\n})\nexport class AXMDocumentExplorerDetailsViewComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n} ","<!-- Details View -->\n<div class=\"details-view\">\n <table class=\"items-table\">\n <thead>\n <tr>\n <th class=\"name-column\">Name</th>\n <th class=\"type-column\">Type</th>\n <th class=\"size-column\">Size</th>\n <th class=\"date-column\">Last Modified</th>\n </tr>\n </thead>\n <tbody>\n @for (folder of vm.folders(); track folder.id) {\n <tr\n class=\"folder-row\"\n (dblclick)=\"vm.navigateToFolder(folder.id)\"\n (click)=\"vm.toggleSelect(folder)\"\n [class.--selected]=\"vm.isItemSelected(folder)\"\n >\n <td class=\"name-column axp-explorer-item\" [axp-data]=\"folder\">\n <div class=\"item-name\">\n @if (vm.isLoadingFolder(folder.id)) {\n <i class=\"fa-light fa-spinner fa-spin-pulse\"></i>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n <span>{{ folder.name }}</span>\n </div>\n </td>\n <td class=\"type-column axp-explorer-item\" [axp-data]=\"folder\">Folder</td>\n <td class=\"size-column axp-explorer-item\" [axp-data]=\"folder\">\n {{ folder.size | format : 'filesize' | async }}\n </td>\n <td class=\"date-column axp-explorer-item\" [axp-data]=\"folder\">\n {{ folder.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}\n </td>\n </tr>\n } @for (file of vm.files(); track file.id) { @let fileInfo = vm.getFileInfo(file.name);\n <tr\n class=\"file-row\"\n (dblclick)=\"vm.openFile(file)\"\n (click)=\"vm.toggleSelect(file)\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n >\n <td class=\"name-column axp-explorer-item\" [axp-data]=\"file\">\n <div class=\"item-name hover:ax-underline\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n <span>{{ file.name }}</span>\n </div>\n </td>\n <td class=\"type-column axp-explorer-item\" [axp-data]=\"file\">{{ fileInfo.type }}</td>\n <td class=\"size-column axp-explorer-item\" [axp-data]=\"file\">{{ file.size | format : 'filesize' | async }}</td>\n <td class=\"date-column axp-explorer-item\" [axp-data]=\"file\">\n {{ file.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}\n </td>\n </tr>\n }\n </tbody>\n </table>\n</div>\n"],"names":[],"mappings":";;;;;;;;;;MAaa,uCAAuC,CAAA;AANpD,IAAA,WAAA,GAAA;AAOc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD;+GAFY,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvC,uCAAuC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECbpD,24EA4DA,EDjDc,MAAA,EAAA,CAAA,w5CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,oFAAE,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAExE,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBANnD,SAAS;iCAGM,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,uBAAuB,EAAE,cAAc,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,24EAAA,EAAA,MAAA,EAAA,CAAA,w5CAAA,CAAA,EAAA;;;;;"}
@@ -3,30 +3,29 @@ import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
3
3
  import * as i2 from '@acorex/components/button';
4
4
  import { AXButtonModule } from '@acorex/components/button';
5
5
  import { AXButtonGroupModule } from '@acorex/components/button-group';
6
- import * as i3 from '@acorex/components/decorators';
6
+ import * as i3$1 from '@acorex/components/decorators';
7
7
  import { AXDecoratorModule } from '@acorex/components/decorators';
8
8
  import { AXDropdownModule } from '@acorex/components/dropdown';
9
9
  import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
10
10
  import { AXLoadingModule } from '@acorex/components/loading';
11
11
  import { AXMenuModule } from '@acorex/components/menu';
12
12
  import { AXBasePageComponent } from '@acorex/components/page';
13
- import * as i6 from '@acorex/components/search-box';
13
+ import * as i5 from '@acorex/components/search-box';
14
14
  import { AXSearchBoxModule } from '@acorex/components/search-box';
15
15
  import { AXDateTimeModule } from '@acorex/core/date-time';
16
16
  import { AXFileModule } from '@acorex/core/file';
17
17
  import { AXFormatModule } from '@acorex/core/format';
18
- import * as i4 from '@acorex/core/translation';
18
+ import * as i3 from '@acorex/core/translation';
19
19
  import { AXTranslationModule } from '@acorex/core/translation';
20
20
  import { AXPSessionService } from '@acorex/platform/auth';
21
21
  import { AXPFileTypeProviderService } from '@acorex/platform/common';
22
- import { AXPPlatformScope } from '@acorex/platform/core';
23
22
  import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
24
23
  import * as i1 from '@angular/common';
25
24
  import { CommonModule } from '@angular/common';
26
25
  import * as i0 from '@angular/core';
27
26
  import { inject, signal, viewChild, computed, effect, untracked, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
28
27
  import { RouterModule } from '@angular/router';
29
- import { R as RootConfig, a as AXMDocumentManagerService, c as AXPDocumentExplorerViewModel, d as AXMDocumentExplorerComponent, e as AXMFolderPathBreadcrumbsComponent } from './acorex-modules-document-management-acorex-modules-document-management-BpmG6Dyx.mjs';
28
+ import { R as RootConfig, a as AXMDocumentManagerService, A as AXPDocumentExplorerViewModel, b as AXMDocumentExplorerComponent, c as AXMFolderPathBreadcrumbsComponent } from './acorex-modules-document-management-acorex-modules-document-management-BATdoqJi.mjs';
30
29
 
31
30
  class AXMDocumentDriveChooseComponent extends AXBasePageComponent {
32
31
  constructor() {
@@ -54,10 +53,15 @@ class AXMDocumentDriveChooseComponent extends AXBasePageComponent {
54
53
  this.selectText = computed(() => {
55
54
  return this.vm.browseMode() == 'file' ? 'actions.select-file' : 'actions.select-folder';
56
55
  });
56
+ this.searchQuery = '';
57
57
  this.#navigateEffect = effect(() => {
58
58
  const navigatingFolderId = this.vm.navigatingFolderId();
59
59
  if (navigatingFolderId) {
60
60
  this.loadDrive(navigatingFolderId);
61
+ // Clear search when navigating to a folder
62
+ setTimeout(() => {
63
+ this.searchQuery = null;
64
+ }, 200);
61
65
  }
62
66
  });
63
67
  this.#loadingEffect = effect(() => {
@@ -70,7 +74,23 @@ class AXMDocumentDriveChooseComponent extends AXBasePageComponent {
70
74
  #navigateEffect;
71
75
  #loadingEffect;
72
76
  async handleSearchChange(event) {
73
- const result = await this.driveService.searchNodes(event.value, AXPPlatformScope.Tenant);
77
+ if (event.value == null) {
78
+ return;
79
+ }
80
+ if (event.value?.length > 0) {
81
+ const result = await this.driveService.searchNodes(event.value, this.scope, {
82
+ tenantId: this.sessionService.tenant?.id,
83
+ userId: this.sessionService.user?.id,
84
+ });
85
+ this.vm.virtualFolder(result, {
86
+ name: 'Search Result',
87
+ parentId: this.vm.currentNode()?.id == 'virtual' ?
88
+ this.vm.currentNode()?.parentId ?? undefined : this.vm.currentNode()?.id,
89
+ });
90
+ }
91
+ else {
92
+ this.vm.navigateToUp();
93
+ }
74
94
  }
75
95
  async ngOnInit() {
76
96
  super.ngOnInit();
@@ -139,7 +159,7 @@ class AXMDocumentDriveChooseComponent extends AXBasePageComponent {
139
159
  });
140
160
  }
141
161
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentDriveChooseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
142
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: AXMDocumentDriveChooseComponent, isStandalone: true, selector: "ax-document-drive-choose", providers: [AXPDocumentExplorerViewModel], viewQueries: [{ propertyName: "documentExplorer", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-p-2 ax-items-center ax-w-full ax-light-surface ax-border-b\" *translate=\"let t\">\n <!-- Breadcrumbs Section -->\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n <!-- Search Box -->\n <ax-search-box (onValueChanged)=\"handleSearchChange($event)\" class=\"ax-w-72 ax-sm\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"><ax-clear-button></ax-clear-button></ax-search-box>\n</div>\n<div class=\"ax-p-2\">\n <axm-document-explorer [browseMode]=\"browseMode\" [selectionMode]=\"selectionMode\" [viewMode]=\"'list'\"\n [showContextMenu]=\"false\"></axm-document-explorer>\n</div>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button (onClick)=\"handleCancelClick()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(),{scope:rootConfig.config.i18n}) | async\">\n </ax-button>\n </ax-suffix>\n</ax-footer>", styles: ["ax-document-drive-choose{display:block;min-height:50vh;width:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i4.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i4.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i6.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXFileModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "component", type: AXMDocumentExplorerComponent, selector: "axm-document-explorer", inputs: ["browseMode", "viewMode", "selectionMode", "showContextMenu"] }, { kind: "component", type: AXMFolderPathBreadcrumbsComponent, selector: "axm-folder-path-breadcrumbs" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
162
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.10", type: AXMDocumentDriveChooseComponent, isStandalone: true, selector: "ax-document-drive-choose", providers: [AXPDocumentExplorerViewModel], viewQueries: [{ propertyName: "documentExplorer", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-p-2 ax-items-center ax-w-full ax-light-surface ax-border-b\" *translate=\"let t\">\n <!-- Breadcrumbs Section -->\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n <!-- Search Box -->\n <ax-search-box [(value)]=\"searchQuery\" (onValueChanged)=\"handleSearchChange($event)\" class=\"ax-w-72 ax-sm\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"><ax-clear-button></ax-clear-button></ax-search-box>\n</div>\n<div class=\"ax-p-2\">\n <axm-document-explorer [browseMode]=\"browseMode\" [selectionMode]=\"selectionMode\" [viewMode]=\"'list'\"\n [showContextMenu]=\"false\">\n </axm-document-explorer>\n</div>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button (onClick)=\"handleCancelClick()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(),{scope:rootConfig.config.i18n}) | async\">\n </ax-button>\n </ax-suffix>\n</ax-footer>", styles: ["ax-document-drive-choose{display:block;min-height:50vh;width:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXMenuModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AXTranslatorPipe, name: "translate" }, { kind: "directive", type: i3.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i5.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXFileModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "component", type: AXMDocumentExplorerComponent, selector: "axm-document-explorer", inputs: ["browseMode", "viewMode", "selectionMode", "showContextMenu"] }, { kind: "component", type: AXMFolderPathBreadcrumbsComponent, selector: "axm-folder-path-breadcrumbs" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
143
163
  }
144
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentDriveChooseComponent, decorators: [{
145
165
  type: Component,
@@ -162,8 +182,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
162
182
  AXDateTimeModule,
163
183
  AXMDocumentExplorerComponent,
164
184
  AXMFolderPathBreadcrumbsComponent,
165
- ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [AXPDocumentExplorerViewModel], template: "<div class=\"ax-flex ax-p-2 ax-items-center ax-w-full ax-light-surface ax-border-b\" *translate=\"let t\">\n <!-- Breadcrumbs Section -->\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n <!-- Search Box -->\n <ax-search-box (onValueChanged)=\"handleSearchChange($event)\" class=\"ax-w-72 ax-sm\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"><ax-clear-button></ax-clear-button></ax-search-box>\n</div>\n<div class=\"ax-p-2\">\n <axm-document-explorer [browseMode]=\"browseMode\" [selectionMode]=\"selectionMode\" [viewMode]=\"'list'\"\n [showContextMenu]=\"false\"></axm-document-explorer>\n</div>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button (onClick)=\"handleCancelClick()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(),{scope:rootConfig.config.i18n}) | async\">\n </ax-button>\n </ax-suffix>\n</ax-footer>", styles: ["ax-document-drive-choose{display:block;min-height:50vh;width:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\n"] }]
185
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [AXPDocumentExplorerViewModel], template: "<div class=\"ax-flex ax-p-2 ax-items-center ax-w-full ax-light-surface ax-border-b\" *translate=\"let t\">\n <!-- Breadcrumbs Section -->\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n <!-- Search Box -->\n <ax-search-box [(value)]=\"searchQuery\" (onValueChanged)=\"handleSearchChange($event)\" class=\"ax-w-72 ax-sm\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"><ax-clear-button></ax-clear-button></ax-search-box>\n</div>\n<div class=\"ax-p-2\">\n <axm-document-explorer [browseMode]=\"browseMode\" [selectionMode]=\"selectionMode\" [viewMode]=\"'list'\"\n [showContextMenu]=\"false\">\n </axm-document-explorer>\n</div>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button (onClick)=\"handleCancelClick()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(),{scope:rootConfig.config.i18n}) | async\">\n </ax-button>\n </ax-suffix>\n</ax-footer>", styles: ["ax-document-drive-choose{display:block;min-height:50vh;width:100%;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}\n"] }]
166
186
  }] });
167
187
 
168
188
  export { AXMDocumentDriveChooseComponent };
169
- //# sourceMappingURL=acorex-modules-document-management-drive-choose.component-DMAQr0nK.mjs.map
189
+ //# sourceMappingURL=acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-document-management-drive-choose.component-UTy9OISj.mjs","sources":["../../../../libs/modules/document-management/src/lib/features/drive-choose/drive-choose.component.ts","../../../../libs/modules/document-management/src/lib/features/drive-choose/drive-choose.component.html"],"sourcesContent":["import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXMenuModule } from '@acorex/components/menu';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFileModule } from '@acorex/core/file';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPFileTypeProviderService } from '@acorex/platform/common';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n OnInit,\n signal,\n untracked,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentExplorerComponent, AXPDocumentExplorerViewModel } from '../document-explorer';\nimport { AXMDocumentManagerService, AXMFolderPathBreadcrumbsComponent } from '../shared';\nimport { AXMDocumentExplorerBrowseMode, AXMDocumentSelectionMode } from '../shared/document-manager.types';\nimport { AXValueChangedEvent } from '@acorex/cdk/common';\n@Component({\n selector: 'ax-document-drive-choose',\n templateUrl: './drive-choose.component.html',\n styleUrls: ['./drive-choose.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n AXMenuModule,\n AXButtonModule,\n AXButtonGroupModule,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXTranslationModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXBadgeModule,\n AXSearchBoxModule,\n AXFormatModule,\n AXFileModule,\n AXBreadcrumbsModule,\n AXDateTimeModule,\n AXMDocumentExplorerComponent,\n AXMFolderPathBreadcrumbsComponent,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [AXPDocumentExplorerViewModel],\n})\nexport class AXMDocumentDriveChooseComponent extends AXBasePageComponent implements OnInit {\n public scope!: AXPPlatformScope;\n\n protected readonly layout = inject(AXPLayoutThemeService);\n protected readonly rootConfig = RootConfig;\n private readonly fileTypeService = inject(AXPFileTypeProviderService);\n private readonly driveService = inject(AXMDocumentManagerService);\n protected readonly vm = inject(AXPDocumentExplorerViewModel);\n protected readonly sessionService = inject(AXPSessionService);\n\n protected readonly filterItems = signal<Array<{ key: string; textKey: string; icon: string }>>([]);\n public selectedFilter = signal<string>('all');\n\n protected browseMode: AXMDocumentExplorerBrowseMode = 'file';\n protected selectionMode: AXMDocumentSelectionMode = 'single';\n\n protected readonly sortItems = signal([\n { key: 'name', textKey: 'actions.sort-by-name', icon: 'fa-light fa-font' },\n { key: 'modified', textKey: 'actions.sort-by-date', icon: 'fa-light fa-calendar' },\n { key: 'size', textKey: 'actions.sort-by-size', icon: 'fa-light fa-weight-hanging' },\n ]);\n\n protected documentExplorer = viewChild(AXMDocumentExplorerComponent);\n\n protected readonly selectedSort = computed(() => {\n const items = this.sortItems();\n return items.find((item) => item.key === this.vm.sortField()) || items[0];\n });\n\n protected readonly selectText = computed(() => {\n return this.vm.browseMode() == 'file' ? 'actions.select-file' : 'actions.select-folder';\n });\n\n protected searchQuery: string | null = '';\n\n #navigateEffect = effect(() => {\n const navigatingFolderId = this.vm.navigatingFolderId();\n if (navigatingFolderId) {\n this.loadDrive(navigatingFolderId);\n \n // Clear search when navigating to a folder\n setTimeout(() => {\n this.searchQuery = null;\n }, 200);\n }\n });\n\n #loadingEffect = effect(() => {\n const isLoading = this.vm.isLoading();\n untracked(() => {\n this.layout.setNavigationLoading(isLoading);\n });\n });\n\n async handleSearchChange(event: AXValueChangedEvent) {\n\n if(event.value == null) {\n return;\n }\n\n if (event.value?.length > 0) {\n const result = await this.driveService.searchNodes(event.value, this.scope, {\n tenantId: this.sessionService.tenant?.id,\n userId: this.sessionService.user?.id,\n });\n this.vm.virtualFolder(result, {\n name: 'Search Result',\n parentId: this.vm.currentNode()?.id == 'virtual' ?\n this.vm.currentNode()?.parentId ?? undefined : this.vm.currentNode()?.id,\n });\n } else {\n this.vm.navigateToUp();\n }\n }\n\n override async ngOnInit() {\n super.ngOnInit();\n await this.loadFilterItems();\n\n await this.vm.initialize({\n browseMode: this.browseMode,\n scope: this.scope,\n });\n this.loadDrive();\n }\n\n private async loadDrive(folderId?: string) {\n if (folderId) {\n await this.vm.loadFolderContents(folderId);\n } else {\n const root = await this.driveService.getRoot(this.scope, {\n tenantId: this.sessionService.tenant?.id,\n userId: this.sessionService.user?.id,\n });\n if (root.result) {\n await this.vm.loadFolderContents(root.result.id);\n }\n }\n }\n\n async loadFilterItems() {\n const types = await this.fileTypeService.items();\n const items = [\n { key: 'all', textKey: 'file-types.all', icon: 'fa-light fa-folder-closed' },\n ...types.map((type) => ({\n key: type.name,\n textKey: `file-types.${type.name}`,\n icon: type.icon || 'fa-light fa-file',\n })),\n ];\n this.filterItems.set(items);\n }\n\n protected setFilter(key: string): void {\n this.selectedFilter.set(key);\n }\n\n protected getFilterIcon(): string {\n if (this.selectedFilter() === 'all') {\n return 'fa-light fa-folder-closed';\n }\n const item = this.filterItems().find((item) => item.key === this.selectedFilter());\n return item?.icon || 'fa-light fa-file';\n }\n\n protected getFilterText(): string {\n if (this.selectedFilter() === 'all') {\n return 'file-types.all';\n }\n const item = this.filterItems().find((item) => item.key === this.selectedFilter());\n return item?.textKey || 'file-types.all';\n }\n\n protected handleNavigateToFolder(folderId: string) {\n this.vm.navigateToFolder(folderId);\n }\n\n protected async handleSubmitButton() {\n this.close({\n result: true,\n items: this.vm.browseMode() == 'file' ? this.vm.selectedNodes() : [this.vm.currentFolder()],\n });\n }\n\n protected handleCancelClick() {\n this.close({\n result: false,\n });\n }\n}\n","<div class=\"ax-flex ax-p-2 ax-items-center ax-w-full ax-light-surface ax-border-b\" *translate=\"let t\">\n <!-- Breadcrumbs Section -->\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n <!-- Search Box -->\n <ax-search-box [(value)]=\"searchQuery\" (onValueChanged)=\"handleSearchChange($event)\" class=\"ax-w-72 ax-sm\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"><ax-clear-button></ax-clear-button></ax-search-box>\n</div>\n<div class=\"ax-p-2\">\n <axm-document-explorer [browseMode]=\"browseMode\" [selectionMode]=\"selectionMode\" [viewMode]=\"'list'\"\n [showContextMenu]=\"false\">\n </axm-document-explorer>\n</div>\n<ax-footer *translate=\"let t\">\n <ax-suffix>\n <ax-button (onClick)=\"handleCancelClick()\" [text]=\"'cancel' | translate | async\"></ax-button>\n <ax-button look=\"solid\" color=\"primary\" (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(),{scope:rootConfig.config.i18n}) | async\">\n </ax-button>\n </ax-suffix>\n</ax-footer>"],"names":["i4"],"mappings":"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"}