@acorex/modules 19.3.8 → 19.4.1

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 (149) hide show
  1. package/auth/lib/pages/account/account.module.d.ts +1 -1
  2. package/common/lib/features/global-search/search.module.d.ts +1 -1
  3. package/dashboard-management/lib/features/home-dashboard/dashboard-home/home-dashboard.d.ts +2 -2
  4. package/document-management/lib/badge.provider.d.ts +1 -1
  5. package/document-management/lib/features/drive/drive.component.d.ts +2 -2
  6. package/document-management/lib/features/shared/document-manager.service.d.ts +2 -1
  7. package/document-management/lib/features/shared/document-manager.types.d.ts +3 -0
  8. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +5 -4
  9. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-bj5xztse.mjs → acorex-modules-auth-acorex-modules-auth-BhTLWa3y.mjs} +14 -13
  10. package/fesm2022/acorex-modules-auth-acorex-modules-auth-BhTLWa3y.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-BOL3VzC1.mjs → acorex-modules-auth-app-chooser.component-J5vGfv56.mjs} +2 -2
  12. package/fesm2022/{acorex-modules-auth-app-chooser.component-BOL3VzC1.mjs.map → acorex-modules-auth-app-chooser.component-J5vGfv56.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-login.module-C1AoXhCI.mjs → acorex-modules-auth-login.module-DUlctvyx.mjs} +4 -4
  14. package/fesm2022/{acorex-modules-auth-login.module-C1AoXhCI.mjs.map → acorex-modules-auth-login.module-DUlctvyx.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-master.layout-vuHfrDxu.mjs → acorex-modules-auth-master.layout-BFCxBj8H.mjs} +6 -5
  16. package/fesm2022/acorex-modules-auth-master.layout-BFCxBj8H.mjs.map +1 -0
  17. package/fesm2022/{acorex-modules-auth-password.component-Dtcz95NV.mjs → acorex-modules-auth-password.component-CPpJug_X.mjs} +2 -2
  18. package/fesm2022/{acorex-modules-auth-password.component-Dtcz95NV.mjs.map → acorex-modules-auth-password.component-CPpJug_X.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-password.component-C71v2x71.mjs → acorex-modules-auth-password.component-CSE7_3Ey.mjs} +2 -2
  20. package/fesm2022/{acorex-modules-auth-password.component-C71v2x71.mjs.map → acorex-modules-auth-password.component-CSE7_3Ey.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-auth-routes-lJgHFaQR.mjs → acorex-modules-auth-routes-BSk5njsU.mjs} +2 -2
  22. package/fesm2022/{acorex-modules-auth-routes-lJgHFaQR.mjs.map → acorex-modules-auth-routes-BSk5njsU.mjs.map} +1 -1
  23. package/fesm2022/{acorex-modules-auth-two-factor.module-C9SfEHF7.mjs → acorex-modules-auth-two-factor.module-D3mhXLXx.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-auth-two-factor.module-C9SfEHF7.mjs.map → acorex-modules-auth-two-factor.module-D3mhXLXx.mjs.map} +1 -1
  25. package/fesm2022/{acorex-modules-auth-user-sessions.component-CCsoLecU.mjs → acorex-modules-auth-user-sessions.component-COeH4jjg.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-auth-user-sessions.component-CCsoLecU.mjs.map → acorex-modules-auth-user-sessions.component-COeH4jjg.mjs.map} +1 -1
  27. package/fesm2022/acorex-modules-auth.mjs +1 -1
  28. package/fesm2022/{acorex-modules-common-search-popup.component-D1Ddwc_U.mjs → acorex-modules-common-search-popup.component-tUvSQpDP.mjs} +5 -5
  29. package/fesm2022/acorex-modules-common-search-popup.component-tUvSQpDP.mjs.map +1 -0
  30. package/fesm2022/acorex-modules-common.mjs +5 -4
  31. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  32. package/fesm2022/acorex-modules-dashboard-management.mjs +8 -6
  33. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  34. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs → acorex-modules-document-management-acorex-modules-document-management-BcgxVPuR.mjs} +120 -61
  35. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BcgxVPuR.mjs.map +1 -0
  36. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs → acorex-modules-document-management-attachment-widget.component-Cwa7HuUo.mjs} +4 -4
  37. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs.map → acorex-modules-document-management-attachment-widget.component-Cwa7HuUo.mjs.map} +1 -1
  38. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs → acorex-modules-document-management-create-folder-dialog.component-BN0pWX7a.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs.map → acorex-modules-document-management-create-folder-dialog.component-BN0pWX7a.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-document-management-details-view.component-DE84Itc_.mjs → acorex-modules-document-management-details-view.component-DXn54h2g.mjs} +2 -2
  41. package/fesm2022/{acorex-modules-document-management-details-view.component-DE84Itc_.mjs.map → acorex-modules-document-management-details-view.component-DXn54h2g.mjs.map} +1 -1
  42. package/fesm2022/{acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs → acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs} +2 -2
  43. package/fesm2022/{acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs.map → acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs.map} +1 -1
  44. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs → acorex-modules-document-management-large-icons-view.component-DwAyEZUU.mjs} +2 -2
  45. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs.map → acorex-modules-document-management-large-icons-view.component-DwAyEZUU.mjs.map} +1 -1
  46. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs → acorex-modules-document-management-large-tiles-view.component-B0n1rs-g.mjs} +2 -2
  47. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs.map → acorex-modules-document-management-large-tiles-view.component-B0n1rs-g.mjs.map} +1 -1
  48. package/fesm2022/{acorex-modules-document-management-list-view.component-CGSls2hG.mjs → acorex-modules-document-management-list-view.component-CIAQBAcy.mjs} +2 -2
  49. package/fesm2022/{acorex-modules-document-management-list-view.component-CGSls2hG.mjs.map → acorex-modules-document-management-list-view.component-CIAQBAcy.mjs.map} +1 -1
  50. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs → acorex-modules-document-management-permission-definition.provider-BBXmMuIh.mjs} +3 -3
  51. package/fesm2022/acorex-modules-document-management-permission-definition.provider-BBXmMuIh.mjs.map +1 -0
  52. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs → acorex-modules-document-management-rename-node-dialog.component-D28zKZqZ.mjs} +2 -2
  53. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs.map → acorex-modules-document-management-rename-node-dialog.component-D28zKZqZ.mjs.map} +1 -1
  54. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs → acorex-modules-document-management-small-icons-view.component-Dg5nb2yW.mjs} +2 -2
  55. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs.map → acorex-modules-document-management-small-icons-view.component-Dg5nb2yW.mjs.map} +1 -1
  56. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs → acorex-modules-document-management-small-tiles-view.component-BCaQYHQF.mjs} +2 -2
  57. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs.map → acorex-modules-document-management-small-tiles-view.component-BCaQYHQF.mjs.map} +1 -1
  58. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  59. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-Bh0D44Yv.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-KTKkPz-B.mjs} +9 -9
  60. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-Bh0D44Yv.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-KTKkPz-B.mjs.map} +1 -1
  61. package/fesm2022/{acorex-modules-form-template-management-category.entity-CMez7XCT.mjs → acorex-modules-form-template-management-category.entity-DxgqHkjI.mjs} +2 -2
  62. package/fesm2022/{acorex-modules-form-template-management-category.entity-CMez7XCT.mjs.map → acorex-modules-form-template-management-category.entity-DxgqHkjI.mjs.map} +1 -1
  63. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-D_VOBOyf.mjs → acorex-modules-form-template-management-permission-definition.provider-6czJEo8f.mjs} +13 -13
  64. package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-6czJEo8f.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CzvnYncE.mjs → acorex-modules-form-template-management-settings.provider-D3nbUDMw.mjs} +2 -2
  66. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CzvnYncE.mjs.map → acorex-modules-form-template-management-settings.provider-D3nbUDMw.mjs.map} +1 -1
  67. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CJqwkNDn.mjs → acorex-modules-form-template-management-template-widget-edit.component-BLobMX4C.mjs} +2 -2
  68. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CJqwkNDn.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-BLobMX4C.mjs.map} +1 -1
  69. package/fesm2022/{acorex-modules-form-template-management-template.entity-CSUgPKlG.mjs → acorex-modules-form-template-management-template.entity-Ci6QzE16.mjs} +2 -2
  70. package/fesm2022/{acorex-modules-form-template-management-template.entity-CSUgPKlG.mjs.map → acorex-modules-form-template-management-template.entity-Ci6QzE16.mjs.map} +1 -1
  71. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDFNie66.mjs → acorex-modules-form-template-management-viewer-popup.component-DIzlC6tX.mjs} +2 -2
  72. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDFNie66.mjs.map → acorex-modules-form-template-management-viewer-popup.component-DIzlC6tX.mjs.map} +1 -1
  73. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  74. package/fesm2022/acorex-modules-notification-management.mjs +3 -3
  75. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  76. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs → acorex-modules-organization-management-org-chart-configuration.page-DNzhGz5G.mjs} +7 -7
  77. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DNzhGz5G.mjs.map +1 -0
  78. package/fesm2022/{acorex-modules-organization-management-org-chart.page-1UgQCqvl.mjs → acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs} +22 -10
  79. package/fesm2022/acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs.map +1 -0
  80. package/fesm2022/acorex-modules-organization-management.mjs +117 -5
  81. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  82. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Bh6NW7UJ.mjs → acorex-modules-platform-management-acorex-modules-platform-management-CO8rzxOh.mjs} +16 -15
  83. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-CO8rzxOh.mjs.map +1 -0
  84. package/fesm2022/{acorex-modules-platform-management-list-version.component-Ctqr4YiY.mjs → acorex-modules-platform-management-list-version.component-gWnz7cp6.mjs} +2 -2
  85. package/fesm2022/{acorex-modules-platform-management-list-version.component-Ctqr4YiY.mjs.map → acorex-modules-platform-management-list-version.component-gWnz7cp6.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs → acorex-modules-platform-management-settings.provider-JEwENvqy.mjs} +2 -2
  87. package/fesm2022/{acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs.map → acorex-modules-platform-management-settings.provider-JEwENvqy.mjs.map} +1 -1
  88. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  89. package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs +218 -0
  90. package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map +1 -0
  91. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs +41 -0
  92. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs.map +1 -0
  93. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs +21 -0
  94. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs.map +1 -0
  95. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-P3adQ1xt.mjs +51 -0
  96. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-P3adQ1xt.mjs.map +1 -0
  97. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-D4lk67fE.mjs +22 -0
  98. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-D4lk67fE.mjs.map +1 -0
  99. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-Cz32ewum.mjs +21 -0
  100. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-Cz32ewum.mjs.map +1 -0
  101. package/fesm2022/acorex-modules-security-management.mjs +185 -18
  102. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  103. package/fesm2022/{acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs → acorex-modules-settings-management-setting-page.component-BgQoPRy_.mjs} +7 -7
  104. package/fesm2022/acorex-modules-settings-management-setting-page.component-BgQoPRy_.mjs.map +1 -0
  105. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DryghOjs.mjs → acorex-modules-settings-management-setting-view.component-CX_FKIxI.mjs} +4 -3
  106. package/fesm2022/acorex-modules-settings-management-setting-view.component-CX_FKIxI.mjs.map +1 -0
  107. package/fesm2022/acorex-modules-settings-management.mjs +3 -3
  108. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  109. package/fesm2022/acorex-modules-training-management.mjs +2 -2
  110. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  111. package/form-template-management/index.d.ts +1 -0
  112. package/notification-management/lib/notification-management.module.d.ts +1 -1
  113. package/organization-management/lib/features/employee/employee-feature.module.d.ts +9 -0
  114. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +2 -2
  115. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +3 -2
  116. package/organization-management/lib/organization-management.module.d.ts +2 -1
  117. package/package.json +5 -5
  118. package/platform-management/lib/entities/data-source/data-source.service.d.ts +1 -1
  119. package/platform-management/lib/entities/data-source/data-source.types.d.ts +2 -2
  120. package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +1 -1
  121. package/platform-management/lib/entities/meta-data-definition/meta-data-definition.service.d.ts +2 -2
  122. package/platform-management/lib/entities/meta-data-definition/meta-data-definition.types.d.ts +2 -2
  123. package/platform-management/lib/entities/meta-data-definition-category/category.service.d.ts +1 -1
  124. package/platform-management/lib/entities/meta-data-definition-category/category.types.d.ts +2 -2
  125. package/platform-management/lib/features/app-terms/pages/list/list-terms.component.d.ts +2 -2
  126. package/platform-management/lib/features/common/common.module.d.ts +1 -1
  127. package/platform-management/lib/platform-management.module.d.ts +1 -1
  128. package/security-management/lib/features/permissions/permissions-editor/permissions-editor.component.d.ts +70 -0
  129. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-column.component.d.ts +10 -0
  130. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-designer.component.d.ts +6 -0
  131. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-edit.component.d.ts +8 -0
  132. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-print.component.d.ts +6 -0
  133. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-view.component.d.ts +6 -0
  134. package/security-management/lib/features/permissions/permissions-widget/permissions-widget.config.d.ts +2 -0
  135. package/security-management/lib/features/permissions/permissions.module.d.ts +8 -0
  136. package/security-management/lib/features/permissions/workflows/assign-permissions.workflow.d.ts +10 -0
  137. package/security-management/lib/security-management.module.d.ts +3 -2
  138. package/settings-management/lib/features/settings/setting-page/setting-page.component.d.ts +2 -2
  139. package/fesm2022/acorex-modules-auth-acorex-modules-auth-bj5xztse.mjs.map +0 -1
  140. package/fesm2022/acorex-modules-auth-master.layout-vuHfrDxu.mjs.map +0 -1
  141. package/fesm2022/acorex-modules-common-search-popup.component-D1Ddwc_U.mjs.map +0 -1
  142. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs.map +0 -1
  143. package/fesm2022/acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs.map +0 -1
  144. package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-D_VOBOyf.mjs.map +0 -1
  145. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs.map +0 -1
  146. package/fesm2022/acorex-modules-organization-management-org-chart.page-1UgQCqvl.mjs.map +0 -1
  147. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-Bh6NW7UJ.mjs.map +0 -1
  148. package/fesm2022/acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs.map +0 -1
  149. package/fesm2022/acorex-modules-settings-management-setting-view.component-DryghOjs.mjs.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { AXPSessionService, AXPAuthGuard, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
2
- import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPFileTypeProviderService, AXP_FILE_TYPE_INFO_PROVIDER, AXPFileStorageService, AXPSettingService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/common';
2
+ import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPFileTypeProviderService, AXP_FILE_TYPE_INFO_PROVIDER, AXPFileStorageService, AXPSettingService, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
3
3
  import { AXPEntityService, AXMEntityCrudServiceImpl, AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
4
4
  import * as i0 from '@angular/core';
5
- import { inject, Injector, Injectable, NgModule, ChangeDetectionStrategy, Component, signal, computed, viewChild, input, effect, ViewEncapsulation, afterNextRender, untracked, HostListener, HostBinding } from '@angular/core';
5
+ import { inject, Injector, Injectable, NgModule, ChangeDetectionStrategy, Component, signal, computed, viewChild, input, effect, ViewEncapsulation, afterNextRender, untracked, HostListener } from '@angular/core';
6
6
  import { firstValueFrom } from 'rxjs';
7
7
  import * as i6 from '@acorex/platform/layout/builder';
8
8
  import { AXPWidgetsCatalog, AXPValueWidgetComponent, AXPLayoutBuilderModule, AXP_WIDGETS_ADVANCE_CATEGORY, AXPPageStatus, AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex/platform/layout/builder';
@@ -46,7 +46,7 @@ import { AXMenuModule } from '@acorex/components/menu';
46
46
  import { AXDateTimeModule } from '@acorex/core/date-time';
47
47
  import * as i2$3 from '@acorex/core/format';
48
48
  import { AXFormatModule } from '@acorex/core/format';
49
- import { AXPLayoutThemeService, AXPThemeLayoutBlockComponent } from '@acorex/platform/themes/shared';
49
+ import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
50
50
  import { castArray, get as get$1, set as set$1 } from 'lodash-es';
51
51
  import { AXDialogService } from '@acorex/components/dialog';
52
52
  import { AXPopupService } from '@acorex/components/popup';
@@ -55,7 +55,8 @@ import { AXBadgeModule } from '@acorex/components/badge';
55
55
  import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
56
56
  import * as i6$1 from '@acorex/components/search-box';
57
57
  import { AXSearchBoxModule } from '@acorex/components/search-box';
58
- import { AXPBasePageComponent, AXPPageLayoutComponent, AXPBasePage } from '@acorex/platform/themes/default';
58
+ import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase } from '@acorex/platform/layout/views';
59
+ import { AXPThemeLayoutBlockComponent, AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';
59
60
  import { AXBasePageComponent } from '@acorex/components/page';
60
61
  import { AXUploaderService } from '@acorex/components/uploader';
61
62
 
@@ -3213,7 +3214,7 @@ class AXMDocumentManagerService {
3213
3214
  }
3214
3215
  }
3215
3216
  async showFolderEditDialog(node) {
3216
- const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs'))
3217
+ const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-BN0pWX7a.mjs'))
3217
3218
  .AXMCreateFolderDialog;
3218
3219
  const popup = await this.popupService.open(comp, {
3219
3220
  title: 't("actions.update-folder")',
@@ -3336,6 +3337,7 @@ class AXMDocumentManagerService {
3336
3337
  size: file.size,
3337
3338
  fileId: file.fileId,
3338
3339
  storageType: 'physical',
3340
+ meta: file.meta,
3339
3341
  };
3340
3342
  }
3341
3343
  async createFile(data) {
@@ -3361,7 +3363,7 @@ class AXMDocumentManagerService {
3361
3363
  }
3362
3364
  }
3363
3365
  async showCreateFolderDialog(parentId) {
3364
- const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs'))
3366
+ const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-BN0pWX7a.mjs'))
3365
3367
  .AXMCreateFolderDialog;
3366
3368
  const popup = await this.popupService.open(comp, {
3367
3369
  title: 't("actions.create-folder")',
@@ -3372,7 +3374,7 @@ class AXMDocumentManagerService {
3372
3374
  return popup.data?.folder;
3373
3375
  }
3374
3376
  async moveTo(options) {
3375
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs')).AXMDocumentDriveChooseComponent;
3377
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs')).AXMDocumentDriveChooseComponent;
3376
3378
  //
3377
3379
  const popup = await this.popupService.open(comp, {
3378
3380
  title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
@@ -3403,7 +3405,7 @@ class AXMDocumentManagerService {
3403
3405
  }
3404
3406
  }
3405
3407
  async copyTo(options) {
3406
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs')).AXMDocumentDriveChooseComponent;
3408
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs')).AXMDocumentDriveChooseComponent;
3407
3409
  //
3408
3410
  const popup = await this.popupService.open(comp, {
3409
3411
  title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
@@ -3496,7 +3498,7 @@ class AXMDocumentManagerService {
3496
3498
  const file = await this.documentService.getOne(node.id);
3497
3499
  }
3498
3500
  async showRenamePopup(node) {
3499
- const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs'))
3501
+ const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-D28zKZqZ.mjs'))
3500
3502
  .AXMRenameNodeDialog;
3501
3503
  const popup = await this.popupService.open(comp, {
3502
3504
  title: 't("actions.rename")',
@@ -3544,7 +3546,7 @@ class AXMDocumentManagerService {
3544
3546
  return [...(await this.getAllFolders()), ...(await this.getAllFiles())];
3545
3547
  }
3546
3548
  async showChooseFileDialog(scope) {
3547
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs')).AXMDocumentDriveChooseComponent;
3549
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-CTrPj9t3.mjs')).AXMDocumentDriveChooseComponent;
3548
3550
  const result = await this.popupService.open(comp, {
3549
3551
  title: `t("actions.choose-from-drive" , scope: {"${RootConfig.config.i18n}"})`,
3550
3552
  data: {
@@ -3702,6 +3704,45 @@ class AXMDocumentManagerService {
3702
3704
  }
3703
3705
  return false;
3704
3706
  }
3707
+ async uploadFileVirtualByType(docType) {
3708
+ const comp = (await Promise.resolve().then(function () { return index; })).AXMDocumentTypeChooseFileComponent;
3709
+ const result = await this.popupService.open(comp, {
3710
+ title: `Select ${docType.title}`,
3711
+ data: {
3712
+ documentType: docType,
3713
+ },
3714
+ });
3715
+ const resultData = [];
3716
+ if (result.data != null) {
3717
+ const { uploads, ...metaContext } = result.data.context;
3718
+ for (const u of uploads) {
3719
+ const fileInfo = u;
3720
+ await this.fileService.commit(u.fileId);
3721
+ const file = await this.documentService.insertOne({
3722
+ fileId: fileInfo.fileId,
3723
+ meta: metaContext,
3724
+ parentId: 'virtual',
3725
+ size: fileInfo.size,
3726
+ name: fileInfo.name ?? '',
3727
+ title: fileInfo.name ?? '',
3728
+ });
3729
+ resultData.push({
3730
+ id: file,
3731
+ name: fileInfo.name ?? '',
3732
+ parentId: 'virtual',
3733
+ type: 'file',
3734
+ storageType: 'virtual',
3735
+ size: fileInfo.size,
3736
+ meta: metaContext,
3737
+ fileId: fileInfo.fileId
3738
+ });
3739
+ }
3740
+ return resultData;
3741
+ }
3742
+ else {
3743
+ return [];
3744
+ }
3745
+ }
3705
3746
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3706
3747
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagerService, providedIn: 'root' }); }
3707
3748
  }
@@ -4136,6 +4177,7 @@ const AXPDocumentExplorerViewModel = signalStore({ providedIn: 'root' }, withSta
4136
4177
  patchState(store, {
4137
4178
  files: store.currentFolderContents().files.filter((file) => !nodes.some((node) => node.name === file.name)),
4138
4179
  });
4180
+ this.deselectAll();
4139
4181
  }
4140
4182
  else {
4141
4183
  const result = await driveService.showDeleteNodesDialog(nodes);
@@ -4254,13 +4296,13 @@ class AXMDocumentExplorerComponent {
4254
4296
  this.showContextMenu = input(true);
4255
4297
  this.view = signal(null);
4256
4298
  this.viewMap = {
4257
- list: async () => (await import('./acorex-modules-document-management-list-view.component-CGSls2hG.mjs')).AXMDocumentExplorerListViewComponent,
4258
- 'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs')).AXMDocumentExplorerSmallTilesViewComponent,
4259
- 'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs')).AXMDocumentExplorerLargeTilesViewComponent,
4260
- details: async () => (await import('./acorex-modules-document-management-details-view.component-DE84Itc_.mjs')).AXMDocumentExplorerDetailsViewComponent,
4261
- 'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs')).AXMDocumentExplorerLargeIconsViewComponent,
4262
- 'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs')).AXMDocumentExplorerSmallIconsViewComponent,
4263
- 'attachment': async () => (await import('./acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs')).AXMDocumentExplorerAttachmentComponent,
4299
+ list: async () => (await import('./acorex-modules-document-management-list-view.component-CIAQBAcy.mjs')).AXMDocumentExplorerListViewComponent,
4300
+ 'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-BCaQYHQF.mjs')).AXMDocumentExplorerSmallTilesViewComponent,
4301
+ 'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-B0n1rs-g.mjs')).AXMDocumentExplorerLargeTilesViewComponent,
4302
+ details: async () => (await import('./acorex-modules-document-management-details-view.component-DXn54h2g.mjs')).AXMDocumentExplorerDetailsViewComponent,
4303
+ 'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-DwAyEZUU.mjs')).AXMDocumentExplorerLargeIconsViewComponent,
4304
+ 'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-Dg5nb2yW.mjs')).AXMDocumentExplorerSmallIconsViewComponent,
4305
+ 'attachment': async () => (await import('./acorex-modules-document-management-attachment-widget.component-Cwa7HuUo.mjs')).AXMDocumentExplorerAttachmentComponent,
4264
4306
  };
