@acorex-platform/module-document-management-client 0.0.28 → 0.0.32

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 (37) hide show
  1. package/fesm2022/{acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs → acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs} +167 -54
  2. package/fesm2022/acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs.map +1 -0
  3. package/fesm2022/{acorex-platform-module-document-management-client-attachment-view-skeleton.component-CEC9HdMa.mjs → acorex-platform-module-document-management-client-attachment-view-skeleton.component-BWlNCsBd.mjs} +2 -2
  4. package/fesm2022/{acorex-platform-module-document-management-client-attachment-view-skeleton.component-CEC9HdMa.mjs.map → acorex-platform-module-document-management-client-attachment-view-skeleton.component-BWlNCsBd.mjs.map} +1 -1
  5. package/fesm2022/{acorex-platform-module-document-management-client-attachment-widget.component-CBpWl_FH.mjs → acorex-platform-module-document-management-client-attachment-widget.component-B6vM6wyL.mjs} +2 -2
  6. package/fesm2022/{acorex-platform-module-document-management-client-attachment-widget.component-CBpWl_FH.mjs.map → acorex-platform-module-document-management-client-attachment-widget.component-B6vM6wyL.mjs.map} +1 -1
  7. package/fesm2022/acorex-platform-module-document-management-client-contracts.mjs +5 -4
  8. package/fesm2022/acorex-platform-module-document-management-client-contracts.mjs.map +1 -1
  9. package/fesm2022/{acorex-platform-module-document-management-client-drive-choose.component-Deduhl99.mjs → acorex-platform-module-document-management-client-drive-choose.component-C5k9lfTZ.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-document-management-client-drive-choose.component-Deduhl99.mjs.map → acorex-platform-module-document-management-client-drive-choose.component-C5k9lfTZ.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-document-management-client-large-icons-view-skeleton.component-wZG913_E.mjs → acorex-platform-module-document-management-client-large-icons-view-skeleton.component-50qY585J.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-document-management-client-large-icons-view-skeleton.component-wZG913_E.mjs.map → acorex-platform-module-document-management-client-large-icons-view-skeleton.component-50qY585J.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-module-document-management-client-large-icons-view.component-Bv5JFRtL.mjs → acorex-platform-module-document-management-client-large-icons-view.component-Ca-TQvpA.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-module-document-management-client-large-icons-view.component-Bv5JFRtL.mjs.map → acorex-platform-module-document-management-client-large-icons-view.component-Ca-TQvpA.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-document-management-client-large-tiles-view.component-DTEIhPcT.mjs → acorex-platform-module-document-management-client-large-tiles-view.component-Cfb1yjRX.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-module-document-management-client-large-tiles-view.component-DTEIhPcT.mjs.map → acorex-platform-module-document-management-client-large-tiles-view.component-Cfb1yjRX.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-module-document-management-client-list-view-skeleton.component-C3-7rgTu.mjs → acorex-platform-module-document-management-client-list-view-skeleton.component-BLSnss8G.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-module-document-management-client-list-view-skeleton.component-C3-7rgTu.mjs.map → acorex-platform-module-document-management-client-list-view-skeleton.component-BLSnss8G.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-module-document-management-client-list-view.component-_r7VP4i8.mjs → acorex-platform-module-document-management-client-list-view.component-Dhb8hXxU.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-module-document-management-client-list-view.component-_r7VP4i8.mjs.map → acorex-platform-module-document-management-client-list-view.component-Dhb8hXxU.mjs.map} +1 -1
  21. package/fesm2022/{acorex-platform-module-document-management-client-open-document.command-BbMZf6zo.mjs → acorex-platform-module-document-management-client-open-document.command-s2r33nBp.mjs} +2 -2
  22. package/fesm2022/{acorex-platform-module-document-management-client-open-document.command-BbMZf6zo.mjs.map → acorex-platform-module-document-management-client-open-document.command-s2r33nBp.mjs.map} +1 -1
  23. package/fesm2022/{acorex-platform-module-document-management-client-small-icons-view-skeleton.component-Dskk_B96.mjs → acorex-platform-module-document-management-client-small-icons-view-skeleton.component-cQZCJ4u4.mjs} +2 -2
  24. package/fesm2022/{acorex-platform-module-document-management-client-small-icons-view-skeleton.component-Dskk_B96.mjs.map → acorex-platform-module-document-management-client-small-icons-view-skeleton.component-cQZCJ4u4.mjs.map} +1 -1
  25. package/fesm2022/{acorex-platform-module-document-management-client-small-icons-view.component-RMDX74O9.mjs → acorex-platform-module-document-management-client-small-icons-view.component-lXNM0X4L.mjs} +2 -2
  26. package/fesm2022/{acorex-platform-module-document-management-client-small-icons-view.component-RMDX74O9.mjs.map → acorex-platform-module-document-management-client-small-icons-view.component-lXNM0X4L.mjs.map} +1 -1
  27. package/fesm2022/{acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-DQW2VZJH.mjs → acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-C6bUuOPN.mjs} +2 -2
  28. package/fesm2022/{acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-DQW2VZJH.mjs.map → acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-C6bUuOPN.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-module-document-management-client-small-tiles-view.component-BT6fRWVH.mjs → acorex-platform-module-document-management-client-small-tiles-view.component-CriaQUl9.mjs} +2 -2
  30. package/fesm2022/{acorex-platform-module-document-management-client-small-tiles-view.component-BT6fRWVH.mjs.map → acorex-platform-module-document-management-client-small-tiles-view.component-CriaQUl9.mjs.map} +1 -1
  31. package/fesm2022/{acorex-platform-module-document-management-client-upload-document.command-CFFOw4gM.mjs → acorex-platform-module-document-management-client-upload-document.command-BvcccSTh.mjs} +2 -2
  32. package/fesm2022/{acorex-platform-module-document-management-client-upload-document.command-CFFOw4gM.mjs.map → acorex-platform-module-document-management-client-upload-document.command-BvcccSTh.mjs.map} +1 -1
  33. package/fesm2022/acorex-platform-module-document-management-client.mjs +1 -1
  34. package/package.json +2 -2
  35. package/types/acorex-platform-module-document-management-client-contracts.d.ts +5 -4
  36. package/types/acorex-platform-module-document-management-client.d.ts +59 -7
  37. package/fesm2022/acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs.map +0 -1
@@ -6,7 +6,7 @@ import * as i1$1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
9
- import { A as AXPDocumentExplorerViewModel } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
9
+ import { A as AXPDocumentExplorerViewModel } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
10
10
 
11
11
  class AXMDocumentExplorerAttachmentViewSkeletonComponent {
12
12
  constructor() {
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
24
24
  }] });
25
25
 
26
26
  export { AXMDocumentExplorerAttachmentViewSkeletonComponent };
27
- //# sourceMappingURL=acorex-platform-module-document-management-client-attachment-view-skeleton.component-CEC9HdMa.mjs.map
27
+ //# sourceMappingURL=acorex-platform-module-document-management-client-attachment-view-skeleton.component-BWlNCsBd.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-attachment-view-skeleton.component-CEC9HdMa.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/attachement-widget/attachment-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/attachement-widget/attachment-view-skeleton.component.html"],"sourcesContent":["import { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer-attachment-view-skeleton',\n templateUrl: './attachment-view-skeleton.component.html',\n styleUrl: './attachment-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerAttachmentViewSkeletonComponent {\n protected readonly vm = inject(AXPDocumentExplorerViewModel);\n\n protected readonly folderPlaceholders = [0, 1, 2];\n protected readonly filePlaceholders = [0, 1];\n protected readonly flatPlaceholders = [0, 1, 2, 3, 4];\n}\n","@if (vm.groupByType()) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of folderPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of filePlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"__content\">\n @for (item of flatPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;;MAaa,kDAAkD,CAAA;AAP/D,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAEzC,IAAA,CAAA,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtD,IAAA;8GANY,kDAAkD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kDAAkD,0GCb/D,+xCAqCA,EAAA,MAAA,EAAA,CAAA,6uCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,kIAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAElD,kDAAkD,EAAA,UAAA,EAAA,CAAA;kBAP9D,SAAS;+BACE,gDAAgD,EAAA,eAAA,EAGzC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,+xCAAA,EAAA,MAAA,EAAA,CAAA,6uCAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-attachment-view-skeleton.component-BWlNCsBd.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/attachement-widget/attachment-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/attachement-widget/attachment-view-skeleton.component.html"],"sourcesContent":["import { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer-attachment-view-skeleton',\n templateUrl: './attachment-view-skeleton.component.html',\n styleUrl: './attachment-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerAttachmentViewSkeletonComponent {\n protected readonly vm = inject(AXPDocumentExplorerViewModel);\n\n protected readonly folderPlaceholders = [0, 1, 2];\n protected readonly filePlaceholders = [0, 1];\n protected readonly flatPlaceholders = [0, 1, 2, 3, 4];\n}\n","@if (vm.groupByType()) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of folderPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of filePlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"__content\">\n @for (item of flatPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;;MAaa,kDAAkD,CAAA;AAP/D,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAEzC,IAAA,CAAA,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtD,IAAA;8GANY,kDAAkD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kDAAkD,0GCb/D,+xCAqCA,EAAA,MAAA,EAAA,CAAA,6uCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,kIAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAElD,kDAAkD,EAAA,UAAA,EAAA,CAAA;kBAP9D,SAAS;+BACE,gDAAgD,EAAA,eAAA,EAGzC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,+xCAAA,EAAA,MAAA,EAAA,CAAA,6uCAAA,CAAA,EAAA;;;;;"}
@@ -8,7 +8,7 @@ import * as i0 from '@angular/core';
8
8
  import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
9
9
  import * as i1 from '@angular/common';
10
10
  import { CommonModule } from '@angular/common';
11
- import { A as AXPDocumentExplorerViewModel, c as AXMDocumentManagerService, a as AXMDocumentExpirationBadgeComponent, b as AXMFolderExpirationBadgesComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
11
+ import { A as AXPDocumentExplorerViewModel, c as AXMDocumentManagerService, a as AXMDocumentExpirationBadgeComponent, b as AXMFolderExpirationBadgesComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
12
12
 
13
13
  class AXMDocumentExplorerAttachmentComponent {
14
14
  constructor() {
@@ -33,4 +33,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
33
33
  }] });
34
34
 
35
35
  export { AXMDocumentExplorerAttachmentComponent };
