@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
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-list-view-skeleton.component-C3-7rgTu.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-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-list-view-skeleton',\n templateUrl: './list-view-skeleton.component.html',\n styleUrl: './list-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerListViewSkeletonComponent {\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,4CAA4C,CAAA;AAPzD,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,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,oGCbzD,+xCAqCA,EAAA,MAAA,EAAA,CAAA,4vCAAA,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,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAPxD,SAAS;+BACE,0CAA0C,EAAA,eAAA,EAGnC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,+xCAAA,EAAA,MAAA,EAAA,CAAA,4vCAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-list-view-skeleton.component-BLSnss8G.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-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-list-view-skeleton',\n templateUrl: './list-view-skeleton.component.html',\n styleUrl: './list-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerListViewSkeletonComponent {\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,4CAA4C,CAAA;AAPzD,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,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,oGCbzD,+xCAqCA,EAAA,MAAA,EAAA,CAAA,4vCAAA,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,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAPxD,SAAS;+BACE,0CAA0C,EAAA,eAAA,EAGnC,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,CAAC,EAAA,QAAA,EAAA,+xCAAA,EAAA,MAAA,EAAA,CAAA,4vCAAA,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 { AXMDocumentExplorerListViewComponent };
30
- //# sourceMappingURL=acorex-platform-module-document-management-client-list-view.component-_r7VP4i8.mjs.map
30
+ //# sourceMappingURL=acorex-platform-module-document-management-client-list-view.component-Dhb8hXxU.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-list-view.component-_r7VP4i8.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-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-list-view',\n templateUrl: './list-view.component.html',\n styleUrls: ['./list-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 AXMDocumentExplorerListViewComponent {\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-xl\">\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=\"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 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 </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 }\n </div>\n </div>\n }\n} @else {\n <div class=\"__content fa-xl\">\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=\"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 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 </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 }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;MAyBa,oCAAoC,CAAA;AAfjD,IAAA,WAAA,GAAA;AAgBc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,IAAA;8GAFY,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBjD,qxJAsHA,EAAA,MAAA,EAAA,CAAA,65DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrGM,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,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAfhD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,cAG/B,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,qxJAAA,EAAA,MAAA,EAAA,CAAA,65DAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-list-view.component-Dhb8hXxU.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/list/list-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-list-view',\n templateUrl: './list-view.component.html',\n styleUrls: ['./list-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 AXMDocumentExplorerListViewComponent {\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-xl\">\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=\"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 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 </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 }\n </div>\n </div>\n }\n} @else {\n <div class=\"__content fa-xl\">\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=\"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 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 </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 }\n </div>\n}\n"],"names":["i2"],"mappings":";;;;;;;;;MAyBa,oCAAoC,CAAA;AAfjD,IAAA,WAAA,GAAA;AAgBc,QAAA,IAAA,CAAA,EAAE,GAAG,MAAM,CAAC,4BAA4B,CAAC;AACtD,IAAA;8GAFY,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oCAAoC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iCAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzBjD,qxJAsHA,EAAA,MAAA,EAAA,CAAA,65DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDrGM,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,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBAfhD,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iCAAiC,cAG/B,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,qxJAAA,EAAA,MAAA,EAAA,CAAA,65DAAA,CAAA,EAAA;;;;;"}
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { inject, Injectable } from '@angular/core';
3
3
  import { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';
4
4
  import { RootConfig } from '@acorex-platform/module-document-management-client/contracts';
5
- import { c as AXMDocumentManagerService } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
5
+ import { c as AXMDocumentManagerService } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
6
6
 
7
7
  //#region ----- Imports -----
8
8
  //#endregion
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
93
93
  }] });
94
94
 
95
95
  export { AXMOpenDocumentCommand };