4265
4307
  this.#effect = effect(() => {
4266
4308
  if (this.vm.loadingFolderId() == null) {
@@ -4851,7 +4893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4851
4893
  ], template: "<!-- Multiple Selected -->\n@if(vm.hasMultipleSelectedItems()) {\n<div class=\"__header\" *translate=\"let t\">\n <div class=\"__title\">\n <i class=\"fa-fw fa-lg fa-solid\"></i>\n <span> {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}</span>\n </div>\n <ax-button [look]=\"'blank'\" class=\"ax-sm ax-rounded-full\" (onClick)=\"vm.closeDetailPanel()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n</div>\n<div class=\"__content\"></div>\n}\n<!-- Single Selected -->\n@else {\n<!-- Info -->\n@let nodeInfo = vm.getNodeInfo((vm.selectedNode() ?? vm.currentFolder())!);\n<div class=\"__header\">\n <div class=\"__title\">\n <i class=\"fa-fw fa-lg {{ nodeInfo.icon }} fa-solid\"></i>\n <span>{{ nodeInfo.name }}</span>\n </div>\n <ax-button [look]=\"'blank'\" class=\"ax-sm ax-rounded-full\" (onClick)=\"vm.closeDetailPanel()\">\n <ax-icon icon=\"fa-solid fa-xmark\"></ax-icon>\n </ax-button>\n</div>\n<div class=\"__content\">\n @for(section of nodeInfo.sections; track section.title) {\n <div class=\"__section\">\n <div class=\"__title\">\n <span>{{ section.title }}</span>\n </div>\n <div class=\"__content\">\n @for(detail of section.details; track detail.title) {\n <div class=\"__row\">\n <div class=\"__title\">\n <span>{{ detail.title }}</span>\n </div>\n <div class=\"__content\">\n @if(detail.format) {\n <span>{{ detail.content | format : detail.format | async }}</span>\n } @else {\n <span>{{ detail.content ?? '---' }}</span>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n</div>\n}\n", styles: ["axm-document-explorer-detail-panel{display:flex;flex-direction:column;border-radius:.5rem;border-width:1px;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1024px){axm-document-explorer-detail-panel{min-width:20rem}}axm-document-explorer-detail-panel>.__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom-width:1px;padding:1rem}axm-document-explorer-detail-panel>.__header>.__title{display:flex;width:90%;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__header>.__title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start;font-weight:600;line-height:1.625}axm-document-explorer-detail-panel>.__content{display:flex;flex-direction:column}axm-document-explorer-detail-panel>.__content>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}axm-document-explorer-detail-panel>.__content>.__section{display:flex;flex-direction:column;padding:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__title{margin-bottom:1rem;font-size:.875rem;line-height:1.25rem;font-weight:700}axm-document-explorer-detail-panel>.__content>.__section>.__content{display:flex;flex-direction:column;gap:1rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row{display:flex;flex-direction:column;gap:.25rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__title{display:flex;font-size:.875rem;line-height:1.25rem;font-weight:600;opacity:.9}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content{display:flex;flex-direction:row;align-items:center;gap:.5rem}axm-document-explorer-detail-panel>.__content>.__section>.__content>.__row>.__content span{opacity:.7}\n"] }]