36
- //# sourceMappingURL=acorex-platform-module-document-management-client-attachment-widget.component-CBpWl_FH.mjs.map
36
+ //# sourceMappingURL=acorex-platform-module-document-management-client-attachment-widget.component-B6vM6wyL.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-attachment-widget.component-CBpWl_FH.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.ts","../../../../libs/modules/document-management/client/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/framework-client/core';\n\nimport { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXMDocumentExpirationBadgeComponent } from '../../../shared/components/document-expiration-badge/document-expiration-badge.component';\nimport { AXMFolderExpirationBadgesComponent } from '../../../shared/components/folder-expiration-badges/folder-expiration-badges.component';\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.css'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXButtonModule,\n AXTranslationModule,\n AXPElementDataDirective,\n AXMDocumentExpirationBadgeComponent,\n AXMFolderExpirationBadgesComponent,\n],\n})\nexport class AXMDocumentExplorerAttachmentComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected readonly driveService = inject(AXMDocumentManagerService);\n}\n","@if (vm.groupByType()) {\n @if (vm.filteredFolders().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-xl\">\n @for (folder of vm.filteredFolders(); 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\" [style.color]=\"vm.getFolderColor(folder)\">\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=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.filteredFiles().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-xl\">\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileInfo = vm.getFileInfo(file.name);\n <div\n [class.--selected]=\"vm.isItemSelected(file)\"\n class=\"__explorer-item 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 }}\"></i>\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ file.name }}</div>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n </div>\n <div class=\"action-bar group-hover:visible 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 </div>\n }\n} @else {\n <div class=\"__content fa-xl\">\n @for (folder of vm.filteredFolders(); 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\" [style.color]=\"vm.getFolderColor(folder)\">\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=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileInfo = vm.getFileInfo(file.name);\n <div\n [class.--selected]=\"vm.isItemSelected(file)\"\n class=\"__explorer-item 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 }}\"></i>\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ file.name }}</div>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n </div>\n <div class=\"action-bar group-hover:visible 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}\n"],"names":["i2"],"mappings":";;;;;;;;;;;;MA8Ba,sCAAsC,CAAA;AAjBnD,IAAA,WAAA,GAAA;AAkBY,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACpE,IAAA;8GAHY,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,QAAA,EAAA,IAAA,EAAA,sCAAsC,mGC9BnD,q4JAkIA,EAAA,MAAA,EAAA,CAAA,giEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9GI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,cAAc,8BACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,mCAAmC,4FACnC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAGzB,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAjBlD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yCAAyC,cAGvC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,cAAc;wBACd,cAAc;wBACd,mBAAmB;wBACnB,uBAAuB;wBACvB,mCAAmC;wBACnC,kCAAkC;AACrC,qBAAA,EAAA,QAAA,EAAA,q4JAAA,EAAA,MAAA,EAAA,CAAA,giEAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-attachment-widget.component-B6vM6wyL.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/attachement-widget/attachment-widget.component.ts","../../../../libs/modules/document-management/client/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/framework-client/core';\n\nimport { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXMDocumentManagerService } from '../../../shared';\nimport { AXMDocumentExpirationBadgeComponent } from '../../../shared/components/document-expiration-badge/document-expiration-badge.component';\nimport { AXMFolderExpirationBadgesComponent } from '../../../shared/components/folder-expiration-badges/folder-expiration-badges.component';\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.css'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n CommonModule,\n AXDecoratorModule,\n AXFormatModule,\n AXButtonModule,\n AXTranslationModule,\n AXPElementDataDirective,\n AXMDocumentExpirationBadgeComponent,\n AXMFolderExpirationBadgesComponent,\n],\n})\nexport class AXMDocumentExplorerAttachmentComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected readonly driveService = inject(AXMDocumentManagerService);\n}\n","@if (vm.groupByType()) {\n @if (vm.filteredFolders().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-xl\">\n @for (folder of vm.filteredFolders(); 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\" [style.color]=\"vm.getFolderColor(folder)\">\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=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.filteredFiles().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-xl\">\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileInfo = vm.getFileInfo(file.name);\n <div\n [class.--selected]=\"vm.isItemSelected(file)\"\n class=\"__explorer-item 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 }}\"></i>\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ file.name }}</div>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n </div>\n <div class=\"action-bar group-hover:visible 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 </div>\n }\n} @else {\n <div class=\"__content fa-xl\">\n @for (folder of vm.filteredFolders(); 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\" [style.color]=\"vm.getFolderColor(folder)\">\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=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileInfo = vm.getFileInfo(file.name);\n <div\n [class.--selected]=\"vm.isItemSelected(file)\"\n class=\"__explorer-item 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 }}\"></i>\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <div class=\"__name\">{{ file.name }}</div>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n </div>\n <div class=\"action-bar group-hover:visible 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}\n"],"names":["i2"],"mappings":";;;;;;;;;;;;MA8Ba,sCAAsC,CAAA;AAjBnD,IAAA,WAAA,GAAA;AAkBY,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACpE,IAAA;8GAHY,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,QAAA,EAAA,IAAA,EAAA,sCAAsC,mGC9BnD,q4JAkIA,EAAA,MAAA,EAAA,CAAA,giEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9GI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,cAAc,8BACd,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,mCAAmC,4FACnC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAGzB,sCAAsC,EAAA,UAAA,EAAA,CAAA;kBAjBlD,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yCAAyC,cAGvC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC;wBACP,YAAY;wBACZ,iBAAiB;wBACjB,cAAc;wBACd,cAAc;wBACd,mBAAmB;wBACnB,uBAAuB;wBACvB,mCAAmC;wBACnC,kCAAkC;AACrC,qBAAA,EAAA,QAAA,EAAA,q4JAAA,EAAA,MAAA,EAAA,CAAA,giEAAA,CAAA,EAAA;;;;;"}
@@ -112,14 +112,15 @@ const RootConfig = {
112
112
  },
113
113
  },
114
114
  /**
115
- * Daily document expiration notifier (BackgroundJobSchedule → NotifyRun).
116
- * Template ids align with AXM_TEXT_TEMPLATE_IDS in content-management contracts.
115
+ * Daily document expiration digest (BackgroundJobSchedule → NotifyRun).
116
+ * One combined email/in-app per recipient per scoped ref (employee / tenant / project),
117
+ * listing every currently expired or near-expiry document in that scope.
118
+ * Template id aligns with AXM_TEXT_TEMPLATE_IDS.documentExpired.
117
119
  */
118
120
  documentExpirationNotify: {
119
121
  providerKey: 'document-management',
120
122
  defaultCron: '0 0 * * *',
121
- expiredTemplateId: 'c7100009-0001-4111-b111-090909090909',
122
- nearExpiryTemplateId: 'c710000a-0001-4111-b111-0a0a0a0a0a0a',
123
+ templateId: 'c7100009-0001-4111-b111-090909090909',
123
124
  tenantRoleNames: ['admin', 'safety-manager'],
124
125
  },