96
- //# sourceMappingURL=acorex-platform-module-document-management-client-open-document.command-BbMZf6zo.mjs.map
96
+ //# sourceMappingURL=acorex-platform-module-document-management-client-open-document.command-s2r33nBp.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-open-document.command-BbMZf6zo.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/commands/open-document.command.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport type { AXPFileListItem } from '@acorex-platform/framework-shared/core';\nimport {\n AXMDocumentDto,\n RootConfig,\n} from '@acorex-platform/module-document-management-client/contracts';\n\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport type { AXMDocumentExplorerNode } from '../shared/document-manager.types';\n\n//#endregion\n\n//#region ----- Types -----\n\nexport interface AXMOpenDocumentCommandInput {\n documentId?: string;\n data?: AXMDocumentExplorerNode | {\n documentId?: string;\n id?: string;\n };\n options?: {\n documentId?: string;\n };\n}\n\n//#endregion\n\n//#region ----- Helpers -----\n\nfunction isExplorerFileNode(value: unknown): value is AXMDocumentExplorerNode {\n return (\n !!value &&\n typeof value === 'object' &&\n (value as AXMDocumentExplorerNode).type === 'file' &&\n typeof (value as AXMDocumentExplorerNode).id === 'string'\n );\n}\n\nfunction resolveDocumentId(input: AXMOpenDocumentCommandInput = {}): string | undefined {\n const fromOptions = input.options?.documentId;\n const data = input.data;\n const fromData =\n data && typeof data === 'object'\n ? 'documentId' in data && typeof data.documentId === 'string'\n ? data.documentId\n : 'id' in data && typeof data.id === 'string'\n ? data.id\n : undefined\n : undefined;\n const fromRoot = input.documentId;\n const value = fromOptions ?? fromData ?? fromRoot;\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n\nfunction toExplorerNode(document: AXMDocumentDto): AXMDocumentExplorerNode {\n const rawFileInfo = document.fileInfo;\n const fileListItem =\n rawFileInfo != null && typeof rawFileInfo === 'object' ? (rawFileInfo as AXPFileListItem) : undefined;\n const storedFileRef = typeof rawFileInfo === 'string' ? rawFileInfo : undefined;\n\n return {\n id: document.id!,\n name: document.name,\n type: 'file',\n parentId: document.parentId ?? null,\n size: fileListItem?.size ?? 0,\n fileId: fileListItem ?? storedFileRef,\n storageType: 'physical',\n metaDataForm: document.metaDataForm ?? undefined,\n documentTypes: document.documentType ? [document.documentType] : [],\n expirationDate: document.expirationDate ? new Date(document.expirationDate) : undefined,\n };\n}\n\n//#endregion\n\n//#region ----- Open file command -----\n\n/**\n * Opens a document the same way Drive context menu open does\n * (catalog open handler, otherwise download).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMOpenDocumentCommand implements AXPCommand<AXMOpenDocumentCommandInput> {\n //#region ----- Services & Dependencies -----\n\n private readonly documentManager = inject(AXMDocumentManagerService);\n private readonly entityService = inject(AXPEntityService);\n private readonly documentData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.document.name)\n .data<string, AXMDocumentDto>();\n\n //#endregion\n\n //#region ----- Execute -----\n\n async execute(input: AXMOpenDocumentCommandInput = {}): AXPCommandExecuteResultPromise {\n // Drive already has the explorer node — reuse it (no refetch).\n if (isExplorerFileNode(input.data)) {\n await this.documentManager.openFile(input.data);\n return { success: true, kind: 'object', data: { documentId: input.data.id } };\n }\n\n const documentId = resolveDocumentId(input);\n if (!documentId) {\n return {\n success: false,\n message: { text: 'Document id is required' },\n };\n }\n\n const document = await this.documentData.byKey(documentId);\n if (!document?.id) {\n return {\n success: false,\n message: { text: 'Document not found' },\n };\n }\n\n await this.documentManager.openFile(toExplorerNode(document));\n return { success: true, kind: 'object', data: { documentId } };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-open-document.command-s2r33nBp.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/commands/open-document.command.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { inject, Injectable } from '@angular/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport type { AXPFileListItem } from '@acorex-platform/framework-shared/core';\nimport {\n AXMDocumentDto,\n RootConfig,\n} from '@acorex-platform/module-document-management-client/contracts';\n\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport type { AXMDocumentExplorerNode } from '../shared/document-manager.types';\n\n//#endregion\n\n//#region ----- Types -----\n\nexport interface AXMOpenDocumentCommandInput {\n documentId?: string;\n data?: AXMDocumentExplorerNode | {\n documentId?: string;\n id?: string;\n };\n options?: {\n documentId?: string;\n };\n}\n\n//#endregion\n\n//#region ----- Helpers -----\n\nfunction isExplorerFileNode(value: unknown): value is AXMDocumentExplorerNode {\n return (\n !!value &&\n typeof value === 'object' &&\n (value as AXMDocumentExplorerNode).type === 'file' &&\n typeof (value as AXMDocumentExplorerNode).id === 'string'\n );\n}\n\nfunction resolveDocumentId(input: AXMOpenDocumentCommandInput = {}): string | undefined {\n const fromOptions = input.options?.documentId;\n const data = input.data;\n const fromData =\n data && typeof data === 'object'\n ? 'documentId' in data && typeof data.documentId === 'string'\n ? data.documentId\n : 'id' in data && typeof data.id === 'string'\n ? data.id\n : undefined\n : undefined;\n const fromRoot = input.documentId;\n const value = fromOptions ?? fromData ?? fromRoot;\n return typeof value === 'string' && value.trim() ? value.trim() : undefined;\n}\n\nfunction toExplorerNode(document: AXMDocumentDto): AXMDocumentExplorerNode {\n const rawFileInfo = document.fileInfo;\n const fileListItem =\n rawFileInfo != null && typeof rawFileInfo === 'object' ? (rawFileInfo as AXPFileListItem) : undefined;\n const storedFileRef = typeof rawFileInfo === 'string' ? rawFileInfo : undefined;\n\n return {\n id: document.id!,\n name: document.name,\n type: 'file',\n parentId: document.parentId ?? null,\n size: fileListItem?.size ?? 0,\n fileId: fileListItem ?? storedFileRef,\n storageType: 'physical',\n metaDataForm: document.metaDataForm ?? undefined,\n documentTypes: document.documentType ? [document.documentType] : [],\n expirationDate: document.expirationDate ? new Date(document.expirationDate) : undefined,\n };\n}\n\n//#endregion\n\n//#region ----- Open file command -----\n\n/**\n * Opens a document the same way Drive context menu open does\n * (catalog open handler, otherwise download).\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMOpenDocumentCommand implements AXPCommand<AXMOpenDocumentCommandInput> {\n //#region ----- Services & Dependencies -----\n\n private readonly documentManager = inject(AXMDocumentManagerService);\n private readonly entityService = inject(AXPEntityService);\n private readonly documentData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.document.name)\n .data<string, AXMDocumentDto>();\n\n //#endregion\n\n //#region ----- Execute -----\n\n async execute(input: AXMOpenDocumentCommandInput = {}): AXPCommandExecuteResultPromise {\n // Drive already has the explorer node — reuse it (no refetch).\n if (isExplorerFileNode(input.data)) {\n await this.documentManager.openFile(input.data);\n return { success: true, kind: 'object', data: { documentId: input.data.id } };\n }\n\n const documentId = resolveDocumentId(input);\n if (!documentId) {\n return {\n success: false,\n message: { text: 'Document id is required' },\n };\n }\n\n const document = await this.documentData.byKey(documentId);\n if (!document?.id) {\n return {\n success: false,\n message: { text: 'Document not found' },\n };\n }\n\n await this.documentManager.openFile(toExplorerNode(document));\n return { success: true, kind: 'object', data: { documentId } };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"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 AXMDocumentExplorerSmallIconsViewSkeletonComponent {
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 { AXMDocumentExplorerSmallIconsViewSkeletonComponent };
27
- //# sourceMappingURL=acorex-platform-module-document-management-client-small-icons-view-skeleton.component-Dskk_B96.mjs.map
27
+ //# sourceMappingURL=acorex-platform-module-document-management-client-small-icons-view-skeleton.component-cQZCJ4u4.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-small-icons-view-skeleton.component-Dskk_B96.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-icons-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-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-small-icons-view-skeleton',\n templateUrl: './small-icons-view-skeleton.component.html',\n styleUrl: './small-icons-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerSmallIconsViewSkeletonComponent {\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,suCAAA,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,suCAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-small-icons-view-skeleton.component-cQZCJ4u4.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-icons-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-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-small-icons-view-skeleton',\n templateUrl: './small-icons-view-skeleton.component.html',\n styleUrl: './small-icons-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerSmallIconsViewSkeletonComponent {\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,suCAAA,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,suCAAA,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 { AXMDocumentExplorerSmallIconsViewComponent };
30
- //# sourceMappingURL=acorex-platform-module-document-management-client-small-icons-view.component-RMDX74O9.mjs.map
30
+ //# sourceMappingURL=acorex-platform-module-document-management-client-small-icons-view.component-lXNM0X4L.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-small-icons-view.component-RMDX74O9.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-icons-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-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-small-icons-view',\n templateUrl: './small-icons-view.component.html',\n styleUrls: ['./small-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 AXMDocumentExplorerSmallIconsViewComponent {\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-2x\">\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-2x\">\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-2x\">\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,qoEAAA,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,qoEAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-small-icons-view.component-lXNM0X4L.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-icons-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-icons/small-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-small-icons-view',\n templateUrl: './small-icons-view.component.html',\n styleUrls: ['./small-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 AXMDocumentExplorerSmallIconsViewComponent {\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-2x\">\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-2x\">\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-2x\">\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,qoEAAA,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,qoEAAA,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 AXMDocumentExplorerSmallTilesViewSkeletonComponent {
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 { AXMDocumentExplorerSmallTilesViewSkeletonComponent };
27
- //# sourceMappingURL=acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-DQW2VZJH.mjs.map
27
+ //# sourceMappingURL=acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-C6bUuOPN.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-DQW2VZJH.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-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-small-tiles-view-skeleton',\n templateUrl: './small-tiles-view-skeleton.component.html',\n styleUrl: './small-tiles-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerSmallTilesViewSkeletonComponent {\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 <div class=\"__details\">\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n <div class=\"__info\">\n <ax-skeleton [animated]=\"true\" class=\"__meta\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__meta --short\"></ax-skeleton>\n </div>\n </div>\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 <div class=\"__details\">\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n <div class=\"__info\">\n <ax-skeleton [animated]=\"true\" class=\"__meta\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__meta --short\"></ax-skeleton>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"__section\">\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 <div class=\"__details\">\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n <div class=\"__info\">\n <ax-skeleton [animated]=\"true\" class=\"__meta\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__meta --short\"></ax-skeleton>\n </div>\n </div>\n </div>\n }\n </div>\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,iqEAyDA,EAAA,MAAA,EAAA,CAAA,ggEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9CY,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,iqEAAA,EAAA,MAAA,EAAA,CAAA,ggEAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-small-tiles-view-skeleton.component-C6bUuOPN.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-view-skeleton.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-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-small-tiles-view-skeleton',\n templateUrl: './small-tiles-view-skeleton.component.html',\n styleUrl: './small-tiles-view-skeleton.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSkeletonModule, AXTranslationModule],\n})\nexport class AXMDocumentExplorerSmallTilesViewSkeletonComponent {\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 <div class=\"__details\">\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n <div class=\"__info\">\n <ax-skeleton [animated]=\"true\" class=\"__meta\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__meta --short\"></ax-skeleton>\n </div>\n </div>\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 <div class=\"__details\">\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n <div class=\"__info\">\n <ax-skeleton [animated]=\"true\" class=\"__meta\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__meta --short\"></ax-skeleton>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n} @else {\n <div class=\"__section\">\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 <div class=\"__details\">\n <ax-skeleton [animated]=\"true\" class=\"__name\"></ax-skeleton>\n <div class=\"__info\">\n <ax-skeleton [animated]=\"true\" class=\"__meta\"></ax-skeleton>\n <ax-skeleton [animated]=\"true\" class=\"__meta --short\"></ax-skeleton>\n </div>\n </div>\n </div>\n }\n </div>\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,iqEAyDA,EAAA,MAAA,EAAA,CAAA,ggEAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED9CY,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,iqEAAA,EAAA,MAAA,EAAA,CAAA,ggEAAA,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 { AXMDocumentExplorerSmallTilesViewComponent };
35
- //# sourceMappingURL=acorex-platform-module-document-management-client-small-tiles-view.component-BT6fRWVH.mjs.map
35
+ //# sourceMappingURL=acorex-platform-module-document-management-client-small-tiles-view.component-CriaQUl9.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-small-tiles-view.component-BT6fRWVH.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.html"],"sourcesContent":["import { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPElementDataDirective, AXPDblClickDirective } 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-small-tiles-view',\n templateUrl: './small-tiles-view.component.html',\n styleUrls: ['./small-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 AXMDocumentExplorerSmallTilesViewComponent {\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\">\n {{ '@document-management:terms.common.folders' | translate | async }}\n </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\n class=\"__icon fa-2x\"\n [style.color]=\"vm.getFolderColor(folder)\"\n [class.__shortcut]=\"folderDisplay.isShortcut\"\n >\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\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\n <div class=\"__name\">{{ folder.name }}</div>\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>{{\n folder.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\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\">\n {{ '@document-management:terms.common.files' | translate | async }}\n </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 (onDblClick)=\"vm.openFile(file)\"\n >\n <div\n class=\"__icon fa-2x\"\n [class.__shortcut]=\"fileDisplay.isShortcut\"\n >\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\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 class=\"__info\">\n <span>{{ file.size | format: 'filesize' | async }}</span>\n <span>{{\n file.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <div class=\"__section\">\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\n class=\"__icon fa-2x\"\n [style.color]=\"vm.getFolderColor(folder)\"\n [class.__shortcut]=\"folderDisplay.isShortcut\"\n >\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\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\n <div class=\"__name\">{{ folder.name }}</div>\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>{{\n folder.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\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 fa-2x\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\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 class=\"__info\">\n <span>{{ file.size | format: 'filesize' | async }}</span>\n <span>{{\n file.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\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,01NA2LA,EAAA,MAAA,EAAA,CAAA,msFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1KM,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,01NAAA,EAAA,MAAA,EAAA,CAAA,msFAAA,CAAA,EAAA;;;;;"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-small-tiles-view.component-CriaQUl9.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.ts","../../../../libs/modules/document-management/client/src/lib/features/document-explorer/views/small-tiles/small-tiles-view.component.html"],"sourcesContent":["import { Component, inject, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPElementDataDirective, AXPDblClickDirective } 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-small-tiles-view',\n templateUrl: './small-tiles-view.component.html',\n styleUrls: ['./small-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 AXMDocumentExplorerSmallTilesViewComponent {\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\">\n {{ '@document-management:terms.common.folders' | translate | async }}\n </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\n class=\"__icon fa-2x\"\n [style.color]=\"vm.getFolderColor(folder)\"\n [class.__shortcut]=\"folderDisplay.isShortcut\"\n >\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\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\n <div class=\"__name\">{{ folder.name }}</div>\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>{{\n folder.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\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\">\n {{ '@document-management:terms.common.files' | translate | async }}\n </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 (onDblClick)=\"vm.openFile(file)\"\n >\n <div\n class=\"__icon fa-2x\"\n [class.__shortcut]=\"fileDisplay.isShortcut\"\n >\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\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 class=\"__info\">\n <span>{{ file.size | format: 'filesize' | async }}</span>\n <span>{{\n file.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\n </div>\n </div>\n }\n </div>\n </div>\n }\n} @else {\n <div class=\"__section\">\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\n class=\"__icon fa-2x\"\n [style.color]=\"vm.getFolderColor(folder)\"\n [class.__shortcut]=\"folderDisplay.isShortcut\"\n >\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\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\n <div class=\"__name\">{{ folder.name }}</div>\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>{{\n folder.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\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 fa-2x\" [class.__shortcut]=\"fileDisplay.isShortcut\">\n <i class=\"fa-fw {{ fileDisplay.icon }}\"></i>\n @if (fileDisplay.isShortcut) {\n <i\n class=\"__shortcut-arrow fa-light fa-up-right-from-square\"\n aria-hidden=\"true\"\n ></i>\n }\n </div>\n <div class=\"__details\">\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 class=\"__info\">\n <span>{{ file.size | format: 'filesize' | async }}</span>\n <span>{{\n file.modifiedAt\n | format: 'datetime' : { format: 'datetime' }\n | async\n }}</span>\n </div>\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,01NA2LA,EAAA,MAAA,EAAA,CAAA,msFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED1KM,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,01NAAA,EAAA,MAAA,EAAA,CAAA,msFAAA,CAAA,EAAA;;;;;"}
@@ -5,7 +5,7 @@ import { AXFileService } from '@acorex/core/file';
5
5
  import { RootConfig } from '@acorex-platform/module-document-management-client/contracts';
