@acorex/modules 19.3.8 → 19.4.2

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 (152) 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/document-management.module.d.ts +11 -10
  6. package/document-management/lib/features/drive/drive.component.d.ts +2 -2
  7. package/document-management/lib/features/drive-choose/drive-choose.module.d.ts +7 -0
  8. package/document-management/lib/features/drive-choose/slots/file-uploader-widget-extension/file-uploader-widget-extension.component.d.ts +8 -0
  9. package/document-management/lib/features/shared/document-manager.service.d.ts +2 -1
  10. package/document-management/lib/features/shared/document-manager.types.d.ts +3 -0
  11. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +5 -4
  12. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-bj5xztse.mjs → acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs} +18 -17
  13. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-bj5xztse.mjs.map → acorex-modules-auth-acorex-modules-auth-B-OllEdK.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-app-chooser.component-BOL3VzC1.mjs → acorex-modules-auth-app-chooser.component-DNr963RR.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-auth-app-chooser.component-BOL3VzC1.mjs.map → acorex-modules-auth-app-chooser.component-DNr963RR.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-login.module-C1AoXhCI.mjs → acorex-modules-auth-login.module-HfQItJY6.mjs} +4 -4
  17. package/fesm2022/{acorex-modules-auth-login.module-C1AoXhCI.mjs.map → acorex-modules-auth-login.module-HfQItJY6.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-master.layout-vuHfrDxu.mjs → acorex-modules-auth-master.layout-DgN0Dh-I.mjs} +6 -5
  19. package/fesm2022/acorex-modules-auth-master.layout-DgN0Dh-I.mjs.map +1 -0
  20. package/fesm2022/{acorex-modules-auth-password.component-C71v2x71.mjs → acorex-modules-auth-password.component-B-L3ksjM.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-auth-password.component-C71v2x71.mjs.map → acorex-modules-auth-password.component-B-L3ksjM.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-auth-password.component-Dtcz95NV.mjs → acorex-modules-auth-password.component-CVgNTaKI.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-auth-password.component-Dtcz95NV.mjs.map → acorex-modules-auth-password.component-CVgNTaKI.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-auth-routes-lJgHFaQR.mjs → acorex-modules-auth-routes-CtoZQEq9.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-auth-routes-lJgHFaQR.mjs.map → acorex-modules-auth-routes-CtoZQEq9.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-auth-two-factor.module-C9SfEHF7.mjs → acorex-modules-auth-two-factor.module-CCP_Oovk.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-auth-two-factor.module-C9SfEHF7.mjs.map → acorex-modules-auth-two-factor.module-CCP_Oovk.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-user-sessions.component-CCsoLecU.mjs → acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs} +2 -2
  29. package/fesm2022/{acorex-modules-auth-user-sessions.component-CCsoLecU.mjs.map → acorex-modules-auth-user-sessions.component-6jRmJGeS.mjs.map} +1 -1
  30. package/fesm2022/acorex-modules-auth.mjs +1 -1
  31. package/fesm2022/{acorex-modules-common-search-popup.component-D1Ddwc_U.mjs → acorex-modules-common-search-popup.component-tUvSQpDP.mjs} +5 -5
  32. package/fesm2022/acorex-modules-common-search-popup.component-tUvSQpDP.mjs.map +1 -0
  33. package/fesm2022/acorex-modules-common.mjs +7 -6
  34. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  35. package/fesm2022/acorex-modules-dashboard-management.mjs +8 -6
  36. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  37. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs → acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs} +187 -63
  38. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs → acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs} +4 -4
  40. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-BHCuKbmu.mjs.map → acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs → acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs} +2 -2
  42. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs.map → acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs.map} +1 -1
  43. package/fesm2022/{acorex-modules-document-management-details-view.component-DE84Itc_.mjs → acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-document-management-details-view.component-DE84Itc_.mjs.map → acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs → acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs.map → acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs.map} +1 -1
  47. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs → acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BPY3z02r.mjs.map → acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs → acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-eymKR4xY.mjs.map → acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-document-management-list-view.component-CGSls2hG.mjs → acorex-modules-document-management-list-view.component-DZBjqWfy.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-document-management-list-view.component-CGSls2hG.mjs.map → acorex-modules-document-management-list-view.component-DZBjqWfy.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs → acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs} +3 -3
  54. package/fesm2022/acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs.map +1 -0
  55. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs → acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs → acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-CYjLGCUJ.mjs.map → acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs → acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-BnXo0uWh.mjs.map → acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs.map} +1 -1
  61. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  62. 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
  63. 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
  64. package/fesm2022/{acorex-modules-form-template-management-category.entity-CMez7XCT.mjs → acorex-modules-form-template-management-category.entity-DxgqHkjI.mjs} +2 -2
  65. package/fesm2022/{acorex-modules-form-template-management-category.entity-CMez7XCT.mjs.map → acorex-modules-form-template-management-category.entity-DxgqHkjI.mjs.map} +1 -1
  66. 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
  67. package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-6czJEo8f.mjs.map +1 -0
  68. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CzvnYncE.mjs → acorex-modules-form-template-management-settings.provider-D3nbUDMw.mjs} +2 -2
  69. package/fesm2022/{acorex-modules-form-template-management-settings.provider-CzvnYncE.mjs.map → acorex-modules-form-template-management-settings.provider-D3nbUDMw.mjs.map} +1 -1
  70. 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
  71. 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
  72. package/fesm2022/{acorex-modules-form-template-management-template.entity-CSUgPKlG.mjs → acorex-modules-form-template-management-template.entity-Ci6QzE16.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-form-template-management-template.entity-CSUgPKlG.mjs.map → acorex-modules-form-template-management-template.entity-Ci6QzE16.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-DDFNie66.mjs → acorex-modules-form-template-management-viewer-popup.component-DIzlC6tX.mjs} +2 -2
  75. 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
  76. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  77. package/fesm2022/acorex-modules-notification-management.mjs +5 -5
  78. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  79. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs → acorex-modules-organization-management-org-chart-configuration.page-DNzhGz5G.mjs} +7 -7
  80. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DNzhGz5G.mjs.map +1 -0
  81. package/fesm2022/{acorex-modules-organization-management-org-chart.page-1UgQCqvl.mjs → acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs} +22 -10
  82. package/fesm2022/acorex-modules-organization-management-org-chart.page-CP8zz-Bc.mjs.map +1 -0
  83. package/fesm2022/acorex-modules-organization-management.mjs +117 -5
  84. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  85. package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-Bh6NW7UJ.mjs → acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs} +184 -20
  86. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-C9wUvVuk.mjs.map +1 -0
  87. package/fesm2022/{acorex-modules-platform-management-list-version.component-Ctqr4YiY.mjs → acorex-modules-platform-management-list-version.component-BGhETw3U.mjs} +2 -2
  88. package/fesm2022/{acorex-modules-platform-management-list-version.component-Ctqr4YiY.mjs.map → acorex-modules-platform-management-list-version.component-BGhETw3U.mjs.map} +1 -1
  89. package/fesm2022/{acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs → acorex-modules-platform-management-settings.provider-C327XLKW.mjs} +2 -2
  90. package/fesm2022/{acorex-modules-platform-management-settings.provider-Bz3Npk_t.mjs.map → acorex-modules-platform-management-settings.provider-C327XLKW.mjs.map} +1 -1
  91. package/fesm2022/acorex-modules-platform-management.mjs +1 -1
  92. package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs +218 -0
  93. package/fesm2022/acorex-modules-security-management-permissions-editor.component-Ccx0_9L_.mjs.map +1 -0
  94. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs +41 -0
  95. package/fesm2022/acorex-modules-security-management-permissions-widget-column.component-P2buwWAw.mjs.map +1 -0
  96. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs +21 -0
  97. package/fesm2022/acorex-modules-security-management-permissions-widget-designer.component-CoqOAn_m.mjs.map +1 -0
  98. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-P3adQ1xt.mjs +51 -0
  99. package/fesm2022/acorex-modules-security-management-permissions-widget-edit.component-P3adQ1xt.mjs.map +1 -0
  100. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-D4lk67fE.mjs +22 -0
  101. package/fesm2022/acorex-modules-security-management-permissions-widget-print.component-D4lk67fE.mjs.map +1 -0
  102. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-Cz32ewum.mjs +21 -0
  103. package/fesm2022/acorex-modules-security-management-permissions-widget-view.component-Cz32ewum.mjs.map +1 -0
  104. package/fesm2022/acorex-modules-security-management.mjs +185 -18
  105. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  106. package/fesm2022/{acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs → acorex-modules-settings-management-setting-page.component-BgQoPRy_.mjs} +7 -7
  107. package/fesm2022/acorex-modules-settings-management-setting-page.component-BgQoPRy_.mjs.map +1 -0
  108. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DryghOjs.mjs → acorex-modules-settings-management-setting-view.component-CX_FKIxI.mjs} +4 -3
  109. package/fesm2022/acorex-modules-settings-management-setting-view.component-CX_FKIxI.mjs.map +1 -0
  110. package/fesm2022/acorex-modules-settings-management.mjs +3 -3
  111. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  112. package/fesm2022/acorex-modules-training-management.mjs +3 -2
  113. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  114. package/form-template-management/index.d.ts +1 -0
  115. package/notification-management/lib/notification-management.module.d.ts +1 -1
  116. package/organization-management/lib/features/employee/employee-feature.module.d.ts +9 -0
  117. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +2 -2
  118. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +3 -2
  119. package/organization-management/lib/organization-management.module.d.ts +2 -1
  120. package/package.json +11 -11
  121. package/platform-management/lib/entities/data-source/data-source.service.d.ts +1 -1
  122. package/platform-management/lib/entities/data-source/data-source.types.d.ts +2 -2
  123. package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +1 -1
  124. package/platform-management/lib/entities/meta-data-definition/meta-data-definition.service.d.ts +2 -2
  125. package/platform-management/lib/entities/meta-data-definition/meta-data-definition.types.d.ts +2 -2
  126. package/platform-management/lib/entities/meta-data-definition-category/category.service.d.ts +1 -1
  127. package/platform-management/lib/entities/meta-data-definition-category/category.types.d.ts +2 -2
  128. package/platform-management/lib/features/app-terms/pages/list/list-terms.component.d.ts +2 -2
  129. package/platform-management/lib/features/app-terms/settings.keys.d.ts +3 -0
  130. package/platform-management/lib/features/common/common.module.d.ts +1 -1
  131. package/platform-management/lib/platform-management.module.d.ts +1 -1
  132. package/security-management/lib/features/permissions/permissions-editor/permissions-editor.component.d.ts +70 -0
  133. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-column.component.d.ts +10 -0
  134. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-designer.component.d.ts +6 -0
  135. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-edit.component.d.ts +8 -0
  136. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-print.component.d.ts +6 -0
  137. package/security-management/lib/features/permissions/permissions-widget/permissions-widget-view.component.d.ts +6 -0
  138. package/security-management/lib/features/permissions/permissions-widget/permissions-widget.config.d.ts +2 -0
  139. package/security-management/lib/features/permissions/permissions.module.d.ts +8 -0
  140. package/security-management/lib/features/permissions/workflows/assign-permissions.workflow.d.ts +10 -0
  141. package/security-management/lib/security-management.module.d.ts +3 -2
  142. package/settings-management/lib/features/settings/setting-page/setting-page.component.d.ts +2 -2
  143. package/fesm2022/acorex-modules-auth-master.layout-vuHfrDxu.mjs.map +0 -1
  144. package/fesm2022/acorex-modules-common-search-popup.component-D1Ddwc_U.mjs.map +0 -1
  145. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-k2QMxYk9.mjs.map +0 -1
  146. package/fesm2022/acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs.map +0 -1
  147. package/fesm2022/acorex-modules-form-template-management-permission-definition.provider-D_VOBOyf.mjs.map +0 -1
  148. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-CaNP3qwK.mjs.map +0 -1
  149. package/fesm2022/acorex-modules-organization-management-org-chart.page-1UgQCqvl.mjs.map +0 -1
  150. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-Bh6NW7UJ.mjs.map +0 -1
  151. package/fesm2022/acorex-modules-settings-management-setting-page.component-X33xeQrg.mjs.map +0 -1
  152. 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,9 +55,13 @@ 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 * as i1$2 from '@acorex/platform/layout/components';