125
126
  };
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-contracts.mjs","sources":["../../../../libs/modules/document-management/contracts/src/features.keys.ts","../../../../libs/modules/document-management/contracts/src/menu.keys.ts","../../../../libs/modules/document-management/contracts/src/permission.keys.ts","../../../../libs/modules/document-management/contracts/src/settings.keys.ts","../../../../libs/modules/document-management/contracts/src/commands.keys.ts","../../../../libs/modules/document-management/contracts/src/root-config.ts","../../../../libs/modules/document-management/contracts/src/runtime.keys.ts","../../../../libs/modules/document-management/contracts/src/document-expiration.ts","../../../../libs/modules/document-management/contracts/src/entities/document/document.types.ts","../../../../libs/modules/document-management/contracts/src/index.ts","../../../../libs/modules/document-management/contracts/src/acorex-platform-module-document-management-client-contracts.ts"],"sourcesContent":["export const AXPDocumentManagementFeatureKeys = {\n MaxSizeStorage: 'DocumentManagement:Feature:max-size-storage',\n} as const;\n","export const AXPDocumentManagementMenuKeys = {\n DocumentTypes: 'document-management:menu:document-types',\n TenantDrive: 'document-management:drive:tenant',\n UserDrive: 'document-management:drive:user',\n} as const;\n\n","/**\n * Content & Documents capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPContentDocumentsPermissionKeys = {\n Access: 'ContentDocuments:Permission:Access',\n MaintainDocuments: 'ContentDocuments:Permission:MaintainDocuments',\n MaintainContent: 'ContentDocuments:Permission:MaintainContent',\n MaintainFormTemplates: 'ContentDocuments:Permission:MaintainFormTemplates',\n Setup: 'ContentDocuments:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPContentDocumentsPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMPermissionsKeys = {\n DocumentManagement: {\n Management: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n DocumentType: {\n Management: AXPContentDocumentsPermissionKeys.Setup,\n View: AXPContentDocumentsPermissionKeys.Setup,\n Edit: AXPContentDocumentsPermissionKeys.Setup,\n Delete: AXPContentDocumentsPermissionKeys.Setup,\n Create: AXPContentDocumentsPermissionKeys.Setup,\n },\n Driver: {\n Management: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n View: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n Edit: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n Delete: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n Create: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n },\n },\n} as const;\n","//#region ---- Setting Keys ----\n\n/**\n * Persisted setting keys for the Document Management module (`AXPSettingsService`).\n */\nexport enum AXPDocumentManagementSettings {\n ViewMode = 'DocumentManagement:Setting:DocumentExplorer.Layout.ViewMode',\n SortField = 'DocumentManagement:Setting:DocumentExplorer.Layout.SortField',\n SortDirection = 'DocumentManagement:Setting:DocumentExplorer.Layout.SortDirection',\n GroupByType = 'DocumentManagement:Setting:DocumentExplorer.Layout.GroupByType',\n DetailPanelOpen = 'DocumentManagement:Setting:DocumentExplorer.Layout.DetailPanelOpen',\n}\n\n//#endregion\n","//#region ---- Document management command keys ----\n\nexport const AXMDocumentManagementCommandKeys = {\n DocumentExpirationNotifyRun: 'DocumentManagement:DocumentExpiration:NotifyRun',\n} as const;\n\nexport const AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY =\n AXMDocumentManagementCommandKeys.DocumentExpirationNotifyRun;\n\n//#endregion\n","const config = {\n i18n: 'document-management',\n module: 'DocumentManagement',\n};\nexport const RootConfig = {\n config,\n module: {\n module: config.module,\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-books',\n },\n entities: {\n folder: {\n name: 'Folder',\n title: `@${config.i18n}:entities.folder.title`,\n titlePlural: `@${config.i18n}:entities.folder.title-plural`,\n icon: 'fa-light fa-folder',\n },\n document: {\n name: 'Document',\n title: `@${config.i18n}:entities.document.title`,\n titlePlural: `@${config.i18n}:entities.document.title-plural`,\n icon: 'fa-light fa-file',\n },\n documentType: {\n name: 'DocumentType',\n title: `@${config.i18n}:entities.document-type.title`,\n titlePlural: `@${config.i18n}:entities.document-type.title-plural`,\n icon: 'fa-light fa-books',\n },\n documentShortcut: {\n name: 'DocumentShortcut',\n title: `@${config.i18n}:entities.document-shortcut.title`,\n titlePlural: `@${config.i18n}:entities.document-shortcut.title-plural`,\n icon: 'fa-light fa-up-right-from-square',\n },\n },\n queries: {\n dashboard: {\n documentsKpi: `${config.module}:Dashboard:DocumentsKpi`,\n },\n reports: {\n getDocumentsByType: `${config.module}:Reports:GetDocumentsByType`,\n getDocumentExpiration: `${config.module}:Reports:GetDocumentExpiration`,\n },\n },\n /**\n * Daily document expiration notifier (BackgroundJobSchedule → NotifyRun).\n * Template ids align with AXM_TEXT_TEMPLATE_IDS in content-management contracts.\n */\n documentExpirationNotify: {\n providerKey: 'document-management',\n defaultCron: '0 0 * * *',\n expiredTemplateId: 'c7100009-0001-4111-b111-090909090909',\n nearExpiryTemplateId: 'c710000a-0001-4111-b111-0a0a0a0a0a0a',\n tenantRoleNames: ['admin', 'safety-manager'] as const,\n },\n} as const;\n","//#region ---- Document management runtime keys ----\n\nexport const AXMDocumentManagementQueryKeys = {\n Drive: {\n GetRoot: 'DocumentManagement:Drive:GetRoot',\n GetContents: 'DocumentManagement:Drive:GetContents',\n GetRootByEntityRef: 'DocumentManagement:Drive:GetRootByEntityRef',\n },\n Document: {\n GetPath: 'DocumentManagement:Document:GetPath',\n Search: 'DocumentManagement:Document:Search',\n FindMany: 'DocumentManagement:Document:FindMany',\n GetExpiredCount: 'DocumentManagement:Document:GetExpiredCount',\n },\n Folder: {\n GetPath: 'DocumentManagement:Folder:GetPath',\n Search: 'DocumentManagement:Folder:Search',\n },\n DocumentType: {\n GetByName: 'DocumentManagement:DocumentType:GetByName',\n },\n Metadata: {\n GetUniqueDefinitions: 'DocumentManagement:Metadata:GetUniqueDefinitions',\n },\n} as const;\n\n//#endregion\n","//#region ----- Types -----\n\nexport type AXMDocumentExpirationStatus = 'expired' | 'near';\n\n//#endregion\n\n//#region ----- Constants -----\n\n/**\n * Near-expiry window (days) shared by document badge UI and expiration reports.\n * Documents that expire within this many days (and are not yet past) are \"near\".\n */\nexport const AXM_DOCUMENT_EXPIRATION_NEAR_DAYS = 7;\n\n//#endregion\n\n//#region ----- Date helpers -----\n\nexport function toDocumentExpirationDate(value: unknown): Date | undefined {\n if (value == null) {\n return undefined;\n }\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? undefined : value;\n }\n if (typeof value === 'string') {\n const trimmed = value.trim();\n // Date-only (YYYY-MM-DD) → local calendar day (matches date-time-editor)\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(trimmed)) {\n const [y, m, d] = trimmed.split('-').map(Number);\n return new Date(y, m - 1, d);\n }\n const parsed = new Date(trimmed);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n if (typeof value === 'number') {\n const d = new Date(value);\n return Number.isNaN(d.getTime()) ? undefined : d;\n }\n return undefined;\n}\n\nfunction startOfLocalDay(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n\n/**\n * Canonical persisted value for `Document.expirationDate`.\n * Matches `date-time-editor`: ISO string at start of local day.\n * Seed mocks and API writes must both use this shape (never BSON `Date`).\n */\nexport function toDocumentExpirationStorageValue(value: unknown): string | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n if (value === null || value === '') {\n return null;\n }\n\n const date = toDocumentExpirationDate(value);\n if (!date) {\n return null;\n }\n\n return startOfLocalDay(date).toISOString();\n}\n\n/**\n * Local-day bounds used to query expired vs near-expiry documents.\n * - expired: expirationDate < startOfToday\n * - near: startOfToday <= expirationDate <= nearEndInclusive\n */\nexport function getDocumentExpirationQueryBounds(\n options?: { nearDays?: number; now?: Date },\n): { startOfToday: Date; nearEndInclusive: Date } {\n const now = options?.now ?? new Date();\n const nearDays = options?.nearDays ?? AXM_DOCUMENT_EXPIRATION_NEAR_DAYS;\n const startOfToday = startOfLocalDay(now);\n const nearEndInclusive = new Date(startOfToday);\n nearEndInclusive.setDate(nearEndInclusive.getDate() + nearDays);\n return { startOfToday, nearEndInclusive };\n}\n\n/**\n * Same bounds as {@link getDocumentExpirationQueryBounds}, serialized as ISO strings.\n *\n * Entity storage often persists `expirationDate` as an ISO string. Passing a `Date`\n * into Mongo `$lt` / `$gte` compares different BSON types and under-counts matches.\n * HTTP entity queries stringify dates automatically; in-process drive/middleware\n * queries must use these string bounds explicitly.\n */\nexport function getDocumentExpirationQueryBoundValues(\n options?: { nearDays?: number; now?: Date },\n): { startOfToday: string; nearEndInclusive: string } {\n const { startOfToday, nearEndInclusive } = getDocumentExpirationQueryBounds(options);\n return {\n startOfToday: startOfToday.toISOString(),\n nearEndInclusive: nearEndInclusive.toISOString(),\n };\n}\n\n/**\n * Calendar day key (YYYY-MM-DD) for `date` in an IANA timezone.\n */\nexport function getDocumentExpirationDateKey(date: Date, timeZone = 'UTC'): string {\n const formatter = new Intl.DateTimeFormat('en-CA', {\n timeZone: timeZone || 'UTC',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n });\n const parts = formatter.formatToParts(date);\n const year = Number(parts.find((part) => part.type === 'year')?.value ?? '0');\n const month = Number(parts.find((part) => part.type === 'month')?.value ?? '0');\n const day = Number(parts.find((part) => part.type === 'day')?.value ?? '0');\n return `${year.toString().padStart(4, '0')}-${month.toString().padStart(2, '0')}-${day\n .toString()\n .padStart(2, '0')}`;\n}\n\n/** Add whole calendar days to a YYYY-MM-DD key (UTC noon arithmetic). */\nexport function addDaysToDocumentExpirationDateKey(dateKey: string, days: number): string {\n const [y, m, d] = dateKey.split('-').map((part) => Number(part));\n const date = new Date(Date.UTC(y, (m ?? 1) - 1, d ?? 1, 12, 0, 0));\n date.setUTCDate(date.getUTCDate() + days);\n return getDocumentExpirationDateKey(date, 'UTC');\n}\n\n/** Inclusive UTC day window for a YYYY-MM-DD key (for expirationDate range queries). */\nexport function getUtcDayBoundsForDateKey(dateKey: string): { start: Date; endExclusive: Date } {\n const [y, m, d] = dateKey.split('-').map((part) => Number(part));\n const start = new Date(Date.UTC(y, (m ?? 1) - 1, d ?? 1, 0, 0, 0, 0));\n const endExclusive = new Date(start);\n endExclusive.setUTCDate(endExclusive.getUTCDate() + 1);\n return { start, endExclusive };\n}\n\n/**\n * Whole days from `from` to `to` (start-of-local-day). Negative means `to` is in the past.\n */\nexport function getDocumentExpirationRemainingDays(expirationDate: Date, now: Date = new Date()): number {\n const msPerDay = 24 * 60 * 60 * 1000;\n return Math.round(\n (startOfLocalDay(expirationDate).getTime() - startOfLocalDay(now).getTime()) / msPerDay,\n );\n}\n\n/**\n * Classify a document expire date as expired / near / neither.\n * Uses only `Document.expirationDate` (platform field).\n */\nexport function classifyDocumentExpirationStatus(\n expirationDate: unknown,\n options?: { nearDays?: number; now?: Date },\n): AXMDocumentExpirationStatus | null {\n const date = toDocumentExpirationDate(expirationDate);\n if (!date) {\n return null;\n }\n\n const now = options?.now ?? new Date();\n const nearDays = options?.nearDays ?? AXM_DOCUMENT_EXPIRATION_NEAR_DAYS;\n const remainingDays = getDocumentExpirationRemainingDays(date, now);\n\n if (remainingDays < 0) {\n return 'expired';\n }\n if (remainingDays <= nearDays) {\n return 'near';\n }\n return null;\n}\n\n//#endregion\n","import { AXPFileListItem, AXPMetaData, AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n/** Document lifecycle status (EDMS-style review workflow). */\nexport type AXMDocumentManagementDocumentStatus =\n | 'draft'\n | 'in-review'\n | 'approved'\n | 'rejected'\n | 'revision-requested';\n\n/** Status value constants for use in code. */\nexport const AXMDocumentManagementDocumentStatusValues = {\n Draft: 'draft' as const,\n InReview: 'in-review' as const,\n Approved: 'approved' as const,\n Rejected: 'rejected' as const,\n RevisionRequested: 'revision-requested' as const,\n} satisfies Record<string, AXMDocumentManagementDocumentStatus>;\n\nexport interface AXMDocumentDto extends AXPEntityModel<string> {\n name: string;\n title: string;\n documentType: AXMDocumentDocDto;\n parentId: string;\n fileInfo: AXPFileListItem;\n description?: string;\n /** ISO string at start of local day (same as date-time-editor); `Date` accepted on write then normalized. */\n expirationDate?: Date | string;\n statusId?: AXMDocumentManagementDocumentStatus;\n status?: { id: AXMDocumentManagementDocumentStatus; title?: string };\n version?: number;\n metaDataForm?: AXPMetaData;\n /**\n * Optional host-entity binding (same semantics as Folder.refType / Folder.refId).\n * Stamped from the nearest ancestor folder that has a record reference.\n */\n refType?: string;\n refId?: string;\n}\n\nexport interface AXMDocumentDocDto {\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n}\n","//#region ---- Contracts barrel ----\n\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './settings.keys';\nexport * from './commands.keys';\n\nexport * from './root-config';\nexport * from './runtime.keys';\nexport * from './document-expiration';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-contracts.mjs","sources":["../../../../libs/modules/document-management/contracts/src/features.keys.ts","../../../../libs/modules/document-management/contracts/src/menu.keys.ts","../../../../libs/modules/document-management/contracts/src/permission.keys.ts","../../../../libs/modules/document-management/contracts/src/settings.keys.ts","../../../../libs/modules/document-management/contracts/src/commands.keys.ts","../../../../libs/modules/document-management/contracts/src/root-config.ts","../../../../libs/modules/document-management/contracts/src/runtime.keys.ts","../../../../libs/modules/document-management/contracts/src/document-expiration.ts","../../../../libs/modules/document-management/contracts/src/entities/document/document.types.ts","../../../../libs/modules/document-management/contracts/src/index.ts","../../../../libs/modules/document-management/contracts/src/acorex-platform-module-document-management-client-contracts.ts"],"sourcesContent":["export const AXPDocumentManagementFeatureKeys = {\n MaxSizeStorage: 'DocumentManagement:Feature:max-size-storage',\n} as const;\n","export const AXPDocumentManagementMenuKeys = {\n DocumentTypes: 'document-management:menu:document-types',\n TenantDrive: 'document-management:drive:tenant',\n UserDrive: 'document-management:drive:user',\n} as const;\n\n","/**\n * Content & Documents capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPContentDocumentsPermissionKeys = {\n Access: 'ContentDocuments:Permission:Access',\n MaintainDocuments: 'ContentDocuments:Permission:MaintainDocuments',\n MaintainContent: 'ContentDocuments:Permission:MaintainContent',\n MaintainFormTemplates: 'ContentDocuments:Permission:MaintainFormTemplates',\n Setup: 'ContentDocuments:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPContentDocumentsPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMPermissionsKeys = {\n DocumentManagement: {\n Management: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n DocumentType: {\n Management: AXPContentDocumentsPermissionKeys.Setup,\n View: AXPContentDocumentsPermissionKeys.Setup,\n Edit: AXPContentDocumentsPermissionKeys.Setup,\n Delete: AXPContentDocumentsPermissionKeys.Setup,\n Create: AXPContentDocumentsPermissionKeys.Setup,\n },\n Driver: {\n Management: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n View: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n Edit: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n Delete: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n Create: AXPContentDocumentsPermissionKeys.MaintainDocuments,\n },\n },\n} as const;\n","//#region ---- Setting Keys ----\n\n/**\n * Persisted setting keys for the Document Management module (`AXPSettingsService`).\n */\nexport enum AXPDocumentManagementSettings {\n ViewMode = 'DocumentManagement:Setting:DocumentExplorer.Layout.ViewMode',\n SortField = 'DocumentManagement:Setting:DocumentExplorer.Layout.SortField',\n SortDirection = 'DocumentManagement:Setting:DocumentExplorer.Layout.SortDirection',\n GroupByType = 'DocumentManagement:Setting:DocumentExplorer.Layout.GroupByType',\n DetailPanelOpen = 'DocumentManagement:Setting:DocumentExplorer.Layout.DetailPanelOpen',\n}\n\n//#endregion\n","//#region ---- Document management command keys ----\n\nexport const AXMDocumentManagementCommandKeys = {\n DocumentExpirationNotifyRun: 'DocumentManagement:DocumentExpiration:NotifyRun',\n} as const;\n\nexport const AXM_DOCUMENT_EXPIRATION_NOTIFY_RUN_COMMAND_KEY =\n AXMDocumentManagementCommandKeys.DocumentExpirationNotifyRun;\n\n//#endregion\n","const config = {\n i18n: 'document-management',\n module: 'DocumentManagement',\n};\nexport const RootConfig = {\n config,\n module: {\n module: config.module,\n name: config.module,\n title: `@${config.i18n}:module.title`,\n icon: 'fa-light fa-books',\n },\n entities: {\n folder: {\n name: 'Folder',\n title: `@${config.i18n}:entities.folder.title`,\n titlePlural: `@${config.i18n}:entities.folder.title-plural`,\n icon: 'fa-light fa-folder',\n },\n document: {\n name: 'Document',\n title: `@${config.i18n}:entities.document.title`,\n titlePlural: `@${config.i18n}:entities.document.title-plural`,\n icon: 'fa-light fa-file',\n },\n documentType: {\n name: 'DocumentType',\n title: `@${config.i18n}:entities.document-type.title`,\n titlePlural: `@${config.i18n}:entities.document-type.title-plural`,\n icon: 'fa-light fa-books',\n },\n documentShortcut: {\n name: 'DocumentShortcut',\n title: `@${config.i18n}:entities.document-shortcut.title`,\n titlePlural: `@${config.i18n}:entities.document-shortcut.title-plural`,\n icon: 'fa-light fa-up-right-from-square',\n },\n },\n queries: {\n dashboard: {\n documentsKpi: `${config.module}:Dashboard:DocumentsKpi`,\n },\n reports: {\n getDocumentsByType: `${config.module}:Reports:GetDocumentsByType`,\n getDocumentExpiration: `${config.module}:Reports:GetDocumentExpiration`,\n },\n },\n /**\n * Daily document expiration digest (BackgroundJobSchedule → NotifyRun).\n * One combined email/in-app per recipient per scoped ref (employee / tenant / project),\n * listing every currently expired or near-expiry document in that scope.\n * Template id aligns with AXM_TEXT_TEMPLATE_IDS.documentExpired.\n */\n documentExpirationNotify: {\n providerKey: 'document-management',\n defaultCron: '0 0 * * *',\n templateId: 'c7100009-0001-4111-b111-090909090909',\n tenantRoleNames: ['admin', 'safety-manager'] as const,\n },\n} as const;\n","//#region ---- Document management runtime keys ----\n\nexport const AXMDocumentManagementQueryKeys = {\n Drive: {\n GetRoot: 'DocumentManagement:Drive:GetRoot',\n GetContents: 'DocumentManagement:Drive:GetContents',\n GetRootByEntityRef: 'DocumentManagement:Drive:GetRootByEntityRef',\n },\n Document: {\n GetPath: 'DocumentManagement:Document:GetPath',\n Search: 'DocumentManagement:Document:Search',\n FindMany: 'DocumentManagement:Document:FindMany',\n GetExpiredCount: 'DocumentManagement:Document:GetExpiredCount',\n },\n Folder: {\n GetPath: 'DocumentManagement:Folder:GetPath',\n Search: 'DocumentManagement:Folder:Search',\n },\n DocumentType: {\n GetByName: 'DocumentManagement:DocumentType:GetByName',\n },\n Metadata: {\n GetUniqueDefinitions: 'DocumentManagement:Metadata:GetUniqueDefinitions',\n },\n} as const;\n\n//#endregion\n","//#region ----- Types -----\n\nexport type AXMDocumentExpirationStatus = 'expired' | 'near';\n\n//#endregion\n\n//#region ----- Constants -----\n\n/**\n * Near-expiry window (days) shared by document badge UI and expiration reports.\n * Documents that expire within this many days (and are not yet past) are \"near\".\n */\nexport const AXM_DOCUMENT_EXPIRATION_NEAR_DAYS = 7;\n\n//#endregion\n\n//#region ----- Date helpers -----\n\nexport function toDocumentExpirationDate(value: unknown): Date | undefined {\n if (value == null) {\n return undefined;\n }\n if (value instanceof Date) {\n return Number.isNaN(value.getTime()) ? undefined : value;\n }\n if (typeof value === 'string') {\n const trimmed = value.trim();\n // Date-only (YYYY-MM-DD) → local calendar day (matches date-time-editor)\n if (/^\\d{4}-\\d{2}-\\d{2}$/.test(trimmed)) {\n const [y, m, d] = trimmed.split('-').map(Number);\n return new Date(y, m - 1, d);\n }\n const parsed = new Date(trimmed);\n return Number.isNaN(parsed.getTime()) ? undefined : parsed;\n }\n if (typeof value === 'number') {\n const d = new Date(value);\n return Number.isNaN(d.getTime()) ? undefined : d;\n }\n return undefined;\n}\n\nfunction startOfLocalDay(date: Date): Date {\n return new Date(date.getFullYear(), date.getMonth(), date.getDate());\n}\n\n/**\n * Canonical persisted value for `Document.expirationDate`.\n * Matches `date-time-editor`: ISO string at start of local day.\n * Seed mocks and API writes must both use this shape (never BSON `Date`).\n */\nexport function toDocumentExpirationStorageValue(value: unknown): string | null | undefined {\n if (value === undefined) {\n return undefined;\n }\n if (value === null || value === '') {\n return null;\n }\n\n const date = toDocumentExpirationDate(value);\n if (!date) {\n return null;\n }\n\n return startOfLocalDay(date).toISOString();\n}\n\n/**\n * Local-day bounds used to query expired vs near-expiry documents.\n * - expired: expirationDate < startOfToday\n * - near: startOfToday <= expirationDate <= nearEndInclusive\n */\nexport function getDocumentExpirationQueryBounds(\n options?: { nearDays?: number; now?: Date },\n): { startOfToday: Date; nearEndInclusive: Date } {\n const now = options?.now ?? new Date();\n const nearDays = options?.nearDays ?? AXM_DOCUMENT_EXPIRATION_NEAR_DAYS;\n const startOfToday = startOfLocalDay(now);\n const nearEndInclusive = new Date(startOfToday);\n nearEndInclusive.setDate(nearEndInclusive.getDate() + nearDays);\n return { startOfToday, nearEndInclusive };\n}\n\n/**\n * Same bounds as {@link getDocumentExpirationQueryBounds}, serialized as ISO strings.\n *\n * Entity storage often persists `expirationDate` as an ISO string. Passing a `Date`\n * into Mongo `$lt` / `$gte` compares different BSON types and under-counts matches.\n * HTTP entity queries stringify dates automatically; in-process drive/middleware\n * queries must use these string bounds explicitly.\n */\nexport function getDocumentExpirationQueryBoundValues(\n options?: { nearDays?: number; now?: Date },\n): { startOfToday: string; nearEndInclusive: string } {\n const { startOfToday, nearEndInclusive } = getDocumentExpirationQueryBounds(options);\n return {\n startOfToday: startOfToday.toISOString(),\n nearEndInclusive: nearEndInclusive.toISOString(),\n };\n}\n\n/**\n * Calendar day key (YYYY-MM-DD) for `date` in an IANA timezone.\n */\nexport function getDocumentExpirationDateKey(date: Date, timeZone = 'UTC'): string {\n const formatter = new Intl.DateTimeFormat('en-CA', {\n timeZone: timeZone || 'UTC',\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n });\n const parts = formatter.formatToParts(date);\n const year = Number(parts.find((part) => part.type === 'year')?.value ?? '0');\n const month = Number(parts.find((part) => part.type === 'month')?.value ?? '0');\n const day = Number(parts.find((part) => part.type === 'day')?.value ?? '0');\n return `${year.toString().padStart(4, '0')}-${month.toString().padStart(2, '0')}-${day\n .toString()\n .padStart(2, '0')}`;\n}\n\n/** Add whole calendar days to a YYYY-MM-DD key (UTC noon arithmetic). */\nexport function addDaysToDocumentExpirationDateKey(dateKey: string, days: number): string {\n const [y, m, d] = dateKey.split('-').map((part) => Number(part));\n const date = new Date(Date.UTC(y, (m ?? 1) - 1, d ?? 1, 12, 0, 0));\n date.setUTCDate(date.getUTCDate() + days);\n return getDocumentExpirationDateKey(date, 'UTC');\n}\n\n/** Inclusive UTC day window for a YYYY-MM-DD key (for expirationDate range queries). */\nexport function getUtcDayBoundsForDateKey(dateKey: string): { start: Date; endExclusive: Date } {\n const [y, m, d] = dateKey.split('-').map((part) => Number(part));\n const start = new Date(Date.UTC(y, (m ?? 1) - 1, d ?? 1, 0, 0, 0, 0));\n const endExclusive = new Date(start);\n endExclusive.setUTCDate(endExclusive.getUTCDate() + 1);\n return { start, endExclusive };\n}\n\n/**\n * Whole days from `from` to `to` (start-of-local-day). Negative means `to` is in the past.\n */\nexport function getDocumentExpirationRemainingDays(expirationDate: Date, now: Date = new Date()): number {\n const msPerDay = 24 * 60 * 60 * 1000;\n return Math.round(\n (startOfLocalDay(expirationDate).getTime() - startOfLocalDay(now).getTime()) / msPerDay,\n );\n}\n\n/**\n * Classify a document expire date as expired / near / neither.\n * Uses only `Document.expirationDate` (platform field).\n */\nexport function classifyDocumentExpirationStatus(\n expirationDate: unknown,\n options?: { nearDays?: number; now?: Date },\n): AXMDocumentExpirationStatus | null {\n const date = toDocumentExpirationDate(expirationDate);\n if (!date) {\n return null;\n }\n\n const now = options?.now ?? new Date();\n const nearDays = options?.nearDays ?? AXM_DOCUMENT_EXPIRATION_NEAR_DAYS;\n const remainingDays = getDocumentExpirationRemainingDays(date, now);\n\n if (remainingDays < 0) {\n return 'expired';\n }\n if (remainingDays <= nearDays) {\n return 'near';\n }\n return null;\n}\n\n//#endregion\n","import { AXPFileListItem, AXPMetaData, AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n/** Document lifecycle status (EDMS-style review workflow). */\nexport type AXMDocumentManagementDocumentStatus =\n | 'draft'\n | 'in-review'\n | 'approved'\n | 'rejected'\n | 'revision-requested';\n\n/** Status value constants for use in code. */\nexport const AXMDocumentManagementDocumentStatusValues = {\n Draft: 'draft' as const,\n InReview: 'in-review' as const,\n Approved: 'approved' as const,\n Rejected: 'rejected' as const,\n RevisionRequested: 'revision-requested' as const,\n} satisfies Record<string, AXMDocumentManagementDocumentStatus>;\n\nexport interface AXMDocumentDto extends AXPEntityModel<string> {\n name: string;\n title: string;\n documentType: AXMDocumentDocDto;\n parentId: string;\n fileInfo: AXPFileListItem;\n description?: string;\n /** ISO string at start of local day (same as date-time-editor); `Date` accepted on write then normalized. */\n expirationDate?: Date | string;\n statusId?: AXMDocumentManagementDocumentStatus;\n status?: { id: AXMDocumentManagementDocumentStatus; title?: string };\n version?: number;\n metaDataForm?: AXPMetaData;\n /**\n * Optional host-entity binding (same semantics as Folder.refType / Folder.refId).\n * Stamped from the nearest ancestor folder that has a record reference.\n */\n refType?: string;\n refId?: string;\n}\n\nexport interface AXMDocumentDocDto {\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n}\n","//#region ---- Contracts barrel ----\n\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './settings.keys';\nexport * from './commands.keys';\n\nexport * from './root-config';\nexport * from './runtime.keys';\nexport * from './document-expiration';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAO,MAAM,gCAAgC,GAAG;AAC9C,IAAA,cAAc,EAAE,6CAA6C;;;ACDxD,MAAM,6BAA6B,GAAG;AACzC,IAAA,aAAa,EAAE,yCAAyC;AACxD,IAAA,WAAW,EAAE,kCAAkC;AAC/C,IAAA,SAAS,EAAE,gCAAgC;;;ACH/C;;;AAGG;AACI,MAAM,iCAAiC,GAAG;AAC/C,IAAA,MAAM,EAAE,oCAAoC;AAC5C,IAAA,iBAAiB,EAAE,+CAA+C;AAClE,IAAA,eAAe,EAAE,6CAA6C;AAC9D,IAAA,qBAAqB,EAAE,mDAAmD;AAC1E,IAAA,KAAK,EAAE,mCAAmC;;AAG5C;;;AAGG;AACI,MAAM,kBAAkB,GAAG;AAChC,IAAA,kBAAkB,EAAE;QAClB,UAAU,EAAE,iCAAiC,CAAC,iBAAiB;AAC/D,QAAA,YAAY,EAAE;YACZ,UAAU,EAAE,iCAAiC,CAAC,KAAK;YACnD,IAAI,EAAE,iCAAiC,CAAC,KAAK;YAC7C,IAAI,EAAE,iCAAiC,CAAC,KAAK;YAC7C,MAAM,EAAE,iCAAiC,CAAC,KAAK;YAC/C,MAAM,EAAE,iCAAiC,CAAC,KAAK;AAChD,SAAA;AACD,QAAA,MAAM,EAAE;YACN,UAAU,EAAE,iCAAiC,CAAC,iBAAiB;YAC/D,IAAI,EAAE,iCAAiC,CAAC,iBAAiB;YACzD,IAAI,EAAE,iCAAiC,CAAC,iBAAiB;YACzD,MAAM,EAAE,iCAAiC,CAAC,iBAAiB;YAC3D,MAAM,EAAE,iCAAiC,CAAC,iBAAiB;AAC5D,SAAA;AACF,KAAA;;;ACjCH;AAEA;;AAEG;IACS;AAAZ,CAAA,UAAY,6BAA6B,EAAA;AACvC,IAAA,6BAAA,CAAA,UAAA,CAAA,GAAA,6DAAwE;AACxE,IAAA,6BAAA,CAAA,WAAA,CAAA,GAAA,8DAA0E;AAC1E,IAAA,6BAAA,CAAA,eAAA,CAAA,GAAA,kEAAkF;AAClF,IAAA,6BAAA,CAAA,aAAA,CAAA,GAAA,gEAA8E;AAC9E,IAAA,6BAAA,CAAA,iBAAA,CAAA,GAAA,oEAAsF;AACxF,CAAC,EANW,6BAA6B,KAA7B,6BAA6B,GAAA,EAAA,CAAA,CAAA;AAQzC;;ACbA;AAEO,MAAM,gCAAgC,GAAG;AAC9C,IAAA,2BAA2B,EAAE,iDAAiD;;AAGzE,MAAM,8CAA8C,GACzD,gCAAgC,CAAC;AAEnC;;ACTA,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,MAAM,EAAE,oBAAoB;CAC7B;AACM,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,MAAM;AACnB,QAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,aAAA,CAAe;AACrC,QAAA,IAAI,EAAE,mBAAmB;AAC1B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,sBAAA,CAAwB;AAC9C,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,6BAAA,CAA+B;AAC3D,YAAA,IAAI,EAAE,oBAAoB;AAC3B,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,wBAAA,CAA0B;AAChD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,+BAAA,CAAiC;AAC7D,YAAA,IAAI,EAAE,kBAAkB;AACzB,SAAA;AACD,QAAA,YAAY,EAAE;AACZ,YAAA,IAAI,EAAE,cAAc;AACpB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,6BAAA,CAA+B;AACrD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,oCAAA,CAAsC;AAClE,YAAA,IAAI,EAAE,mBAAmB;AAC1B,SAAA;AACD,QAAA,gBAAgB,EAAE;AAChB,YAAA,IAAI,EAAE,kBAAkB;AACxB,YAAA,KAAK,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,iCAAA,CAAmC;AACzD,YAAA,WAAW,EAAE,CAAA,CAAA,EAAI,MAAM,CAAC,IAAI,CAAA,wCAAA,CAA0C;AACtE,YAAA,IAAI,EAAE,kCAAkC;AACzC,SAAA;AACF,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE;AACT,YAAA,YAAY,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,uBAAA,CAAyB;AACxD,SAAA;AACD,QAAA,OAAO,EAAE;AACP,YAAA,kBAAkB,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,2BAAA,CAA6B;AACjE,YAAA,qBAAqB,EAAE,CAAA,EAAG,MAAM,CAAC,MAAM,CAAA,8BAAA,CAAgC;AACxE,SAAA;AACF,KAAA;AACD;;;;;AAKG;AACH,IAAA,wBAAwB,EAAE;AACxB,QAAA,WAAW,EAAE,qBAAqB;AAClC,QAAA,WAAW,EAAE,WAAW;AACxB,QAAA,UAAU,EAAE,sCAAsC;AAClD,QAAA,eAAe,EAAE,CAAC,OAAO,EAAE,gBAAgB,CAAU;AACtD,KAAA;;;AC1DH;AAEO,MAAM,8BAA8B,GAAG;AAC5C,IAAA,KAAK,EAAE;AACL,QAAA,OAAO,EAAE,kCAAkC;AAC3C,QAAA,WAAW,EAAE,sCAAsC;AACnD,QAAA,kBAAkB,EAAE,6CAA6C;AAClE,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,qCAAqC;AAC9C,QAAA,MAAM,EAAE,oCAAoC;AAC5C,QAAA,QAAQ,EAAE,sCAAsC;AAChD,QAAA,eAAe,EAAE,6CAA6C;AAC/D,KAAA;AACD,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE,mCAAmC;AAC5C,QAAA,MAAM,EAAE,kCAAkC;AAC3C,KAAA;AACD,IAAA,YAAY,EAAE;AACZ,QAAA,SAAS,EAAE,2CAA2C;AACvD,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,oBAAoB,EAAE,kDAAkD;AACzE,KAAA;;AAGH;;AC1BA;AAIA;AAEA;AAEA;;;AAGG;AACI,MAAM,iCAAiC,GAAG;AAEjD;AAEA;AAEM,SAAU,wBAAwB,CAAC,KAAc,EAAA;AACrD,IAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,KAAK,YAAY,IAAI,EAAE;AACzB,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,KAAK;IAC1D;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;;AAE5B,QAAA,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;AACvC,YAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAChD,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B;AACA,QAAA,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;AAChC,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,MAAM;IAC5D;AACA,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AACzB,QAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,CAAC;IAClD;AACA,IAAA,OAAO,SAAS;AAClB;AAEA,SAAS,eAAe,CAAC,IAAU,EAAA;AACjC,IAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AACtE;AAEA;;;;AAIG;AACG,SAAU,gCAAgC,CAAC,KAAc,EAAA;AAC7D,IAAA,IAAI,KAAK,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,SAAS;IAClB;IACA,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;AAClC,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC;IAC5C,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,IAAI;IACb;AAEA,IAAA,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;AAC5C;AAEA;;;;AAIG;AACG,SAAU,gCAAgC,CAC9C,OAA2C,EAAA;IAE3C,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;AACtC,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,iCAAiC;AACvE,IAAA,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC;AACzC,IAAA,MAAM,gBAAgB,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC;IAC/C,gBAAgB,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC;AAC/D,IAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE;AAC3C;AAEA;;;;;;;AAOG;AACG,SAAU,qCAAqC,CACnD,OAA2C,EAAA;IAE3C,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,gCAAgC,CAAC,OAAO,CAAC;IACpF,OAAO;AACL,QAAA,YAAY,EAAE,YAAY,CAAC,WAAW,EAAE;AACxC,QAAA,gBAAgB,EAAE,gBAAgB,CAAC,WAAW,EAAE;KACjD;AACH;AAEA;;AAEG;SACa,4BAA4B,CAAC,IAAU,EAAE,QAAQ,GAAG,KAAK,EAAA;IACvE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QACjD,QAAQ,EAAE,QAAQ,IAAI,KAAK;AAC3B,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,SAAS;AAChB,QAAA,GAAG,EAAE,SAAS;AACf,KAAA,CAAC;IACF,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;IAC/E,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC;IAC3E,OAAO,CAAA,EAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA,CAAA,EAAI;AAChF,SAAA,QAAQ;AACR,SAAA,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;AACvB;AAEA;AACM,SAAU,kCAAkC,CAAC,OAAe,EAAE,IAAY,EAAA;IAC9E,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAChE,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC;AACzC,IAAA,OAAO,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC;AAClD;AAEA;AACM,SAAU,yBAAyB,CAAC,OAAe,EAAA;IACvD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC;AAChE,IAAA,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACrE,IAAA,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;IACpC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AACtD,IAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE;AAChC;AAEA;;AAEG;AACG,SAAU,kCAAkC,CAAC,cAAoB,EAAE,GAAA,GAAY,IAAI,IAAI,EAAE,EAAA;IAC7F,MAAM,QAAQ,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IACpC,OAAO,IAAI,CAAC,KAAK,CACf,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,QAAQ,CACxF;AACH;AAEA;;;AAGG;AACG,SAAU,gCAAgC,CAC9C,cAAuB,EACvB,OAA2C,EAAA;AAE3C,IAAA,MAAM,IAAI,GAAG,wBAAwB,CAAC,cAAc,CAAC;IACrD,IAAI,CAAC,IAAI,EAAE;AACT,QAAA,OAAO,IAAI;IACb;IAEA,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE;AACtC,IAAA,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,iCAAiC;IACvE,MAAM,aAAa,GAAG,kCAAkC,CAAC,IAAI,EAAE,GAAG,CAAC;AAEnE,IAAA,IAAI,aAAa,GAAG,CAAC,EAAE;AACrB,QAAA,OAAO,SAAS;IAClB;AACA,IAAA,IAAI,aAAa,IAAI,QAAQ,EAAE;AAC7B,QAAA,OAAO,MAAM;IACf;AACA,IAAA,OAAO,IAAI;AACb;AAEA;;ACnKA;AACO,MAAM,yCAAyC,GAAG;AACvD,IAAA,KAAK,EAAE,OAAgB;AACvB,IAAA,QAAQ,EAAE,WAAoB;AAC9B,IAAA,QAAQ,EAAE,UAAmB;AAC7B,IAAA,QAAQ,EAAE,UAAmB;AAC7B,IAAA,iBAAiB,EAAE,oBAA6B;;;AChBlD;;ACAA;;AAEG;;;;"}
@@ -27,7 +27,7 @@ import * as i0 from '@angular/core';
27
27
  import { inject, signal, viewChild, computed, effect, untracked, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
28
28
  import { RouterModule } from '@angular/router';
29
29
  import { RootConfig } from '@acorex-platform/module-document-management-client/contracts';
30
- import { c as AXMDocumentManagerService, A as AXPDocumentExplorerViewModel, f as AXMDocumentExplorerComponent, g as AXMFolderPathBreadcrumbsComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
30
+ import { c as AXMDocumentManagerService, A as AXPDocumentExplorerViewModel, f as AXMDocumentExplorerComponent, g as AXMFolderPathBreadcrumbsComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
31
31
 
32
32
  class AXMDocumentDriveChooseComponent extends AXBasePageComponent {
33
33
  constructor() {
@@ -247,4 +247,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
247
247
  }], propDecorators: { documentExplorer: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AXMDocumentExplorerComponent), { isSignal: true }] }] } });