4852
4894
  }] });
4853
4895
 
4854
- class AXMDocumentDriveComponent extends AXPBasePageComponent {
4896
+ class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent {
4855
4897
  constructor() {
4856
4898
  super(...arguments);
4857
4899
  //#region ---------------- Services & Dependencies ----------------
@@ -5090,14 +5132,14 @@ class AXMDocumentDriveComponent extends AXPBasePageComponent {
5090
5132
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMDocumentDriveComponent, isStandalone: true, selector: "axp-document-drive", host: { listeners: { "document:keydown.control": "handleCtrlKey($event)", "document:keyup.control": "handleCtrlKeyUp($event)" } }, providers: [
5091
5133
  AXPDocumentExplorerViewModel,
5092
5134
  {
5093
- provide: AXPBasePage,
5135
+ provide: AXPPageLayoutBase,
5094
5136
  useExisting: AXMDocumentDriveComponent,
5095
5137
  },
5096
5138
  ], viewQueries: [{ propertyName: "documentExplorer", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<!-- Main Layout -->\n<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <!-- Left Side Toolbar -->\n <axp-layout-prefix>\n @if(vm.hasMultipleSelectedItems() ) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\">\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\n </span>\n <span (click)=\"vm.deselectAll()\" class=\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\">{{\n t('unselect', { scope: 'common' }) | async\n }}</span>\n </div>\n }\n <!---------->\n @else {\n <!-- Filter Dropdown -->\n <ax-button [text]=\"t(getFilterText(), { scope: rootConfig.config.i18n }) | async\">\n <ax-prefix>\n <ax-icon [icon]=\"getFilterIcon()\"></ax-icon>\n </ax-prefix>\n\n <ax-dropdown-panel>\n <ax-button-item-list class=\"ax-p-2\">\n @for(item of filterItems(); track item.key) {\n <ax-button-item\n (onClick)=\"setFilter(item.key)\"\n [text]=\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <!-- Search Box -->\n <ax-search-box\n (onValueChanged)=\"handleSearchChange($event)\"\n class=\"ax-w-72 ax-hidden md:ax-flex\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n }\n </axp-layout-prefix>\n\n <!-- Right Side Toolbar -->\n <axp-layout-suffix>\n <!-- Sort Dropdown -->\n <ax-button>\n <ax-icon\n [icon]=\"'fa-light fa-arrow-' + (vm.sortDirection() === 'asc' ? 'up' : 'down') + '-wide-short'\"\n ></ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- Sort By Options -->\n @for(item of sortItems(); track item.key) {\n <ax-button-item\n [text]=\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\"\n (onClick)=\"vm.setSortField(item.key)\"\n [selected]=\"vm.sortField() === item.key\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n <ax-divider></ax-divider>\n <!-- Sort Direction Options -->\n <ax-button-item\n [text]=\"(t('actions.sort-ascending', { scope: rootConfig.config.i18n }) | async)!\"\n [selected]=\"vm.sortDirection() === 'asc'\"\n (onClick)=\"vm.setSortDirection('asc')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-arrow-up-wide-short\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n [text]=\"(t('actions.sort-descending', { scope: rootConfig.config.i18n }) | async)!\"\n [selected]=\"vm.sortDirection() === 'desc'\"\n (onClick)=\"vm.setSortDirection('desc')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-arrow-down-wide-short\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <!-- View Mode Toggle -->\n <ax-button>\n <ax-icon icon=\"fa-light {{ selectedViewMode().icon }}\"></ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(item of viewsItems(); track item.key) {\n <!-- view mode items -->\n <ax-button-item\n [text]=\"(t('view-modes.' + item.key, { scope: rootConfig.config.i18n }) | async)!\"\n [selected]=\"vm.isViewMode(item.key)\"\n (onClick)=\"vm.setViewMode(item.key)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if(item.break) {\n <ax-divider></ax-divider>\n }\n <!-- end of view mode items -->\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n @if(layoutService.isLarge()) {\n <!-- Detail Panel Toggle -->\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n }\n </axp-layout-suffix>\n </axp-page-toolbar>\n\n <!-- Content Section -->\n <axp-page-content class=\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\">\n <axm-document-explorer [selectionMode]=\"selectionMode()\"></axm-document-explorer>\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\n <axm-document-explorer-detail-panel class=\"ax-sticky ax-top-0 ax-z-50\"></axm-document-explorer-detail-panel>\n }\n </axp-page-content>\n\n <!-- Footer Section -->\n @if(!layoutService.isSmall()) {\n <axp-page-footer>\n <axp-layout-prefix>\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n </axp-layout-prefix>\n </axp-page-footer>\n }\n</axp-page-layout>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
5097
5139
  //
5098
5140
  AXMenuModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2$2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2$2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXButtonGroupModule }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i3$3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i6$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "class", "delayTime", "type"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXFileModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "component", type:
5099
5141
  //
5100
- AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer, axp-page-header, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-container, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type:
5142
+ AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type:
5101
5143
  //
5102
5144
  AXMDocumentExplorerComponent, selector: "axm-document-explorer", inputs: ["browseMode", "viewMode", "selectionMode", "showContextMenu"] }, { kind: "component", type: AXMFolderPathBreadcrumbsComponent, selector: "axm-folder-path-breadcrumbs" }, { kind: "component", type: AXMDocumentExplorerDetailPanelComponent, selector: "axm-document-explorer-detail-panel" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
5103
5145
  }
@@ -5131,7 +5173,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5131
5173
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
5132
5174
  AXPDocumentExplorerViewModel,
5133
5175
  {
5134
- provide: AXPBasePage,
5176
+ provide: AXPPageLayoutBase,
5135
5177
  useExisting: AXMDocumentDriveComponent,
5136
5178
  },
5137
5179
  ], template: "<!-- Main Layout -->\n<axp-page-layout *translate=\"let t\">\n <axp-page-toolbar>\n <!-- Left Side Toolbar -->\n <axp-layout-prefix>\n @if(vm.hasMultipleSelectedItems() ) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\">\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\n </span>\n <span (click)=\"vm.deselectAll()\" class=\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\">{{\n t('unselect', { scope: 'common' }) | async\n }}</span>\n </div>\n }\n <!---------->\n @else {\n <!-- Filter Dropdown -->\n <ax-button [text]=\"t(getFilterText(), { scope: rootConfig.config.i18n }) | async\">\n <ax-prefix>\n <ax-icon [icon]=\"getFilterIcon()\"></ax-icon>\n </ax-prefix>\n\n <ax-dropdown-panel>\n <ax-button-item-list class=\"ax-p-2\">\n @for(item of filterItems(); track item.key) {\n <ax-button-item\n (onClick)=\"setFilter(item.key)\"\n [text]=\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <!-- Search Box -->\n <ax-search-box\n (onValueChanged)=\"handleSearchChange($event)\"\n class=\"ax-w-72 ax-hidden md:ax-flex\"\n [placeholder]=\"t('actions.search', { scope: rootConfig.config.i18n }) | async\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n }\n </axp-layout-prefix>\n\n <!-- Right Side Toolbar -->\n <axp-layout-suffix>\n <!-- Sort Dropdown -->\n <ax-button>\n <ax-icon\n [icon]=\"'fa-light fa-arrow-' + (vm.sortDirection() === 'asc' ? 'up' : 'down') + '-wide-short'\"\n ></ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- Sort By Options -->\n @for(item of sortItems(); track item.key) {\n <ax-button-item\n [text]=\"(t(item.textKey, { scope: rootConfig.config.i18n }) | async)!\"\n (onClick)=\"vm.setSortField(item.key)\"\n [selected]=\"vm.sortField() === item.key\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"item.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n <ax-divider></ax-divider>\n <!-- Sort Direction Options -->\n <ax-button-item\n [text]=\"(t('actions.sort-ascending', { scope: rootConfig.config.i18n }) | async)!\"\n [selected]=\"vm.sortDirection() === 'asc'\"\n (onClick)=\"vm.setSortDirection('asc')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-arrow-up-wide-short\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n [text]=\"(t('actions.sort-descending', { scope: rootConfig.config.i18n }) | async)!\"\n [selected]=\"vm.sortDirection() === 'desc'\"\n (onClick)=\"vm.setSortDirection('desc')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-arrow-down-wide-short\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n <!-- View Mode Toggle -->\n <ax-button>\n <ax-icon icon=\"fa-light {{ selectedViewMode().icon }}\"></ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(item of viewsItems(); track item.key) {\n <!-- view mode items -->\n <ax-button-item\n [text]=\"(t('view-modes.' + item.key, { scope: rootConfig.config.i18n }) | async)!\"\n [selected]=\"vm.isViewMode(item.key)\"\n (onClick)=\"vm.setViewMode(item.key)\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light {{ item.icon }}\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if(item.break) {\n <ax-divider></ax-divider>\n }\n <!-- end of view mode items -->\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n\n @if(layoutService.isLarge()) {\n <!-- Detail Panel Toggle -->\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n }\n </axp-layout-suffix>\n </axp-page-toolbar>\n\n <!-- Content Section -->\n <axp-page-content class=\"ax-overflow-auto ax-flex ax-flex-row ax-gap-4\">\n <axm-document-explorer [selectionMode]=\"selectionMode()\"></axm-document-explorer>\n @if (vm.isDetailPanelOpen() && layoutService.isLarge()) {\n <axm-document-explorer-detail-panel class=\"ax-sticky ax-top-0 ax-z-50\"></axm-document-explorer-detail-panel>\n }\n </axp-page-content>\n\n <!-- Footer Section -->\n @if(!layoutService.isSmall()) {\n <axp-page-footer>\n <axp-layout-prefix>\n <axm-folder-path-breadcrumbs></axm-folder-path-breadcrumbs>\n </axp-layout-prefix>\n </axp-page-footer>\n }\n</axp-page-layout>\n" }]
@@ -5157,13 +5199,17 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5157
5199
  this.fileService = inject(AXFileService);
5158
5200
  this.fileStorageService = inject(AXPFileStorageService);
5159
5201
  this.driveService = inject(AXMDocumentManagerService);
5202
+ this.documentTypeService = inject(AXMDocumentTypeService);
5160
5203
  this.documentExplorer = viewChild(AXMDocumentExplorerComponent);
5161
5204
  this.scopes = AXPPlatformScope;
5162
5205
  this.actions = computed(() => this.options()['actions'] ?? []);
5163
5206
  this.multiple = computed(() => this.options()['multiple']);
5164
5207
  this.entity = computed(() => this.options()['entity']);
5165
5208
  this.entityRecordId = computed(() => this.options()['record']);
5166
- this.documentTypes = computed(() => this.options()['types']);
5209
+ // Store just the type names as computed
5210
+ this.documentTypeNames = computed(() => (this.options()['types'] ?? []));
5211
+ // Store the full document type models as a signal
5212
+ this.documentTypes = signal([]);
5167
5213
  }