60
+ import { AXPThemeLayoutBlockComponent, AXPComponentSlotModule, AXP_TASK_BADGE_PROVIDERS } from '@acorex/platform/layout/components';
59
61
  import { AXBasePageComponent } from '@acorex/components/page';
60
62
  import { AXUploaderService } from '@acorex/components/uploader';
63
+ import { AXTextBoxModule } from '@acorex/components/text-box';
64
+ import { AXCheckBoxModule } from '@acorex/components/check-box';
61
65
 
62
66
  const config = {
63
67
  i18n: 'document-management',
@@ -3213,7 +3217,7 @@ class AXMDocumentManagerService {
3213
3217
  }
3214
3218
  }
3215
3219
  async showFolderEditDialog(node) {
3216
- const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs'))
3220
+ const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs'))
3217
3221
  .AXMCreateFolderDialog;
3218
3222
  const popup = await this.popupService.open(comp, {
3219
3223
  title: 't("actions.update-folder")',
@@ -3336,6 +3340,7 @@ class AXMDocumentManagerService {
3336
3340
  size: file.size,
3337
3341
  fileId: file.fileId,
3338
3342
  storageType: 'physical',
3343
+ meta: file.meta,
3339
3344
  };
3340
3345
  }
3341
3346
  async createFile(data) {
@@ -3361,7 +3366,7 @@ class AXMDocumentManagerService {
3361
3366
  }
3362
3367
  }
3363
3368
  async showCreateFolderDialog(parentId) {
3364
- const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-CNvlm2Va.mjs'))
3369
+ const comp = (await import('./acorex-modules-document-management-create-folder-dialog.component-5sFKSWlW.mjs'))
3365
3370
  .AXMCreateFolderDialog;
3366
3371
  const popup = await this.popupService.open(comp, {
3367
3372
  title: 't("actions.create-folder")',
@@ -3372,7 +3377,7 @@ class AXMDocumentManagerService {
3372
3377
  return popup.data?.folder;
3373
3378
  }
3374
3379
  async moveTo(options) {
3375
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs')).AXMDocumentDriveChooseComponent;
3380
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs')).AXMDocumentDriveChooseComponent;
3376
3381
  //
3377
3382
  const popup = await this.popupService.open(comp, {
3378
3383
  title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
@@ -3403,7 +3408,7 @@ class AXMDocumentManagerService {
3403
3408
  }
3404
3409
  }
3405
3410
  async copyTo(options) {
3406
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs')).AXMDocumentDriveChooseComponent;
3411
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs')).AXMDocumentDriveChooseComponent;
3407
3412
  //
3408
3413
  const popup = await this.popupService.open(comp, {
3409
3414
  title: `Choose ${options.browseMode == 'file' ? 'File' : 'Folder'}`,
@@ -3496,7 +3501,7 @@ class AXMDocumentManagerService {
3496
3501
  const file = await this.documentService.getOne(node.id);
3497
3502
  }
3498
3503
  async showRenamePopup(node) {
3499
- const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-BPU5NKy8.mjs'))
3504
+ const comp = (await import('./acorex-modules-document-management-rename-node-dialog.component-BkilWP6k.mjs'))
3500
3505
  .AXMRenameNodeDialog;
3501
3506
  const popup = await this.popupService.open(comp, {
3502
3507
  title: 't("actions.rename")',
@@ -3544,7 +3549,7 @@ class AXMDocumentManagerService {
3544
3549
  return [...(await this.getAllFolders()), ...(await this.getAllFiles())];
3545
3550
  }
3546
3551
  async showChooseFileDialog(scope) {
3547
- const comp = (await import('./acorex-modules-document-management-drive-choose.component-CKMI_oKM.mjs')).AXMDocumentDriveChooseComponent;
3552
+ const comp = (await import('./acorex-modules-document-management-drive-choose.component-C5JuGFud.mjs')).AXMDocumentDriveChooseComponent;
3548
3553
  const result = await this.popupService.open(comp, {
3549
3554
  title: `t("actions.choose-from-drive" , scope: {"${RootConfig.config.i18n}"})`,
3550
3555
  data: {
@@ -3702,6 +3707,45 @@ class AXMDocumentManagerService {
3702
3707
  }
3703
3708
  return false;
3704
3709
  }
3710
+ async uploadFileVirtualByType(docType) {
3711
+ const comp = (await Promise.resolve().then(function () { return index; })).AXMDocumentTypeChooseFileComponent;
3712
+ const result = await this.popupService.open(comp, {
3713
+ title: `Select ${docType.title}`,
3714
+ data: {
3715
+ documentType: docType,
3716
+ },
3717
+ });
3718
+ const resultData = [];
3719
+ if (result.data != null) {
3720
+ const { uploads, ...metaContext } = result.data.context;
3721
+ for (const u of uploads) {
3722
+ const fileInfo = u;
3723
+ await this.fileService.commit(u.fileId);
3724
+ const file = await this.documentService.insertOne({
3725
+ fileId: fileInfo.fileId,
3726
+ meta: metaContext,
3727
+ parentId: 'virtual',
3728
+ size: fileInfo.size,
3729
+ name: fileInfo.name ?? '',
3730
+ title: fileInfo.name ?? '',
3731
+ });
3732
+ resultData.push({
3733
+ id: file,
3734
+ name: fileInfo.name ?? '',
3735
+ parentId: 'virtual',
3736
+ type: 'file',
3737
+ storageType: 'virtual',
3738
+ size: fileInfo.size,
3739
+ meta: metaContext,
3740
+ fileId: fileInfo.fileId
3741
+ });
3742
+ }
3743
+ return resultData;
3744
+ }
3745
+ else {
3746
+ return [];
3747
+ }
3748
+ }
3705
3749
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3706
3750
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagerService, providedIn: 'root' }); }
3707
3751
  }
@@ -4136,6 +4180,7 @@ const AXPDocumentExplorerViewModel = signalStore({ providedIn: 'root' }, withSta
4136
4180
  patchState(store, {
4137
4181
  files: store.currentFolderContents().files.filter((file) => !nodes.some((node) => node.name === file.name)),
4138
4182
  });
4183
+ this.deselectAll();
4139
4184
  }
4140
4185
  else {
4141
4186
  const result = await driveService.showDeleteNodesDialog(nodes);
@@ -4254,13 +4299,13 @@ class AXMDocumentExplorerComponent {
4254
4299
  this.showContextMenu = input(true);
4255
4300
  this.view = signal(null);
4256
4301
  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,
4302
+ list: async () => (await import('./acorex-modules-document-management-list-view.component-DZBjqWfy.mjs')).AXMDocumentExplorerListViewComponent,
4303
+ 'small-tiles': async () => (await import('./acorex-modules-document-management-small-tiles-view.component-Cs3CLt7l.mjs')).AXMDocumentExplorerSmallTilesViewComponent,
4304
+ 'large-tiles': async () => (await import('./acorex-modules-document-management-large-tiles-view.component-DYfROtQ9.mjs')).AXMDocumentExplorerLargeTilesViewComponent,
4305
+ details: async () => (await import('./acorex-modules-document-management-details-view.component-CIJ5IBHD.mjs')).AXMDocumentExplorerDetailsViewComponent,
4306
+ 'large-icons': async () => (await import('./acorex-modules-document-management-large-icons-view.component-brzJaGRC.mjs')).AXMDocumentExplorerLargeIconsViewComponent,
4307
+ 'small-icons': async () => (await import('./acorex-modules-document-management-small-icons-view.component-Cx5uqw7R.mjs')).AXMDocumentExplorerSmallIconsViewComponent,
4308
+ 'attachment': async () => (await import('./acorex-modules-document-management-attachment-widget.component-DhGDpLBA.mjs')).AXMDocumentExplorerAttachmentComponent,
4264
4309
  };
4265
4310
  this.#effect = effect(() => {
4266
4311
  if (this.vm.loadingFolderId() == null) {
@@ -4851,7 +4896,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
4851
4896
  ], 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
4897
  }] });
4853
4898
 
4854
- class AXMDocumentDriveComponent extends AXPBasePageComponent {
4899
+ class AXMDocumentDriveComponent extends AXPPageLayoutBaseComponent {
4855
4900
  constructor() {
4856
4901
  super(...arguments);
4857
4902
  //#region ---------------- Services & Dependencies ----------------
@@ -5090,14 +5135,14 @@ class AXMDocumentDriveComponent extends AXPBasePageComponent {
5090
5135
  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
5136
  AXPDocumentExplorerViewModel,
5092
5137
  {
5093
- provide: AXPBasePage,
5138
+ provide: AXPPageLayoutBase,
5094
5139
  useExisting: AXMDocumentDriveComponent,
5095
5140
  },
5096
5141
  ], 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
5142
  //
5098
5143
  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
5144
  //
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:
5145
+ 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
5146
  //
5102
5147
  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
5148
  }
@@ -5131,7 +5176,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5131
5176
  ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
5132
5177
  AXPDocumentExplorerViewModel,
5133
5178
  {
5134
- provide: AXPBasePage,
5179
+ provide: AXPPageLayoutBase,
5135
5180
  useExisting: AXMDocumentDriveComponent,
5136
5181
  },
5137
5182
  ], 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 +5202,17 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5157
5202
  this.fileService = inject(AXFileService);
5158
5203
  this.fileStorageService = inject(AXPFileStorageService);
5159
5204
  this.driveService = inject(AXMDocumentManagerService);
5205
+ this.documentTypeService = inject(AXMDocumentTypeService);
5160
5206
  this.documentExplorer = viewChild(AXMDocumentExplorerComponent);
5161
5207
  this.scopes = AXPPlatformScope;
5162
5208
  this.actions = computed(() => this.options()['actions'] ?? []);
5163
5209
  this.multiple = computed(() => this.options()['multiple']);
5164
5210
  this.entity = computed(() => this.options()['entity']);
5165
5211
  this.entityRecordId = computed(() => this.options()['record']);
5166
- this.documentTypes = computed(() => this.options()['types']);
5212
+ // Store just the type names as computed
5213
+ this.documentTypeNames = computed(() => (this.options()['types'] ?? []));
5214
+ // Store the full document type models as a signal
5215
+ this.documentTypes = signal([]);
5167
5216
  }
5168
5217
  async ngOnDestroy() {
5169
5218
  const status = this.layoutService.status();
@@ -5216,6 +5265,24 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5216
5265
  async ngOnInit() {
5217
5266
  console.log('entityRecordId: ', this.entityRecordId());
5218
5267
  super.ngOnInit();
5268
+ // Load document types if type names are provided
5269
+ if (this.documentTypeNames().length > 0) {
5270
+ try {
5271
+ // Get all document types using query
5272
+ const result = await this.documentTypeService.query({
5273
+ skip: 0,
5274
+ take: 100,
5275
+ });
5276
+ // Filter to only the types we need
5277
+ // TODO fix with contains filter
5278
+ const filteredTypes = result.items.filter((type) => this.documentTypeNames().includes(type.name));
5279
+ this.documentTypes.set(filteredTypes);
5280
+ }
5281
+ catch (error) {
5282
+ console.error('Error loading document types:', error);
5283
+ this.documentTypes.set([]);
5284
+ }
5285
+ }
5219
5286
  const files = await this.driveService.getAllFiles({
5220
5287
  skip: 0,
5221
5288
  take: 1000,
@@ -5253,28 +5320,35 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5253
5320
  const exists = this.vm.files();
5254
5321
  await this.updateContents([...exists, ...result]);
5255
5322
  }
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
- });
5323
+ async uploadFromComputer(documentType) {
5324
+ if (documentType) {
5325
+ const result = await this.driveService.uploadFileVirtualByType(documentType);
5326
+ await this.updateContents([...this.vm.files(), ...result]);
5327
+ }
5328
+ else {
5329
+ // Use the direct file upload approach when no document type is specified
5330
+ const files = await this.fileService.choose();
5331
+ const allFiles = this.vm.files();
5332
+ for await (const file of files) {
5333
+ const f = await this.fileStorageService.save({
5334
+ file: file,
5335
+ category: '',
5336
+ refId: this.entityRecordId(),
5337
+ refType: this.entity(),
5338
+ });
5339
+ allFiles.push({
5340
+ id: f.fileId,
5341
+ fileId: f.fileId,
5342
+ name: file.name,
5343
+ size: f.size,
5344
+ parentId: 'virtual',
5345
+ type: 'file',
5346
+ storageType: 'virtual',
5347
+ description: undefined
5348
+ });
5349
+ }
5350
+ await this.updateContents(allFiles);
5276
5351
  }
5277
- await this.updateContents(allFiles);
5278
5352
  }
5279
5353
  async updateContents(files) {
5280
5354
  if (this.multiple()) {
@@ -5300,7 +5374,6 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5300
5374
  allFiles.push({
5301
5375
  id: f.fileId,
5302
5376
  fileId: f.fileId,
5303
- // name: `test.${f.mimeType.split('/')[1]}`,
5304
5377
  name: result.name,
5305
5378
  size: f.size,
5306
5379
  parentId: 'virtual',
@@ -5315,16 +5388,8 @@ class AXMDocumentAttachmentWidgetEditComponent extends AXPValueWidgetComponent {
5315
5388
  console.error('Error in action callback:', error);
5316
5389
  }
5317
5390
  }
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
5391
  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 }); }
5392
+ 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
5393
  }
5329
5394
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentAttachmentWidgetEditComponent, decorators: [{
5330
5395
  type: Component,
@@ -5338,11 +5403,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5338
5403
  AXTranslationModule,
5339
5404
  AXButtonModule,
5340
5405
  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
- }] } });
5406
+ ], 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" }]
5407
+ }] });
5346
5408
 
5347
5409
  var documentAttachmentWidgetEdit_component = /*#__PURE__*/Object.freeze({
5348
5410
  __proto__: null,
@@ -5507,6 +5569,62 @@ class AXMTaskBadgeProviderSample2 {
5507
5569
  }
5508
5570
  }
5509
5571
 
5572
+ class AXPFileUploaderWidgetExtensionComponent {
5573
+ ngOnInit() {
5574
+ }
5575
+ ngOnDestroy() {
5576
+ }
5577
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPFileUploaderWidgetExtensionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5578
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.10", type: AXPFileUploaderWidgetExtensionComponent, isStandalone: true, selector: "axp-file-uploader-widget-extension", providers: [], ngImport: i0, template: "<ax-divider></ax-divider>\n<ax-button-item\n [text]=\"'actions.upload-from-device'\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n</ax-button-item>", styles: [""], dependencies: [{ kind: "ngmodule", type:
5579
+ // Angular
5580
+ CommonModule }, { kind: "ngmodule", type:
5581
+ // ACoreX
5582
+ AXFormModule }, { kind: "ngmodule", type: AXTextBoxModule }, { 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: "ngmodule", type: AXLabelModule }, { 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: AXCheckBoxModule }], encapsulation: i0.ViewEncapsulation.None }); }
5583
+ }
5584
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXPFileUploaderWidgetExtensionComponent, decorators: [{
5585
+ type: Component,
5586
+ args: [{ selector: 'axp-file-uploader-widget-extension', imports: [
5587
+ // Angular
5588
+ CommonModule,
5589
+ // ACoreX
5590
+ AXFormModule,
5591
+ AXTextBoxModule,
5592
+ AXButtonModule,
5593
+ AXLabelModule,
5594
+ AXDecoratorModule,
5595
+ AXCheckBoxModule,
5596
+ // Platform
5597
+ ], encapsulation: ViewEncapsulation.None, providers: [], template: "<ax-divider></ax-divider>\n<ax-button-item\n [text]=\"'actions.upload-from-device'\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-file-arrow-up\"></ax-icon>\n </ax-prefix>\n</ax-button-item>" }]
5598
+ }] });
5599
+
5600
+ class AXMDriveChooseModule {
5601
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDriveChooseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5602
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXMDriveChooseModule, imports: [i1$2.AXPComponentSlotModule] }); }
5603
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDriveChooseModule, imports: [AXPComponentSlotModule.forChild({
5604
+ 'file-uploader-widget-actions': [
5605
+ {
5606
+ name: 'primary-actions',
5607
+ component: AXPFileUploaderWidgetExtensionComponent,
5608
+ },
5609
+ ]
5610
+ })] }); }
5611
+ }
5612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDriveChooseModule, decorators: [{
5613
+ type: NgModule,
5614
+ args: [{
5615
+ imports: [
5616
+ AXPComponentSlotModule.forChild({
5617
+ 'file-uploader-widget-actions': [
5618
+ {
5619
+ name: 'primary-actions',
5620
+ component: AXPFileUploaderWidgetExtensionComponent,
5621
+ },
5622
+ ]
5623
+ })
5624
+ ]
5625
+ }]
5626
+ }] });
5627
+
5510
5628
  function routesFacory() {
5511
5629
  const config = inject(AXP_ENTITY_CONFIG_TOKEN);
5512
5630
  const routes = [
@@ -5533,7 +5651,9 @@ function routesFacory() {
5533
5651
  }
5534
5652
  class AXMDocumentManagementModule {
5535
5653
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
5536
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagementModule, imports: [AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,
5654
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.10", ngImport: i0, type: AXMDocumentManagementModule, imports: [AXMDriveChooseModule,
5655
+ //
5656
+ AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,
5537
5657
  AXMDocumentManagementDocumentTypeMetaValueEntityModule,
5538
5658
  AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,
5539
5659
  AXMDocumentManagementDocumentTypeEntityModule,
@@ -5567,7 +5687,7 @@ class AXMDocumentManagementModule {
5567
5687
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
5568
5688
  useFactory: async () => {
5569
5689
  const injector = inject(Injector);
5570
- const provider = (await import('./acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs')).AXMPermissionDefinitionProvider;
5690
+ const provider = (await import('./acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs')).AXMPermissionDefinitionProvider;
5571
5691
  return new provider(injector);
5572
5692
  },
5573
5693
  multi: true,
@@ -5587,7 +5707,9 @@ class AXMDocumentManagementModule {
5587
5707
  multi: true,
5588
5708
  useFactory: routesFacory,
5589
5709
  },
5590
- ], imports: [AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,
5710
+ ], imports: [AXMDriveChooseModule,
5711
+ //
5712
+ AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,
5591
5713
  AXMDocumentManagementDocumentTypeMetaValueEntityModule,
5592
5714
  AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,
5593
5715
  AXMDocumentManagementDocumentTypeEntityModule,
@@ -5612,6 +5734,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5612
5734
  type: NgModule,
5613
5735
  args: [{
5614
5736
  imports: [
5737
+ AXMDriveChooseModule,
5738
+ //
5615
5739
  AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,
5616
5740
  AXMDocumentManagementDocumentTypeMetaValueEntityModule,
5617
5741
  AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,
@@ -5663,7 +5787,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5663
5787
  provide: AXP_PERMISSION_DEFINITION_PROVIDER,
5664
5788
  useFactory: async () => {
5665
5789
  const injector = inject(Injector);
5666
- const provider = (await import('./acorex-modules-document-management-permission-definition.provider-DROTONyx.mjs')).AXMPermissionDefinitionProvider;
5790
+ const provider = (await import('./acorex-modules-document-management-permission-definition.provider-DoVsp7nL.mjs')).AXMPermissionDefinitionProvider;
5667
5791
  return new provider(injector);
5668
5792
  },
5669
5793
  multi: true,
@@ -5692,4 +5816,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.10", ngImpo
5692
5816
  */
5693
5817
 
5694
5818
  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
5819
+ //# sourceMappingURL=acorex-modules-document-management-acorex-modules-document-management-MoAj_IYQ.mjs.map