248
248
 
249
249
  export { AXMDocumentDriveChooseComponent };
250
- //# sourceMappingURL=acorex-platform-module-document-management-client-drive-choose.component-Deduhl99.mjs.map
250
+ //# sourceMappingURL=acorex-platform-module-document-management-client-drive-choose.component-C5k9lfTZ.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-drive-choose.component-Deduhl99.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/drive-choose/drive-choose.component.ts","../../../../libs/modules/document-management/client/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/framework-client/auth';\nimport { AXPFileTypeProviderService } from '@acorex-platform/framework-client/common';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXPLayoutThemeService } from '@acorex-platform/framework-client/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 '@acorex-platform/module-document-management-client/contracts';\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.css'],\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 /** Assigned by popup `data` before `ngOnInit`. */\n public scope!: AXPPlatformScope;\n /** Assigned by popup `data` before `ngOnInit`. */\n public browseMode: AXMDocumentExplorerBrowseMode = 'file';\n /** Assigned by popup `data` before `ngOnInit`. */\n public selectionMode: AXMDocumentSelectionMode = 'single';\n /** When true, hides the in-dialog title row (popup chrome provides the title). */\n public hideHeader = false;\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 readonly browseModeState = signal<AXMDocumentExplorerBrowseMode>('file');\n protected readonly selectionModeState = signal<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 if (this.vm.browseMode() !== 'file') {\n return 'actions.select-folder';\n }\n return this.selectionModeState() === 'multiple' ? 'actions.select-files' : 'actions.select-file';\n });\n\n protected readonly selectedFileCount = computed(() =>\n this.vm.selectedNodes().filter((node) => node.type === 'file').length,\n );\n\n protected readonly canSubmit = computed(() => {\n if (this.browseModeState() === 'folder') {\n return Boolean(this.vm.currentFolder()?.id);\n }\n\n const selectedFiles = this.vm.selectedNodes().filter((node) => node.type === 'file');\n if (this.selectionModeState() === 'multiple') {\n return selectedFiles.length > 0;\n }\n return selectedFiles.length === 1;\n });\n\n protected readonly subtitleKey = computed(() =>\n this.browseModeState() === 'folder' ? 'drive-choose.subtitle-folder' : 'drive-choose.subtitle',\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 #selectionSyncEffect = effect(() => {\n if (this.documentExplorer()) {\n this.vm.setSelectionMode(this.selectionModeState());\n }\n });\n\n async handleSearchChange(event: AXValueChangedEvent) {\n if (event.value == null) {\n return;\n }\n\n if (event.value?.length > 0) {\n this.vm.setLoading(true);\n try {\n const searchRootId =\n this.vm.currentNode()?.id === 'virtual'\n ? this.vm.currentNode()?.parentId ?? undefined\n : this.vm.currentNode()?.id;\n const result = await this.driveService.searchNodes(event.value, this.scope, {\n folderId: searchRootId !== 'virtual' ? searchRootId : undefined,\n });\n await this.vm.virtualFolder(result, {\n name: 'Search Result',\n parentId: searchRootId,\n });\n } finally {\n this.vm.setLoading(false);\n }\n return;\n }\n\n // Clearing search restores the folder that was searched — do not navigate to parent.\n const restoreFolderId =\n this.vm.currentNode()?.id === 'virtual'\n ? this.vm.currentNode()?.parentId ?? undefined\n : this.vm.currentNode()?.id;\n await this.loadDrive(restoreFolderId || undefined);\n }\n\n override async ngOnInit() {\n super.ngOnInit();\n this.applyPopupOptions();\n await this.loadFilterItems();\n\n await this.vm.initialize({\n browseMode: this.browseModeState(),\n scope: this.scope,\n });\n this.vm.setSelectionMode(this.selectionModeState());\n this.loadDrive();\n }\n\n private applyPopupOptions(): void {\n this.browseModeState.set(this.browseMode);\n this.selectionModeState.set(this.selectionMode);\n }\n\n private async loadDrive(folderId?: string) {\n if (folderId) {\n await this.vm.loadFolderContents(folderId);\n } else {\n // getRoot already returns the hydrated root (children + shortcuts + path):\n // apply it directly instead of fetching the same folder a second time.\n const root = await this.driveService.getRoot(this.scope);\n if (root.result) {\n await this.vm.applyLoadedFolder(root);\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 const items =\n this.vm.browseMode() === 'file'\n ? this.vm.selectedNodes().filter((node) => node.type === 'file')\n : [this.vm.currentFolder()].filter(Boolean);\n\n this.close({\n result: true,\n items,\n });\n }\n\n protected handleCancelClick() {\n this.close({\n result: false,\n });\n }\n}\n","<div class=\"axm-drive-choose\" [class.__compact-header]=\"hideHeader\" *translate=\"let t\">\n <header class=\"__header\">\n @if (!hideHeader) {\n <div class=\"__header-main\">\n <span class=\"__header-icon primary-surface\">\n <ax-icon icon=\"fa-light fa-hard-drive\"></ax-icon>\n </span>\n <div class=\"__header-text\">\n <h2 class=\"__header-title\">\n {{\n '@document-management:actions.choose-from-drive' | translate | async\n }}\n </h2>\n <p class=\"__header-subtitle\">\n {{\n t(subtitleKey(), { scope: rootConfig.config.i18n })\n | async\n }}\n </p>\n </div>\n </div>\n }\n\n <div class=\"__toolbar\">\n <axm-folder-path-breadcrumbs\n class=\"__breadcrumbs\"\n ></axm-folder-path-breadcrumbs>\n <ax-search-box\n [(value)]=\"searchQuery\"\n (onValueChanged)=\"handleSearchChange($event)\"\n class=\"__search\"\n [placeholder]=\"\n t('actions.search', { scope: rootConfig.config.i18n }) | async\n \"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n </header>\n\n <main class=\"__body\">\n @if (vm.isLoading()) {\n <div class=\"__loading\">\n <ax-loading></ax-loading>\n <span>{{\n t('drive-choose.loading', { scope: rootConfig.config.i18n }) | async\n }}</span>\n </div>\n } @else {\n <axm-document-explorer\n [browseMode]=\"browseModeState()\"\n [selectionMode]=\"selectionModeState()\"\n [viewMode]=\"'list'\"\n [showContextMenu]=\"false\"\n >\n </axm-document-explorer>\n }\n </main>\n\n <ax-footer class=\"__footer light-surface\">\n <ax-prefix>\n @if (selectionModeState() === 'multiple' && selectedFileCount() > 0) {\n <span class=\"__selection-badge primary-surface\">\n <ax-icon icon=\"fa-light fa-check\"></ax-icon>\n {{\n t('drive-choose.selected-count', {\n scope: rootConfig.config.i18n,\n params: { count: selectedFileCount() },\n }) | async\n }}\n </span>\n }\n </ax-prefix>\n <ax-suffix>\n <ax-button\n (onClick)=\"handleCancelClick()\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [disabled]=\"!canSubmit()\"\n (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(), { scope: rootConfig.config.i18n }) | async\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-check\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </ax-suffix>\n </ax-footer>\n</div>\n"],"names":["i3","i5","i6","i2"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEM,MAAO,+BAAgC,SAAQ,mBAAmB,CAAA;AA7BxE,IAAA,WAAA,GAAA;;;QAiCS,IAAA,CAAA,UAAU,GAAkC,MAAM;;QAElD,IAAA,CAAA,aAAa,GAA6B,QAAQ;;QAElD,IAAA,CAAA,UAAU,GAAG,KAAK;AAEN,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;QACtC,IAAA,CAAA,UAAU,GAAG,UAAU;AACzB,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,0BAA0B,CAAC;AACpD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,yBAAyB,CAAC;AAC9C,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACzC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAE1C,IAAA,CAAA,WAAW,GAAG,MAAM,CAAwD,EAAE;wFAAC;QAC3F,IAAA,CAAA,cAAc,GAAG,MAAM,CAAS,KAAK;2FAAC;QAE1B,IAAA,CAAA,eAAe,GAAG,MAAM,CAAgC,MAAM;4FAAC;QAC/D,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAA2B,QAAQ;+FAAC;QAE/D,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC;YACpC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE;YAC1E,EAAE,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,sBAAsB,EAAE;YAClF,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,4BAA4B,EAAE;AACrF,SAAA;sFAAC;QAEQ,IAAA,CAAA,gBAAgB,GAAG,SAAS,CAAC,4BAA4B;6FAAC;AAEjD,QAAA,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAK;AAC9C,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;YAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAC3E,CAAC;yFAAC;AAEiB,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAK;YAC5C,IAAI,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE;AACnC,gBAAA,OAAO,uBAAuB;YAChC;AACA,YAAA,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,UAAU,GAAG,sBAAsB,GAAG,qBAAqB;QAClG,CAAC;uFAAC;QAEiB,IAAA,CAAA,iBAAiB,GAAG,QAAQ,CAAC,MAC9C,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,MAAM;8FACtE;AAEkB,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AAC3C,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,QAAQ,EAAE;gBACvC,OAAO,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC;YAC7C;YAEA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;AACpF,YAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE,KAAK,UAAU,EAAE;AAC5C,gBAAA,OAAO,aAAa,CAAC,MAAM,GAAG,CAAC;YACjC;AACA,YAAA,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC;QACnC,CAAC;sFAAC;AAEiB,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MACxC,IAAI,CAAC,eAAe,EAAE,KAAK,QAAQ,GAAG,8BAA8B,GAAG,uBAAuB;wFAC/F;QAES,IAAA,CAAA,WAAW,GAAkB,EAAE;AAEzC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,MAAK;YAC5B,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,CAAC,kBAAkB,EAAE;YACvD,IAAI,kBAAkB,EAAE;AACtB,gBAAA,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC;;gBAGlC,UAAU,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,WAAW,GAAG,IAAI;gBACzB,CAAC,EAAE,GAAG,CAAC;YACT;QACF,CAAC;4FAAC;AAEF,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,MAAK;YAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE;YACrC,SAAS,CAAC,MAAK;AACb,gBAAA,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC;AAC7C,YAAA,CAAC,CAAC;QACJ,CAAC;2FAAC;AAEF,QAAA,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAC,MAAK;AACjC,YAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;gBAC3B,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD;QACF,CAAC;iGAAC;AAwHH,IAAA;AA/IC,IAAA,eAAe;AAYf,IAAA,cAAc;AAOd,IAAA,oBAAoB;IAMpB,MAAM,kBAAkB,CAAC,KAA0B,EAAA;AACjD,QAAA,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;YACvB;QACF;QAEA,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;AACxB,YAAA,IAAI;gBACF,MAAM,YAAY,GAChB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK;sBAC1B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,IAAI;sBACnC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;AAC/B,gBAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;oBAC1E,QAAQ,EAAE,YAAY,KAAK,SAAS,GAAG,YAAY,GAAG,SAAS;AAChE,iBAAA,CAAC;AACF,gBAAA,MAAM,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE;AAClC,oBAAA,IAAI,EAAE,eAAe;AACrB,oBAAA,QAAQ,EAAE,YAAY;AACvB,iBAAA,CAAC;YACJ;oBAAU;AACR,gBAAA,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YAC3B;YACA;QACF;;QAGA,MAAM,eAAe,GACnB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,KAAK;cAC1B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,IAAI;cACnC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,IAAI,SAAS,CAAC;IACpD;AAES,IAAA,MAAM,QAAQ,GAAA;QACrB,KAAK,CAAC,QAAQ,EAAE;QAChB,IAAI,CAAC,iBAAiB,EAAE;AACxB,QAAA,MAAM,IAAI,CAAC,eAAe,EAAE;AAE5B,QAAA,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC;AACvB,YAAA,UAAU,EAAE,IAAI,CAAC,eAAe,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,KAAK;AAClB,SAAA,CAAC;QACF,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE;IAClB;IAEQ,iBAAiB,GAAA;QACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;IACjD;IAEQ,MAAM,SAAS,CAAC,QAAiB,EAAA;QACvC,IAAI,QAAQ,EAAE;YACZ,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,QAAQ,CAAC;QAC5C;aAAO;;;AAGL,YAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACxD,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,MAAM,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;YACvC;QACF;IACF;AAEA,IAAA,MAAM,eAAe,GAAA;QACnB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE;AAChD,QAAA,MAAM,KAAK,GAAG;YACZ,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,2BAA2B,EAAE;YAC5E,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM;gBACtB,GAAG,EAAE,IAAI,CAAC,IAAI;AACd,gBAAA,OAAO,EAAE,CAAA,WAAA,EAAc,IAAI,CAAC,IAAI,CAAA,CAAE;AAClC,gBAAA,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,kBAAkB;AACtC,aAAA,CAAC,CAAC;SACJ;AACD,QAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC;IAC7B;AAEU,IAAA,SAAS,CAAC,GAAW,EAAA;AAC7B,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;IAC9B;IAEU,aAAa,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,KAAK,EAAE;AACnC,YAAA,OAAO,2BAA2B;QACpC;QACA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;AAClF,QAAA,OAAO,IAAI,EAAE,IAAI,IAAI,kBAAkB;IACzC;IAEU,aAAa,GAAA;AACrB,QAAA,IAAI,IAAI,CAAC,cAAc,EAAE,KAAK,KAAK,EAAE;AACnC,YAAA,OAAO,gBAAgB;QACzB;QACA,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;AAClF,QAAA,OAAO,IAAI,EAAE,OAAO,IAAI,gBAAgB;IAC1C;AAEU,IAAA,sBAAsB,CAAC,QAAgB,EAAA;AAC/C,QAAA,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC;IACpC;AAEU,IAAA,MAAM,kBAAkB,GAAA;QAChC,MAAM,KAAK,GACT,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK;cACrB,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,MAAM;AAC/D,cAAE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;QAE/C,IAAI,CAAC,KAAK,CAAC;AACT,YAAA,MAAM,EAAE,IAAI;YACZ,KAAK;AACN,SAAA,CAAC;IACJ;IAEU,iBAAiB,GAAA;QACzB,IAAI,CAAC,KAAK,CAAC;AACT,YAAA,MAAM,EAAE,KAAK;AACd,SAAA,CAAC;IACJ;8GA/MW,+BAA+B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,+BAA+B,uEAF/B,CAAC,4BAA4B,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EA+BF,4BAA4B,uFChGrE,2yFA4FA,EAAA,MAAA,EAAA,CAAA,k5FAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDhDI,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,YAAY,8BACZ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,mBAAmB,8BACnB,sBAAsB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACtB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,mBAAmB,8GACnB,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,+BAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,2BAAA,EAAA,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,aAAa,8BACb,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,aAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,SAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,YAAY,8BACZ,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,4BAA4B,0IAC5B,iCAAiC,EAAA,QAAA,EAAA,6BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMxB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBA7B3C,SAAS;+BACE,0BAA0B,EAAA,UAAA,EAGxB,IAAI,EAAA,OAAA,EACP;wBACP,YAAY;wBACZ,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,mBAAmB;wBACnB,sBAAsB;wBACtB,gBAAgB;wBAChB,mBAAmB;wBACnB,iBAAiB;wBACjB,eAAe;wBACf,aAAa;wBACb,iBAAiB;wBACjB,cAAc;wBACd,YAAY;wBACZ,mBAAmB;wBACnB,gBAAgB;wBAChB,4BAA4B;wBAC5B,iCAAiC;qBAClC,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,4BAA4B,CAAC,EAAA,QAAA,EAAA,2yFAAA,EAAA,MAAA,EAAA,CAAA,k5FAAA,CAAA,EAAA;kGA+BF,4BAA4B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-drive-choose.component-C5k9lfTZ.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/drive-choose/drive-choose.component.ts","../../../../libs/modules/document-management/client/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/framework-client/auth';\nimport { AXPFileTypeProviderService } from '@acorex-platform/framework-client/common';\nimport { AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXPLayoutThemeService } from '@acorex-platform/framework-client/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 '@acorex-platform/module-document-management-client/contracts';\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.css'],\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 /** Assigned by popup `data` before `ngOnInit`. */\n public scope!: AXPPlatformScope;\n /** Assigned by popup `data` before `ngOnInit`. */\n public browseMode: AXMDocumentExplorerBrowseMode = 'file';\n /** Assigned by popup `data` before `ngOnInit`. */\n public selectionMode: AXMDocumentSelectionMode = 'single';\n /** When true, hides the in-dialog title row (popup chrome provides the title). */\n public hideHeader = false;\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 readonly browseModeState = signal<AXMDocumentExplorerBrowseMode>('file');\n protected readonly selectionModeState = signal<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 if (this.vm.browseMode() !== 'file') {\n return 'actions.select-folder';\n }\n return this.selectionModeState() === 'multiple' ? 'actions.select-files' : 'actions.select-file';\n });\n\n protected readonly selectedFileCount = computed(() =>\n this.vm.selectedNodes().filter((node) => node.type === 'file').length,\n );\n\n protected readonly canSubmit = computed(() => {\n if (this.browseModeState() === 'folder') {\n return Boolean(this.vm.currentFolder()?.id);\n }\n\n const selectedFiles = this.vm.selectedNodes().filter((node) => node.type === 'file');\n if (this.selectionModeState() === 'multiple') {\n return selectedFiles.length > 0;\n }\n return selectedFiles.length === 1;\n });\n\n protected readonly subtitleKey = computed(() =>\n this.browseModeState() === 'folder' ? 'drive-choose.subtitle-folder' : 'drive-choose.subtitle',\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 #selectionSyncEffect = effect(() => {\n if (this.documentExplorer()) {\n this.vm.setSelectionMode(this.selectionModeState());\n }\n });\n\n async handleSearchChange(event: AXValueChangedEvent) {\n if (event.value == null) {\n return;\n }\n\n if (event.value?.length > 0) {\n this.vm.setLoading(true);\n try {\n const searchRootId =\n this.vm.currentNode()?.id === 'virtual'\n ? this.vm.currentNode()?.parentId ?? undefined\n : this.vm.currentNode()?.id;\n const result = await this.driveService.searchNodes(event.value, this.scope, {\n folderId: searchRootId !== 'virtual' ? searchRootId : undefined,\n });\n await this.vm.virtualFolder(result, {\n name: 'Search Result',\n parentId: searchRootId,\n });\n } finally {\n this.vm.setLoading(false);\n }\n return;\n }\n\n // Clearing search restores the folder that was searched — do not navigate to parent.\n const restoreFolderId =\n this.vm.currentNode()?.id === 'virtual'\n ? this.vm.currentNode()?.parentId ?? undefined\n : this.vm.currentNode()?.id;\n await this.loadDrive(restoreFolderId || undefined);\n }\n\n override async ngOnInit() {\n super.ngOnInit();\n this.applyPopupOptions();\n await this.loadFilterItems();\n\n await this.vm.initialize({\n browseMode: this.browseModeState(),\n scope: this.scope,\n });\n this.vm.setSelectionMode(this.selectionModeState());\n this.loadDrive();\n }\n\n private applyPopupOptions(): void {\n this.browseModeState.set(this.browseMode);\n this.selectionModeState.set(this.selectionMode);\n }\n\n private async loadDrive(folderId?: string) {\n if (folderId) {\n await this.vm.loadFolderContents(folderId);\n } else {\n // getRoot already returns the hydrated root (children + shortcuts + path):\n // apply it directly instead of fetching the same folder a second time.\n const root = await this.driveService.getRoot(this.scope);\n if (root.result) {\n await this.vm.applyLoadedFolder(root);\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 const items =\n this.vm.browseMode() === 'file'\n ? this.vm.selectedNodes().filter((node) => node.type === 'file')\n : [this.vm.currentFolder()].filter(Boolean);\n\n this.close({\n result: true,\n items,\n });\n }\n\n protected handleCancelClick() {\n this.close({\n result: false,\n });\n }\n}\n","<div class=\"axm-drive-choose\" [class.__compact-header]=\"hideHeader\" *translate=\"let t\">\n <header class=\"__header\">\n @if (!hideHeader) {\n <div class=\"__header-main\">\n <span class=\"__header-icon primary-surface\">\n <ax-icon icon=\"fa-light fa-hard-drive\"></ax-icon>\n </span>\n <div class=\"__header-text\">\n <h2 class=\"__header-title\">\n {{\n '@document-management:actions.choose-from-drive' | translate | async\n }}\n </h2>\n <p class=\"__header-subtitle\">\n {{\n t(subtitleKey(), { scope: rootConfig.config.i18n })\n | async\n }}\n </p>\n </div>\n </div>\n }\n\n <div class=\"__toolbar\">\n <axm-folder-path-breadcrumbs\n class=\"__breadcrumbs\"\n ></axm-folder-path-breadcrumbs>\n <ax-search-box\n [(value)]=\"searchQuery\"\n (onValueChanged)=\"handleSearchChange($event)\"\n class=\"__search\"\n [placeholder]=\"\n t('actions.search', { scope: rootConfig.config.i18n }) | async\n \"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box>\n </div>\n </header>\n\n <main class=\"__body\">\n @if (vm.isLoading()) {\n <div class=\"__loading\">\n <ax-loading></ax-loading>\n <span>{{\n t('drive-choose.loading', { scope: rootConfig.config.i18n }) | async\n }}</span>\n </div>\n } @else {\n <axm-document-explorer\n [browseMode]=\"browseModeState()\"\n [selectionMode]=\"selectionModeState()\"\n [viewMode]=\"'list'\"\n [showContextMenu]=\"false\"\n >\n </axm-document-explorer>\n }\n </main>\n\n <ax-footer class=\"__footer light-surface\">\n <ax-prefix>\n @if (selectionModeState() === 'multiple' && selectedFileCount() > 0) {\n <span class=\"__selection-badge primary-surface\">\n <ax-icon icon=\"fa-light fa-check\"></ax-icon>\n {{\n t('drive-choose.selected-count', {\n scope: rootConfig.config.i18n,\n params: { count: selectedFileCount() },\n }) | async\n }}\n </span>\n }\n </ax-prefix>\n <ax-suffix>\n <ax-button\n (onClick)=\"handleCancelClick()\"\n [text]=\"'@general:actions.cancel.title' | translate | async\"\n ></ax-button>\n <ax-button\n look=\"solid\"\n color=\"primary\"\n [disabled]=\"!canSubmit()\"\n (onClick)=\"handleSubmitButton()\"\n [text]=\"t(selectText(), { scope: rootConfig.config.i18n }) | async\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-check\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </ax-suffix>\n </ax-footer>\n</div>\n"],"names":["i3","i5","i6","i2"],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as i1$1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
9
- import { A as AXPDocumentExplorerViewModel } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
9
+ import { A as AXPDocumentExplorerViewModel } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
10
10
 