5168
5214
  async ngOnDestroy() {
5169
5215
  const status = this.layoutService.status();
@@ -5216,6 +5262,24 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5216
5262
  async ngOnInit() {
5217
5263
  console.log('entityRecordId: ', this.entityRecordId());
5218
5264
  super.ngOnInit();
5265
+ // Load document types if type names are provided
5266
+ if (this.documentTypeNames().length > 0) {
5267
+ try {
5268
+ // Get all document types using query
5269
+ const result = await this.documentTypeService.query({
5270
+ skip: 0,
5271
+ take: 100,
5272
+ });
5273
+ // Filter to only the types we need
5274
+ // TODO fix with contains filter
5275
+ const filteredTypes = result.items.filter((type) => this.documentTypeNames().includes(type.name));
5276
+ this.documentTypes.set(filteredTypes);
5277
+ }
5278
+ catch (error) {
5279
+ console.error('Error loading document types:', error);
5280
+ this.documentTypes.set([]);
5281
+ }
5282
+ }
5219
5283
  const files = await this.driveService.getAllFiles({
5220
5284
  skip: 0,
5221
5285
  take: 1000,
@@ -5253,28 +5317,35 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5253
5317
  const exists = this.vm.files();
5254
5318
  await this.updateContents([...exists, ...result]);
5255
5319
  }
5256
- async uploadFromComputer() {
5257
- const files = await this.fileService.choose();
5258
- const allFiles = this.vm.files();
5259
- for await (const file of files) {
5260
- const f = await this.fileStorageService.save({
5261
- file: file,
5262
- category: '',
5263
- refId: this.entityRecordId(),
5264
- refType: this.entity(),
5265
- });
5266
- allFiles.push({
5267
- id: f.fileId,
5268
- fileId: f.fileId,
5269
- // name: `test.${f.mimeType.split('/')[1]}`,
5270
- name: file.name,
5271
- size: f.size,
5272
- parentId: 'virtual',
5273
- type: 'file',
5274
- storageType: 'virtual',
5275
- });
5320
+ async uploadFromComputer(documentType) {
5321
+ if (documentType) {
5322
+ const result = await this.driveService.uploadFileVirtualByType(documentType);
5323
+ await this.updateContents([...this.vm.files(), ...result]);
5324
+ }
5325
+ else {
5326
+ // Use the direct file upload approach when no document type is specified
5327
+ const files = await this.fileService.choose();
5328
+ const allFiles = this.vm.files();
5329
+ for await (const file of files) {
5330
+ const f = await this.fileStorageService.save({
5331
+ file: file,
5332
+ category: '',
5333
+ refId: this.entityRecordId(),
5334
+ refType: this.entity(),
5335
+ });
5336
+ allFiles.push({
5337
+ id: f.fileId,
5338
+ fileId: f.fileId,
5339
+ name: file.name,
5340
+ size: f.size,
5341
+ parentId: 'virtual',
5342
+ type: 'file',
5343
+ storageType: 'virtual',
5344
+ description: undefined
5345
+ });
5346
+ }
5347
+ await this.updateContents(allFiles);
5276
5348
  }
5277
- await this.updateContents(allFiles);
5278
5349
  }
5279
5350
  async updateContents(files) {
5280
5351
  if (this.multiple()) {
@@ -5300,7 +5371,6 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5300
5371
  allFiles.push({
5301
5372
  id: f.fileId,
5302
5373
  fileId: f.fileId,
5303
- // name: `test.${f.mimeType.split('/')[1]}`,
5304
5374
  name: result.name,
5305
5375
  size: f.size,
5306
5376
  parentId: 'virtual',
@@ -5315,16 +5385,8 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5315
5385
  console.error('Error in action callback:', error);
5316
5386
  }
5317
5387
  }
5318
- get __class() {
5319
- const cls = {};
5320
- cls[`ax-rounded-md`] = true;
5321
- cls[`ax-border-2`] = true;
5322
- cls[`ax-border-2`] = true;
5323
- cls[`ax-p-4`] = true;
5324
- return cls;
5325
- }
5326
5388
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentAttachmentWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
5327
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMDocumentAttachmentWidgetEditComponent, isStandalone: true, selector: "axm-document-attachment-edit-widget", host: { properties: { "class": "this.__class" } }, providers: [AXPDocumentExplorerViewModel], viewQueries: [{ propertyName: "documentExplorer", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-flex-col ax-gap-3\" *translate=\"let t\">\n <!-- Header Section -->\n <div class=\"ax-flex ax-flex-row ax-justify-between ax-items-center\">\n <!-- Selection Actions -->\n @if(vm.hasMultipleSelectedItems() ) {\n <div class=\"ax-flex ax-gap-3 ax-items-center\">\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\">\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\n </span>\n <span (click)=\"vm.deselectAll()\" class=\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\">{{\n t('unselect', { scope: 'common' }) | async\n }}</span>\n </div>\n <ax-button (onClick)=\"vm.deleteNodes(vm.selectedNodes())\" [text]=\"'delete'\" [color]=\"'danger'\"></ax-button>\n </div>\n } @else {\n <div></div>\n }\n <!-- Primary Actions -->\n <div class=\"ax-flex ax-justify-end\">\n <ax-button [text]=\"t('actions.add-item', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <!-- Upload Dropdown -->\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"uploadFromComputer()\"\n [text]=\"(t('actions.upload-from-device', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n <ax-divider></ax-divider>\n\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.User)\"\n [text]=\"(t('actions.choose-from-drive', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.Tenant)\"\n [text]=\"(t('actions.choose-from-organization', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n @for (action of actions(); track action.name) {\n <ax-button-item (onClick)=\"handleActionCallback(action)\" [text]=\"action.title\">\n <ax-prefix>\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n </div>\n <axm-document-explorer\n [showContextMenu]=\"false\"\n [viewMode]=\"'attachment'\"\n [selectionMode]=\"'multiple'\"\n ></axm-document-explorer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: AXMDocumentExplorerComponent, selector: "axm-document-explorer", inputs: ["browseMode", "viewMode", "selectionMode", "showContextMenu"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i3$3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2$2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXButtonGroupModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5389
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.10", type: AXMDocumentAttachmentWidgetEditComponent, isStandalone: true, selector: "axm-document-attachment-edit-widget", providers: [AXPDocumentExplorerViewModel], viewQueries: [{ propertyName: "documentExplorer", first: true, predicate: AXMDocumentExplorerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-flex ax-flex-col ax-gap-3 ax-rounded-md ax-border\" *translate=\"let t\">\n <!-- Header Section -->\n <div class=\"ax-flex ax-flex-row ax-justify-between ax-items-center ax-border-b ax-px-4 ax-py-2\">\n <!-- Selection Info (side left) -->\n <div>\n @if(vm.hasMultipleSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center\">\n <span class=\"ax-text-sm ax-font-bold\">\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\n </span>\n <span (click)=\"vm.deselectAll()\" class=\"ax-text-xs ax-text-secondary ax-underline ax-cursor-pointer\">\n {{ t('unselect', { scope: 'common' }) | async }}\n </span>\n </div>\n }\n </div>\n <!-- Actions (side right) -->\n <div class=\"ax-flex ax-justify-end\">\n @if(!vm.hasMultipleSelectedItems()) {\n <!-- Add Item Button -->\n <ax-button class=\"ax-sm\" [text]=\"t('actions.add-item', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <!-- Upload Dropdown -->\n <ax-button-item-list>\n @if (documentTypes().length === 0) {\n <ax-button-item\n (onClick)=\"uploadFromComputer()\"\n [text]=\"(t('actions.upload-from-device', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @else {\n @for (docType of documentTypes(); track docType.id) {\n <ax-button-item\n (onClick)=\"uploadFromComputer(docType)\"\n [text]=\"docType.title\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n }\n\n <ax-divider></ax-divider>\n\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.User)\"\n [text]=\"(t('actions.choose-from-drive', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-folder-open\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.Tenant)\"\n [text]=\"(t('actions.choose-from-organization', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-building\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n @for (action of actions(); track action.name) {\n <ax-button-item (onClick)=\"handleActionCallback(action)\" [text]=\"action.title\">\n <ax-prefix>\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n } @else {\n <!-- Delete Button -->\n <ax-button class=\"ax-sm\" (onClick)=\"vm.deleteNodes(vm.selectedNodes())\" [text]=\"'delete'\" [color]=\"'danger'\"></ax-button>\n }\n </div>\n </div>\n \n <axm-document-explorer\n [showContextMenu]=\"false\"\n [viewMode]=\"'attachment'\"\n [selectionMode]=\"'multiple'\"\n ></axm-document-explorer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "component", type: AXMDocumentExplorerComponent, selector: "axm-document-explorer", inputs: ["browseMode", "viewMode", "selectionMode", "showContextMenu"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDropdownButtonModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i3$3.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i4$1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2$2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXButtonGroupModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5328
5390
  }
5329
5391
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentAttachmentWidgetEditComponent, decorators: [{
5330
5392
  type: Component,
@@ -5338,11 +5400,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5338
5400
  AXTranslationModule,
5339
5401
  AXButtonModule,
5340
5402
  AXButtonGroupModule,
5341
- ], providers: [AXPDocumentExplorerViewModel], template: "<div class=\"ax-flex ax-flex-col ax-gap-3\" *translate=\"let t\">\n <!-- Header Section -->\n <div class=\"ax-flex ax-flex-row ax-justify-between ax-items-center\">\n <!-- Selection Actions -->\n @if(vm.hasMultipleSelectedItems() ) {\n <div class=\"ax-flex ax-gap-3 ax-items-center\">\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\">\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\n </span>\n <span (click)=\"vm.deselectAll()\" class=\"ax-text-sm ax-text-secondary ax-underline ax-cursor-pointer\">{{\n t('unselect', { scope: 'common' }) | async\n }}</span>\n </div>\n <ax-button (onClick)=\"vm.deleteNodes(vm.selectedNodes())\" [text]=\"'delete'\" [color]=\"'danger'\"></ax-button>\n </div>\n } @else {\n <div></div>\n }\n <!-- Primary Actions -->\n <div class=\"ax-flex ax-justify-end\">\n <ax-button [text]=\"t('actions.add-item', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <!-- Upload Dropdown -->\n <ax-button-item-list>\n <ax-button-item\n (onClick)=\"uploadFromComputer()\"\n [text]=\"(t('actions.upload-from-device', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n <ax-divider></ax-divider>\n\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.User)\"\n [text]=\"(t('actions.choose-from-drive', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.Tenant)\"\n [text]=\"(t('actions.choose-from-organization', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n @for (action of actions(); track action.name) {\n <ax-button-item (onClick)=\"handleActionCallback(action)\" [text]=\"action.title\">\n <ax-prefix>\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n </div>\n <axm-document-explorer\n [showContextMenu]=\"false\"\n [viewMode]=\"'attachment'\"\n [selectionMode]=\"'multiple'\"\n ></axm-document-explorer>\n</div>\n" }]
5342
- }], propDecorators: { __class: [{
5343
- type: HostBinding,
5344
- args: ['class']
5345
- }] } });
5403
+ ], providers: [AXPDocumentExplorerViewModel], template: "<div class=\"ax-flex ax-flex-col ax-gap-3 ax-rounded-md ax-border\" *translate=\"let t\">\n <!-- Header Section -->\n <div class=\"ax-flex ax-flex-row ax-justify-between ax-items-center ax-border-b ax-px-4 ax-py-2\">\n <!-- Selection Info (side left) -->\n <div>\n @if(vm.hasMultipleSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center\">\n <span class=\"ax-text-sm ax-font-bold\">\n {{ vm.selectedCount() }} {{ t('itemsSelected', { scope: 'common' }) | async }}\n </span>\n <span (click)=\"vm.deselectAll()\" class=\"ax-text-xs ax-text-secondary ax-underline ax-cursor-pointer\">\n {{ t('unselect', { scope: 'common' }) | async }}\n </span>\n </div>\n }\n </div>\n <!-- Actions (side right) -->\n <div class=\"ax-flex ax-justify-end\">\n @if(!vm.hasMultipleSelectedItems()) {\n <!-- Add Item Button -->\n <ax-button class=\"ax-sm\" [text]=\"t('actions.add-item', { scope: rootConfig.config.i18n }) | async\" [color]=\"'primary'\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-plus\"></ax-icon>\n </ax-prefix>\n <ax-dropdown-panel>\n <!-- Upload Dropdown -->\n <ax-button-item-list>\n @if (documentTypes().length === 0) {\n <ax-button-item\n (onClick)=\"uploadFromComputer()\"\n [text]=\"(t('actions.upload-from-device', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @else {\n @for (docType of documentTypes(); track docType.id) {\n <ax-button-item\n (onClick)=\"uploadFromComputer(docType)\"\n [text]=\"docType.title\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n }\n\n <ax-divider></ax-divider>\n\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.User)\"\n [text]=\"(t('actions.choose-from-drive', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-folder-open\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item\n (onClick)=\"chooseFromDrive(scopes.Tenant)\"\n [text]=\"(t('actions.choose-from-organization', { scope: rootConfig.config.i18n }) | async)!\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-building\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n\n @for (action of actions(); track action.name) {\n <ax-button-item (onClick)=\"handleActionCallback(action)\" [text]=\"action.title\">\n <ax-prefix>\n <ax-icon [icon]=\"action.icon\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n } @else {\n <!-- Delete Button -->\n <ax-button class=\"ax-sm\" (onClick)=\"vm.deleteNodes(vm.selectedNodes())\" [text]=\"'delete'\" [color]=\"'danger'\"></ax-button>\n }\n </div>\n </div>\n \n <axm-document-explorer\n [showContextMenu]=\"false\"\n [viewMode]=\"'attachment'\"\n [selectionMode]=\"'multiple'\"\n ></axm-document-explorer>\n</div>\n" }]
5404
+ }] });
5346
5405
 