6
6
  import * as i0 from '@angular/core';
7
7
  import { inject, Injectable } from '@angular/core';
8
- import { d as AXMDocumentDialogService, e as buildFileChooserOptionsFromDocumentType } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
8
+ import { d as AXMDocumentDialogService, e as buildFileChooserOptionsFromDocumentType } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
9
9
 
10
10
  //#region ---- Imports ----
11
11
  //#endregion
@@ -85,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
85
85
  }] });
86
86
 
87
87
  export { AXMUploadDocumentCommand };
88
- //# sourceMappingURL=acorex-platform-module-document-management-client-upload-document.command-CFFOw4gM.mjs.map
88
+ //# sourceMappingURL=acorex-platform-module-document-management-client-upload-document.command-BvcccSTh.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-document-management-client-upload-document.command-CFFOw4gM.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/commands/upload-document.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPFileChooserService } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult, AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXMDocumentDocDto } from '@acorex-platform/module-document-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-document-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\nimport { buildFileChooserOptionsFromDocumentType } from '../shared/document-type-accept.util';\nimport { AXMDocumentDialogService } from '../shared/services/document-dialog.service';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMUploadDocumentCommandInput {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n data?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n options?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveUploadDocumentInput(input: AXMUploadDocumentCommandInput = {}) {\n const data = input.data ?? {};\n const options = input.options ?? {};\n\n return {\n documentType: input.documentType ?? data.documentType ?? options.documentType,\n documentTypeId: input.documentTypeId ?? data.documentTypeId ?? options.documentTypeId,\n };\n}\n\n//#endregion\n\n//#region ---- Upload document command ----\n\n/**\n * Resolves document type (optional picker), then opens the file chooser for drive upload.\n * Replaces the former upload-document workflow (check type → choose type → choose file).\n * Registered as DocumentManagement.Document:Upload.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMUploadDocumentCommand implements AXPCommand<AXMUploadDocumentCommandInput> {\n private readonly documentDialog = inject(AXMDocumentDialogService);\n private readonly entityService = inject(AXPEntityService);\n private readonly chooserService = inject(AXPFileChooserService);\n private readonly fileService = inject(AXFileService);\n\n private readonly documentTypeService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.documentType.name)\n .data<string, AXMDocumentDocDto>();\n\n async execute(input: AXMUploadDocumentCommandInput = {}): AXPCommandExecuteResultPromise {\n let { documentType, documentTypeId } = resolveUploadDocumentInput(input);\n\n if (!documentType) {\n const chooseTypeResult = await this.documentDialog.chooseDocumentType();\n if (chooseTypeResult.cancelled) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n documentTypeId = chooseTypeResult.documentTypeId;\n }\n\n let resolvedDocumentType = documentType;\n if (!resolvedDocumentType && documentTypeId) {\n resolvedDocumentType = (await this.documentTypeService.byKey(documentTypeId)) ?? undefined;\n }\n\n if (!resolvedDocumentType) {\n return {\n success: false,\n message: { text: 'Document type is required to upload a document.' },\n };\n }\n\n const { accept, fileType } = await buildFileChooserOptionsFromDocumentType(\n resolvedDocumentType,\n this.fileService,\n );\n const chosen = await this.chooserService.promptChoose({\n options: {\n multiple: false,\n accept: accept || undefined,\n fileType: fileType.length ? fileType : undefined,\n scope: AXPPlatformScope.Tenant,\n browseMode: 'file',\n destination: 'drive',\n },\n items: [],\n });\n\n if (!chosen?.length) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n\n return { success: true, kind: 'object',\n data: {\n documentType: resolvedDocumentType,\n chosenFiles: chosen,\n },\n };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-document-management-client-upload-document.command-BvcccSTh.mjs","sources":["../../../../libs/modules/document-management/client/src/lib/features/commands/upload-document.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPFileChooserService } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult, AXPPlatformScope } from '@acorex-platform/framework-shared/core';\nimport { AXFileService } from '@acorex/core/file';\nimport { AXMDocumentDocDto } from '@acorex-platform/module-document-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-document-management-client/contracts';\nimport { inject, Injectable } from '@angular/core';\n\nimport { buildFileChooserOptionsFromDocumentType } from '../shared/document-type-accept.util';\nimport { AXMDocumentDialogService } from '../shared/services/document-dialog.service';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMUploadDocumentCommandInput {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n data?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n options?: {\n documentType?: AXMDocumentDocDto;\n documentTypeId?: string;\n };\n}\n\n//#endregion\n\n//#region ---- Helpers ----\n\nfunction resolveUploadDocumentInput(input: AXMUploadDocumentCommandInput = {}) {\n const data = input.data ?? {};\n const options = input.options ?? {};\n\n return {\n documentType: input.documentType ?? data.documentType ?? options.documentType,\n documentTypeId: input.documentTypeId ?? data.documentTypeId ?? options.documentTypeId,\n };\n}\n\n//#endregion\n\n//#region ---- Upload document command ----\n\n/**\n * Resolves document type (optional picker), then opens the file chooser for drive upload.\n * Replaces the former upload-document workflow (check type → choose type → choose file).\n * Registered as DocumentManagement.Document:Upload.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMUploadDocumentCommand implements AXPCommand<AXMUploadDocumentCommandInput> {\n private readonly documentDialog = inject(AXMDocumentDialogService);\n private readonly entityService = inject(AXPEntityService);\n private readonly chooserService = inject(AXPFileChooserService);\n private readonly fileService = inject(AXFileService);\n\n private readonly documentTypeService = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.documentType.name)\n .data<string, AXMDocumentDocDto>();\n\n async execute(input: AXMUploadDocumentCommandInput = {}): AXPCommandExecuteResultPromise {\n let { documentType, documentTypeId } = resolveUploadDocumentInput(input);\n\n if (!documentType) {\n const chooseTypeResult = await this.documentDialog.chooseDocumentType();\n if (chooseTypeResult.cancelled) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n documentTypeId = chooseTypeResult.documentTypeId;\n }\n\n let resolvedDocumentType = documentType;\n if (!resolvedDocumentType && documentTypeId) {\n resolvedDocumentType = (await this.documentTypeService.byKey(documentTypeId)) ?? undefined;\n }\n\n if (!resolvedDocumentType) {\n return {\n success: false,\n message: { text: 'Document type is required to upload a document.' },\n };\n }\n\n const { accept, fileType } = await buildFileChooserOptionsFromDocumentType(\n resolvedDocumentType,\n this.fileService,\n );\n const chosen = await this.chooserService.promptChoose({\n options: {\n multiple: false,\n accept: accept || undefined,\n fileType: fileType.length ? fileType : undefined,\n scope: AXPPlatformScope.Tenant,\n browseMode: 'file',\n destination: 'drive',\n },\n items: [],\n });\n\n if (!chosen?.length) {\n return { success: true, kind: 'object', data: { cancelled: true } };\n }\n\n return { success: true, kind: 'object',\n data: {\n documentType: resolvedDocumentType,\n chosenFiles: chosen,\n },\n };\n }\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { h as AXMDocumentDriveComponent, i as AXMDocumentDrivePageComponent, j as AXMDocumentDrivePageComponentProvider, a as AXMDocumentExpirationBadgeComponent, k as AXMDocumentExpirationStatusProvider, f as AXMDocumentExplorerComponent, l as AXMDocumentManagementApiService, m as AXMDocumentManagementFileTypeProvider, n as AXMDocumentManagementModule, c as AXMDocumentManagerService, o as AXMDocumentManagerServiceImpl, p as AXMFileTypeExtensionWidgetColumnComponent, q as AXMFileTypeExtensionWidgetDesignerComponent, r as AXMFileTypeExtensionWidgetEditComponent, s as AXMFileTypeExtensionWidgetViewComponent, t as AXMFileTypeModule, b as AXMFolderExpirationBadgesComponent, g as AXMFolderPathBreadcrumbsComponent, u as AXMMenuProvider, v as AXMSearchCommandProvider, w as AXM_DOCUMENT_ATTACHMENT_DIALOG_ON_ACTION_HOOK_KEY, x as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT, y as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT_NO_SAVE, z as AXM_DOCUMENT_EXPIRATION_STATUS, B as AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY, A as AXPDocumentExplorerViewModel, C as AXPDocumentManagementService, D as AXPDocumentManagementSettingProvider, E as AXmFileTypeExtensionWidget, F as DM_AUDIO_EXTENSION_ICONS, G as DM_DOCUMENT_EXTENSION_ICONS, H as DM_FILE_EXTENSION_ICONS, I as DM_FILE_TYPE_ICONS, J as DM_VIDEO_EXTENSION_ICONS, K as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY, S as ScopedDriveService, L as buildDocumentManagementFileTypeCatalog, M as documentPlugin, N as resolveDocumentExpirationBadge, O as resolveFolderExpirationCountBadges } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-LQjccofO.mjs';
1
+ export { h as AXMDocumentDriveComponent, i as AXMDocumentDrivePageComponent, j as AXMDocumentDrivePageComponentProvider, a as AXMDocumentExpirationBadgeComponent, k as AXMDocumentExpirationStatusProvider, f as AXMDocumentExplorerComponent, l as AXMDocumentManagementApiService, m as AXMDocumentManagementFileTypeProvider, n as AXMDocumentManagementModule, c as AXMDocumentManagerService, o as AXMDocumentManagerServiceImpl, p as AXMFileTypeExtensionWidgetColumnComponent, q as AXMFileTypeExtensionWidgetDesignerComponent, r as AXMFileTypeExtensionWidgetEditComponent, s as AXMFileTypeExtensionWidgetViewComponent, t as AXMFileTypeModule, b as AXMFolderExpirationBadgesComponent, g as AXMFolderPathBreadcrumbsComponent, u as AXMMenuProvider, v as AXMSearchCommandProvider, w as AXM_DOCUMENT_ATTACHMENT_DIALOG_ON_ACTION_HOOK_KEY, x as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT, y as AXM_DOCUMENT_DIALOG_SURFACE_ATTACHMENT_NO_SAVE, z as AXM_DOCUMENT_EXPIRATION_STATUS, B as AXM_DOCUMENT_EXPIRATION_STATUS_DEFINITION_KEY, A as AXPDocumentExplorerViewModel, C as AXPDocumentManagementService, D as AXPDocumentManagementSettingProvider, E as AXmFileTypeExtensionWidget, F as DM_AUDIO_EXTENSION_ICONS, G as DM_DOCUMENT_EXTENSION_ICONS, H as DM_FILE_EXTENSION_ICONS, I as DM_FILE_TYPE_ICONS, J as DM_VIDEO_EXTENSION_ICONS, K as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY, S as ScopedDriveService, L as buildDocumentManagementFileTypeCatalog, M as documentPlugin, N as resolveDocumentExpirationBadge, O as resolveFolderExpirationCountBadges } from './acorex-platform-module-document-management-client-acorex-platform-module-document-management-client-EXw7ezd3.mjs';
2
2
  export { AXM_DOCUMENT_EXPIRATION_NEAR_DAYS, toDocumentExpirationDate } from '@acorex-platform/module-document-management-client/contracts';