11
11
  class AXMDocumentExplorerLargeIconsViewSkeletonComponent {
12
12
  constructor() {
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
24
24
  }] });
25
25
 
26
26
  export { AXMDocumentExplorerLargeIconsViewSkeletonComponent };
27
- //# sourceMappingURL=acorex-platform-module-document-management-client-large-icons-view-skeleton.component-wZG913_E.mjs.map
27
+ //# sourceMappingURL=acorex-platform-module-document-management-client-large-icons-view-skeleton.component-50qY585J.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-large-icons-view-skeleton.component-wZG913_E.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view-skeleton.component.html"],"sourcesContent":["import { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer-large-icons-view-skeleton',\n templateUrl: './large-icons-view-skeleton.component.html',\n styleUrl: './large-icons-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerLargeIconsViewSkeletonComponent {\n protected readonly vm = inject(AXPDocumentExplorerViewModel);\n\n protected readonly folderPlaceholders = [0, 1, 2];\n protected readonly filePlaceholders = [0, 1];\n protected readonly flatPlaceholders = [0, 1, 2, 3, 4];\n}\n","@if (vm.groupByType()) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of folderPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of filePlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"__content\">\n @for (item of flatPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;;MAaa,kDAAkD,CAAA;AAP/D,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAEzC,IAAA,CAAA,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtD,IAAA;8GANY,kDAAkD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kDAAkD,2GCb/D,+xCAqCA,EAAA,MAAA,EAAA,CAAA,mvCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,kIAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAElD,kDAAkD,EAAA,UAAA,EAAA,CAAA;kBAP9D,SAAS;+BACE,iDAAiD,EAAA,eAAA,EAG1C,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,+xCAAA,EAAA,MAAA,EAAA,CAAA,mvCAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-large-icons-view-skeleton.component-50qY585J.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view-skeleton.component.html"],"sourcesContent":["import { AXSkeletonModule } from '@acorex/components/skeleton';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer-large-icons-view-skeleton',\n templateUrl: './large-icons-view-skeleton.component.html',\n styleUrl: './large-icons-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerLargeIconsViewSkeletonComponent {\n protected readonly vm = inject(AXPDocumentExplorerViewModel);\n\n protected readonly folderPlaceholders = [0, 1, 2];\n protected readonly filePlaceholders = [0, 1];\n protected readonly flatPlaceholders = [0, 1, 2, 3, 4];\n}\n","@if (vm.groupByType()) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of folderPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (item of filePlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"__content\">\n @for (item of flatPlaceholders; track item) {\n <div class=\"__item\">\n <ax-skeleton [animated]=\"true\" class=\"__icon\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n </div>\n }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;;MAaa,kDAAkD,CAAA;AAP/D,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;QAEzC,IAAA,CAAA,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9B,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;AACzB,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtD,IAAA;8GANY,kDAAkD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kDAAkD,2GCb/D,+xCAqCA,EAAA,MAAA,EAAA,CAAA,mvCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1BY,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,gBAAgB,kIAAE,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAElD,kDAAkD,EAAA,UAAA,EAAA,CAAA;kBAP9D,SAAS;+BACE,iDAAiD,EAAA,eAAA,EAG1C,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,+xCAAA,EAAA,MAAA,EAAA,CAAA,mvCAAA,CAAA,EAAA;;;;;"}
@@ -3,7 +3,7 @@ import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { AXPElementDataDirective, AXPDblClickDirective } from '@acorex-platform/framework-client/core';
6
- import { A as AXPDocumentExplorerViewModel, a as AXMDocumentExpirationBadgeComponent, b as AXMFolderExpirationBadgesComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
6
+ import { A as AXPDocumentExplorerViewModel, a as AXMDocumentExpirationBadgeComponent, b as AXMFolderExpirationBadgesComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
7
7
  import * as i3 from '@acorex/core/translation';
8
8
  import { AXTranslationModule } from '@acorex/core/translation';
9
9
 
@@ -27,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
27
27
  }] });