5347
5406
  var documentAttachmentWidgetEdit_component = /*#__PURE__*/Object.freeze({
5348
5407
  __proto__: null,
@@ -5567,7 +5626,7 @@ class AXMDocumentManagementModule {
5567
5626
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
5568
5627
  useFactory: async () => {
5569
5628
  const injector = inject(Injector);
5570
- const provider = (await import('./acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs')).AXMPermissionDefinitionProvider;
5629
+ const provider = (await import('./acorex-modules-document-management-permission-definition.provider-BBXmMuIh.mjs')).AXMPermissionDefinitionProvider;
5571
5630
  return new provider(injector);
5572
5631
  },
5573
5632
  multi: true,
@@ -5663,7 +5722,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5663
5722
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
5664
5723
  useFactory: async () => {
5665
5724
  const injector = inject(Injector);
5666
- const provider = (await import('./acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs')).AXMPermissionDefinitionProvider;
5725
+ const provider = (await import('./acorex-modules-document-management-permission-definition.provider-BBXmMuIh.mjs')).AXMPermissionDefinitionProvider;
5667
5726
  return new provider(injector);
5668
5727
  },
5669
5728
  multi: true,
@@ -5692,4 +5751,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5692
5751
  */
5693
5752
 
5694
5753
  export { AXMPermissionsKeys as A, AXMFolderService as B, AXMFolderServiceImpl as C, AXMEntityProvider as D, AXMMenuProvider as E, AXMSearchCommandProvider as F, AXMSettingProvider as G, RootConfig as R, AXMDocumentManagerService as a, AXMDocumentTypeService as b, AXPDocumentExplorerViewModel as c, AXMDocumentExplorerComponent as d, AXMFolderPathBreadcrumbsComponent as e, AXMDocumentManagementModule as f, documentFactory as g, AXMDocumentManagementDocumentEntityModule as h, AXMDocumentService as i, AXMDocumentServiceImpl as j, documentTypeFactory as k, AXMDocumentManagementDocumentTypeEntityModule as l, AXMDocumentTypeServiceImpl as m, documentTypeMetaDefinitionfactory as n, AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule as o, AXMDocumentManagementDocumentTypeMetaDefinitionEntityService as p, AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl as q, documentTypeMetaValueFactory as r, AXMDocumentManagementDocumentTypeMetaValueEntityModule as s, AXMDocumentManagementDocumentTypeMetaValueEntityService as t, AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl as u, documentTypeStatusDefinitionFactory as v, AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule as w, AXMDocumentManagementDocumentTypeStatusDefinitionEntityService as x, AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl as y, folderFactory as z };
5695
- //# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs.map
5754
+ //# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-BcgxVPuR.mjs.map