3
3
  //# sourceMappingURL=acorex-platform-module-document-management-client.mjs.map
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-document-management-client",
3
- "version": "0.0.28",
3
+ "version": "0.0.32",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@acorex-platform/module-data-management-client": "0.0.28",
6
+ "@acorex-platform/module-data-management-client": "0.0.32",
7
7
  "@angular/common": "^21.0.0 || ^22.0.0",
8
8
  "@angular/core": "^21.0.0 || ^22.0.0"
9
9
  },
@@ -110,14 +110,15 @@ declare const RootConfig: {
110
110
  };
111
111
  };
112
112
  /**
113
- * Daily document expiration notifier (BackgroundJobSchedule → NotifyRun).
114
- * Template ids align with AXM_TEXT_TEMPLATE_IDS in content-management contracts.
113
+ * Daily document expiration digest (BackgroundJobSchedule → NotifyRun).
114
+ * One combined email/in-app per recipient per scoped ref (employee / tenant / project),
115
+ * listing every currently expired or near-expiry document in that scope.
116
+ * Template id aligns with AXM_TEXT_TEMPLATE_IDS.documentExpired.
115
117
  */
116
118
  readonly documentExpirationNotify: {
117
119
  readonly providerKey: "document-management";
118
120
  readonly defaultCron: "0 0 * * *";
119
- readonly expiredTemplateId: "c7100009-0001-4111-b111-090909090909";
120
- readonly nearExpiryTemplateId: "c710000a-0001-4111-b111-0a0a0a0a0a0a";
121
+ readonly templateId: "c7100009-0001-4111-b111-090909090909";
121
122
  readonly tenantRoleNames: readonly ["admin", "safety-manager"];
122
123
  };
123
124
  };