28
28
 
29
29
  export { AXMDocumentExplorerLargeIconsViewComponent };
30
- //# sourceMappingURL=acorex-platform-module-document-management-client-large-icons-view.component-Bv5JFRtL.mjs.map
30
+ //# sourceMappingURL=acorex-platform-module-document-management-client-large-icons-view.component-Ca-TQvpA.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-large-icons-view.component-Bv5JFRtL.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view.component.html"],"sourcesContent":["import { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXPDblClickDirective, AXPElementDataDirective } from '@acorex-platform/framework-client/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMDocumentExpirationBadgeComponent } from '../../../shared/components/document-expiration-badge/document-expiration-badge.component';\nimport { AXMFolderExpirationBadgesComponent } from '../../../shared/components/folder-expiration-badges/folder-expiration-badges.component';\n\n@Component({\n selector: 'axm-document-explorer-large-icons-view',\n templateUrl: './large-icons-view.component.html',\n styleUrls: ['./large-icons-view.component.css'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n CommonModule,\n AXPElementDataDirective,\n AXPDblClickDirective,\n AXTranslationModule,\n AXMDocumentExpirationBadgeComponent,\n AXMFolderExpirationBadgesComponent,\n ],\n})\nexport class AXMDocumentExplorerLargeIconsViewComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n} ","@if (vm.groupByType()) {\n @if (vm.filteredFolders().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-4x\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"inline-flex max-w-full items-center justify-center gap-1\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.filteredFiles().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-4x\">\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n <axm-document-expiration-badge class=\"__expiration-badge\" [node]=\"file\" />\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <div class=\"__content fa-4x\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"inline-flex max-w-full items-center justify-center gap-1\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n <axm-document-expiration-badge class=\"__expiration-badge\" [node]=\"file\" />\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;MAyBa,0CAA0C,CAAA;AAfvD,IAAA,WAAA,GAAA;AAgBc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,IAAA;8GAFY,0CAA0C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0CAA0C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBvD,2tJAkHA,EAAA,MAAA,EAAA,CAAA,spEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjGM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mCAAmC,4FACnC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAG3B,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAftD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,cAGtC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,oBAAoB;wBACpB,mBAAmB;wBACnB,mCAAmC;wBACnC,kCAAkC;AACnC,qBAAA,EAAA,QAAA,EAAA,2tJAAA,EAAA,MAAA,EAAA,CAAA,spEAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-large-icons-view.component-Ca-TQvpA.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-icons/large-icons-view.component.html"],"sourcesContent":["import { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { AXPDblClickDirective, AXPElementDataDirective } from '@acorex-platform/framework-client/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\n\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMDocumentExpirationBadgeComponent } from '../../../shared/components/document-expiration-badge/document-expiration-badge.component';\nimport { AXMFolderExpirationBadgesComponent } from '../../../shared/components/folder-expiration-badges/folder-expiration-badges.component';\n\n@Component({\n selector: 'axm-document-explorer-large-icons-view',\n templateUrl: './large-icons-view.component.html',\n styleUrls: ['./large-icons-view.component.css'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n CommonModule,\n AXPElementDataDirective,\n AXPDblClickDirective,\n AXTranslationModule,\n AXMDocumentExpirationBadgeComponent,\n AXMFolderExpirationBadgesComponent,\n ],\n})\nexport class AXMDocumentExplorerLargeIconsViewComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n} ","@if (vm.groupByType()) {\n @if (vm.filteredFolders().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-4x\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"inline-flex max-w-full items-center justify-center gap-1\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.filteredFiles().length > 0) {\n <div class=\"__section\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content fa-4x\">\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n <axm-document-expiration-badge class=\"__expiration-badge\" [node]=\"file\" />\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <div class=\"__content fa-4x\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"inline-flex max-w-full items-center justify-center gap-1\">\n <div class=\"__name\">{{ folder.name }}</div>\n <!-- ----- Expiration counts after folder name ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n </div>\n }\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (onDblClick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n <axm-document-expiration-badge class=\"__expiration-badge\" [node]=\"file\" />\n </div>\n <div class=\"__name\">{{ file.name }}</div>\n </div>\n }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;MAyBa,0CAA0C,CAAA;AAfvD,IAAA,WAAA,GAAA;AAgBc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,IAAA;8GAFY,0CAA0C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0CAA0C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBvD,2tJAkHA,EAAA,MAAA,EAAA,CAAA,spEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDjGM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mCAAmC,4FACnC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAG3B,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAftD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,cAGtC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,oBAAoB;wBACpB,mBAAmB;wBACnB,mCAAmC;wBACnC,kCAAkC;AACnC,qBAAA,EAAA,QAAA,EAAA,2tJAAA,EAAA,MAAA,EAAA,CAAA,spEAAA,CAAA,EAAA;;;;;"}
@@ -3,7 +3,7 @@ import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { AXPElementDataDirective, AXPDblClickDirective } from '@acorex-platform/framework-client/core';
6
- import { A as AXPDocumentExplorerViewModel, a as AXMDocumentExpirationBadgeComponent, b as AXMFolderExpirationBadgesComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
6
+ import { A as AXPDocumentExplorerViewModel, a as AXMDocumentExpirationBadgeComponent, b as AXMFolderExpirationBadgesComponent } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.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';
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
32
32
  }] });
33
33
 
34
34
  export { AXMDocumentExplorerLargeTilesViewComponent };
35
- //# sourceMappingURL=acorex-platform-module-document-management-client-large-tiles-view.component-DTEIhPcT.mjs.map
35
+ //# sourceMappingURL=acorex-platform-module-document-management-client-large-tiles-view.component-Cfb1yjRX.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-large-tiles-view.component-DTEIhPcT.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.html"],"sourcesContent":["import { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPDblClickDirective, AXPElementDataDirective } from '@acorex-platform/framework-client/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMDocumentExpirationBadgeComponent } from '../../../shared/components/document-expiration-badge/document-expiration-badge.component';\nimport { AXMFolderExpirationBadgesComponent } from '../../../shared/components/folder-expiration-badges/folder-expiration-badges.component';\n\n@Component({\n selector: 'axm-document-explorer-large-tiles-view',\n templateUrl: './large-tiles-view.component.html',\n styleUrls: ['./large-tiles-view.component.css'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n CommonModule,\n AXPElementDataDirective,\n AXPDblClickDirective,\n AXFormatModule,\n AXDateTimeModule,\n AXTranslationModule,\n AXMDocumentExpirationBadgeComponent,\n AXMFolderExpirationBadgesComponent,\n ],\n})\nexport class AXMDocumentExplorerLargeTilesViewComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n} ","@if (vm.groupByType()) {\n @if (vm.filteredFolders().length > 0) {\n <div class=\"__section fa-3x\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <span class=\"__name\">{{ folder.name }}</span>\n <div class=\"__info\">\n <div class=\"inline-flex items-center gap-1\">\n <span>{{ (folder.childrenCount ?? 0) + (folder.itemsCount ?? 0) }} items</span>\n <!-- ----- Expiration counts after item count ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n <span>{{ folder.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.filteredFiles().length > 0) {\n <div class=\"__section fa-3x\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (dblclick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <span class=\"__name\">{{ file.name }}</span>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n <div class=\"__info\">\n <span>{{ file.size | format : 'filesize' | async }}</span>\n <span>{{ file.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <div class=\"__section fa-3x\">\n <div class=\"__content\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <span class=\"__name\">{{ folder.name }}</span>\n <div class=\"__info\">\n <div class=\"inline-flex items-center gap-1\">\n <span>{{ (folder.childrenCount ?? 0) + (folder.itemsCount ?? 0) }} items</span>\n <!-- ----- Expiration counts after item count ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n <span>{{ folder.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (dblclick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <span class=\"__name\">{{ file.name }}</span>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n <div class=\"__info\">\n <span>{{ file.size | format : 'filesize' | async }}</span>\n <span>{{ file.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;MA2Ba,0CAA0C,CAAA;AAjBvD,IAAA,WAAA,GAAA;AAkBc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,IAAA;8GAFY,0CAA0C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0CAA0C,kGC3BvD,o3LAwIA,EAAA,MAAA,EAAA,CAAA,+mFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvHM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,cAAc,8BACd,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mCAAmC,4FACnC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAG3B,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAjBtD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,cAGtC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,oBAAoB;wBACpB,cAAc;wBACd,gBAAgB;wBAChB,mBAAmB;wBACnB,mCAAmC;wBACnC,kCAAkC;AACnC,qBAAA,EAAA,QAAA,EAAA,o3LAAA,EAAA,MAAA,EAAA,CAAA,+mFAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-large-tiles-view.component-Cfb1yjRX.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/large-tiles/large-tiles-view.component.html"],"sourcesContent":["import { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPDblClickDirective, AXPElementDataDirective } from '@acorex-platform/framework-client/core';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer.viewmodel';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXMDocumentExpirationBadgeComponent } from '../../../shared/components/document-expiration-badge/document-expiration-badge.component';\nimport { AXMFolderExpirationBadgesComponent } from '../../../shared/components/folder-expiration-badges/folder-expiration-badges.component';\n\n@Component({\n selector: 'axm-document-explorer-large-tiles-view',\n templateUrl: './large-tiles-view.component.html',\n styleUrls: ['./large-tiles-view.component.css'],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [\n CommonModule,\n AXPElementDataDirective,\n AXPDblClickDirective,\n AXFormatModule,\n AXDateTimeModule,\n AXTranslationModule,\n AXMDocumentExpirationBadgeComponent,\n AXMFolderExpirationBadgesComponent,\n ],\n})\nexport class AXMDocumentExplorerLargeTilesViewComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n} ","@if (vm.groupByType()) {\n @if (vm.filteredFolders().length > 0) {\n <div class=\"__section fa-3x\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.folders' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <span class=\"__name\">{{ folder.name }}</span>\n <div class=\"__info\">\n <div class=\"inline-flex items-center gap-1\">\n <span>{{ (folder.childrenCount ?? 0) + (folder.itemsCount ?? 0) }} items</span>\n <!-- ----- Expiration counts after item count ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n <span>{{ folder.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.filteredFiles().length > 0) {\n <div class=\"__section fa-3x\">\n <div class=\"__header\">\n <h3 class=\"__title\">{{ '@document-management:terms.common.files' | translate | async }}</h3>\n </div>\n <div class=\"__content\">\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (dblclick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <span class=\"__name\">{{ file.name }}</span>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n <div class=\"__info\">\n <span>{{ file.size | format : 'filesize' | async }}</span>\n <span>{{ file.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <div class=\"__section fa-3x\">\n <div class=\"__content\">\n @for (folder of vm.filteredFolders(); track folder.id) {\n @let folderDisplay = vm.getNodeDisplayInfo(folder);\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\" [style.color]=\"vm.getFolderColor(folder)\" [class.__shortcut]=\"folderDisplay.isShortcut\">\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 @if (folderDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <span class=\"__name\">{{ folder.name }}</span>\n <div class=\"__info\">\n <div class=\"inline-flex items-center gap-1\">\n <span>{{ (folder.childrenCount ?? 0) + (folder.itemsCount ?? 0) }} items</span>\n <!-- ----- Expiration counts after item count ----- -->\n <axm-folder-expiration-badges [node]=\"folder\" />\n </div>\n <span>{{ folder.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n @for (file of vm.filteredFiles(); track file.id) {\n @let fileDisplay = vm.getNodeDisplayInfo(file);\n <div\n class=\"__explorer-item\"\n [class.--selected]=\"vm.isItemSelected(file)\"\n [axp-data]=\"file\"\n (click)=\"vm.toggleSelect(file)\"\n (dblclick)=\"vm.openFile(file)\"\n >\n <div class=\"__icon\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i class=\"__shortcut-arrow fa-light fa-up-right-from-square\" aria-hidden=\"true\"></i>\n }\n </div>\n <div class=\"flex min-w-0 items-center gap-1.5\">\n <span class=\"__name\">{{ file.name }}</span>\n <axm-document-expiration-badge [node]=\"file\" />\n </div>\n <div class=\"__info\">\n <span>{{ file.size | format : 'filesize' | async }}</span>\n <span>{{ file.modifiedAt | format : 'datetime' : { format: 'datetime' } | async }}</span>\n </div>\n </div>\n }\n </div>\n </div>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;MA2Ba,0CAA0C,CAAA;AAjBvD,IAAA,WAAA,GAAA;AAkBc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,IAAA;8GAFY,0CAA0C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0CAA0C,kGC3BvD,o3LAwIA,EAAA,MAAA,EAAA,CAAA,+mFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDvHM,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,oBAAoB,EAAA,QAAA,EAAA,cAAA,EAAA,OAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACpB,cAAc,8BACd,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAChB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,mCAAmC,4FACnC,kCAAkC,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,KAAA,EAAA,CAAA,CAAA;;2FAG3B,0CAA0C,EAAA,UAAA,EAAA,CAAA;kBAjBtD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,wCAAwC,cAGtC,IAAI,EAAA,eAAA,EACC,uBAAuB,CAAC,KAAK,EAAA,OAAA,EACrC;wBACP,YAAY;wBACZ,uBAAuB;wBACvB,oBAAoB;wBACpB,cAAc;wBACd,gBAAgB;wBAChB,mBAAmB;wBACnB,mCAAmC;wBACnC,kCAAkC;AACnC,qBAAA,EAAA,QAAA,EAAA,o3LAAA,EAAA,MAAA,EAAA,CAAA,+mFAAA,CAAA,EAAA;;;;;"}
@@ -6,7 +6,7 @@ import * as i1$1 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, ChangeDetectionStrategy, Component } from '@angular/core';
9
- import { A as AXPDocumentExplorerViewModel } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
9
+ import { A as AXPDocumentExplorerViewModel } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
10
10
 
11
11
  class AXMDocumentExplorerListViewSkeletonComponent {
12
12
  constructor() {
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
24
24
  }] });
25
25
 
26
26
  export { AXMDocumentExplorerListViewSkeletonComponent };
27
- //# sourceMappingURL=acorex-platform-module-document-management-client-list-view-skeleton.component-C3-7rgTu.mjs.map
27
+ //# sourceMappingURL=acorex-platform-module-document-management-client-list-view-skeleton.component-BLSnss8G.mjs.map