@acorex/modules 19.2.17-next.0 → 19.2.17

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 (143) hide show
  1. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +4 -0
  2. package/auth/lib/pages/login/password/password.component.d.ts +1 -0
  3. package/common/lib/entities/dashboard/dashboard.types.d.ts +2 -2
  4. package/common/lib/entities/index.d.ts +0 -1
  5. package/common/lib/features/dashboard-home/dashboard-home.d.ts +113 -0
  6. package/common/lib/features/dashboard-home/dashboard-home.store.d.ts +19 -0
  7. package/common/lib/features/dashboard-home/dashboard.type.d.ts +12 -0
  8. package/common/lib/features/dashboard-popups/add-dashboard-popup.d.ts +11 -0
  9. package/common/lib/features/dashboard-popups/dashboard-popup.service.d.ts +9 -0
  10. package/common/lib/features/widget-wrapper/dashboard-widget-wrapper.d.ts +9 -0
  11. package/document-management/lib/document-management.module.d.ts +2 -1
  12. package/document-management/lib/entities/document/document.types.d.ts +4 -0
  13. package/document-management/lib/entities/folder/folder.types.d.ts +1 -0
  14. package/document-management/lib/features/document-explorer/document-explorer.component.d.ts +7 -0
  15. package/document-management/lib/features/drive/drive.component.d.ts +4 -0
  16. package/document-management/lib/features/drive-choose/drive-choose.component.d.ts +200 -0
  17. package/document-management/lib/features/shared/components/file-viewer-popup/file-viewer-popup.component.d.ts +9 -0
  18. package/document-management/lib/features/shared/components/file-viewer-popup/index.d.ts +1 -0
  19. package/document-management/lib/features/shared/components/index.d.ts +2 -0
  20. package/document-management/lib/features/shared/components/tree-folder-popup/index.d.ts +1 -0
  21. package/document-management/lib/features/shared/components/tree-folder-popup/tree-folder-popup.component.d.ts +20 -0
  22. package/document-management/lib/features/shared/document-manager.service.d.ts +41 -49
  23. package/document-management/lib/features/shared/document-manager.types.d.ts +2 -0
  24. package/document-management/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.d.ts +113 -1
  25. package/fesm2022/{acorex-modules-application-management-module-designer.component-DPJ4qpK3.mjs → acorex-modules-application-management-module-designer.component-BSGSZi9T.mjs} +2 -2
  26. package/fesm2022/{acorex-modules-application-management-module-designer.component-DPJ4qpK3.mjs.map → acorex-modules-application-management-module-designer.component-BSGSZi9T.mjs.map} +1 -1
  27. package/fesm2022/acorex-modules-application-management.mjs +3 -3
  28. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DTje3YIv.mjs → acorex-modules-auth-acorex-modules-auth-Xcs9ViQv.mjs} +13 -13
  29. package/fesm2022/acorex-modules-auth-acorex-modules-auth-Xcs9ViQv.mjs.map +1 -0
  30. package/fesm2022/{acorex-modules-auth-app-chooser.component-CZxX5-T_.mjs → acorex-modules-auth-app-chooser.component-0L9y_yn_.mjs} +3 -3
  31. package/fesm2022/{acorex-modules-auth-app-chooser.component-CZxX5-T_.mjs.map → acorex-modules-auth-app-chooser.component-0L9y_yn_.mjs.map} +1 -1
  32. package/fesm2022/{acorex-modules-auth-login.module-B9P2XpfQ.mjs → acorex-modules-auth-login.module-CfO1IwH9.mjs} +4 -4
  33. package/fesm2022/{acorex-modules-auth-login.module-B9P2XpfQ.mjs.map → acorex-modules-auth-login.module-CfO1IwH9.mjs.map} +1 -1
  34. package/fesm2022/acorex-modules-auth-master.layout-hLuHDgvl.mjs +23 -0
  35. package/fesm2022/acorex-modules-auth-master.layout-hLuHDgvl.mjs.map +1 -0
  36. package/fesm2022/acorex-modules-auth-password.component-BztZ3DJd.mjs +132 -0
  37. package/fesm2022/acorex-modules-auth-password.component-BztZ3DJd.mjs.map +1 -0
  38. package/fesm2022/{acorex-modules-auth-password.component-C7Yp-ioT.mjs → acorex-modules-auth-password.component-CTVBARbz.mjs} +2 -2
  39. package/fesm2022/{acorex-modules-auth-password.component-C7Yp-ioT.mjs.map → acorex-modules-auth-password.component-CTVBARbz.mjs.map} +1 -1
  40. package/fesm2022/{acorex-modules-auth-routes-Bu-xB4O6.mjs → acorex-modules-auth-routes-CJz0CRlp.mjs} +2 -2
  41. package/fesm2022/{acorex-modules-auth-routes-Bu-xB4O6.mjs.map → acorex-modules-auth-routes-CJz0CRlp.mjs.map} +1 -1
  42. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-CKsbiOUX.mjs → acorex-modules-auth-tenant-chooser.component-kVFAR9t1.mjs} +2 -2
  43. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-CKsbiOUX.mjs.map → acorex-modules-auth-tenant-chooser.component-kVFAR9t1.mjs.map} +1 -1
  44. package/fesm2022/{acorex-modules-auth-two-factor-code.component-DrV3UBuT.mjs → acorex-modules-auth-two-factor-code.component-_VYT-h-9.mjs} +2 -2
  45. package/fesm2022/{acorex-modules-auth-two-factor-code.component-DrV3UBuT.mjs.map → acorex-modules-auth-two-factor-code.component-_VYT-h-9.mjs.map} +1 -1
  46. package/fesm2022/{acorex-modules-auth-two-factor.module-YRh6_YcG.mjs → acorex-modules-auth-two-factor.module-BQfrnrd0.mjs} +3 -3
  47. package/fesm2022/{acorex-modules-auth-two-factor.module-YRh6_YcG.mjs.map → acorex-modules-auth-two-factor.module-BQfrnrd0.mjs.map} +1 -1
  48. package/fesm2022/acorex-modules-auth.mjs +1 -1
  49. package/fesm2022/acorex-modules-common-index-BAt02rnb.mjs +472 -0
  50. package/fesm2022/acorex-modules-common-index-BAt02rnb.mjs.map +1 -0
  51. package/fesm2022/acorex-modules-common.mjs +5 -505
  52. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  53. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-C9ZCejjs.mjs → acorex-modules-document-management-acorex-modules-document-management-BmLGtKDq.mjs} +415 -60
  54. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-BmLGtKDq.mjs.map +1 -0
  55. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BnRaCq_Q.mjs → acorex-modules-document-management-create-folder-dialog.component-DqoWmtm7.mjs} +4 -5
  56. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-DqoWmtm7.mjs.map +1 -0
  57. package/fesm2022/acorex-modules-document-management-drive-choose.component-CkS8s7zm.mjs +152 -0
  58. package/fesm2022/acorex-modules-document-management-drive-choose.component-CkS8s7zm.mjs.map +1 -0
  59. package/fesm2022/acorex-modules-document-management-drive.component-B6az6-_w.mjs +164 -0
  60. package/fesm2022/acorex-modules-document-management-drive.component-B6az6-_w.mjs.map +1 -0
  61. package/fesm2022/acorex-modules-document-management-file-viewer-popup.component-CaSagveT.mjs +24 -0
  62. package/fesm2022/acorex-modules-document-management-file-viewer-popup.component-CaSagveT.mjs.map +1 -0
  63. package/fesm2022/acorex-modules-document-management-index-9l8D5iEE.mjs +69 -0
  64. package/fesm2022/acorex-modules-document-management-index-9l8D5iEE.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-EBf1XqU8.mjs → acorex-modules-document-management-rename-node-dialog.component-BoODbM0H.mjs} +4 -4
  66. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-EBf1XqU8.mjs.map → acorex-modules-document-management-rename-node-dialog.component-BoODbM0H.mjs.map} +1 -1
  67. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  68. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-szDh56Bk.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-Qnh16t3Q.mjs} +10 -10
  69. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-szDh56Bk.mjs.map → acorex-modules-form-template-management-acorex-modules-form-template-management-Qnh16t3Q.mjs.map} +1 -1
  70. package/fesm2022/{acorex-modules-form-template-management-category.entity-BZXqnhwK.mjs → acorex-modules-form-template-management-category.entity-BjmyIav9.mjs} +3 -3
  71. package/fesm2022/{acorex-modules-form-template-management-category.entity-BZXqnhwK.mjs.map → acorex-modules-form-template-management-category.entity-BjmyIav9.mjs.map} +1 -1
  72. package/fesm2022/{acorex-modules-form-template-management-setting.provider-o2_TSVfK.mjs → acorex-modules-form-template-management-setting.provider-hkwaOGfL.mjs} +2 -2
  73. package/fesm2022/{acorex-modules-form-template-management-setting.provider-o2_TSVfK.mjs.map → acorex-modules-form-template-management-setting.provider-hkwaOGfL.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BxOdV3y2.mjs → acorex-modules-form-template-management-template-picker.component-gdMTnjl-.mjs} +2 -2
  75. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-BxOdV3y2.mjs.map → acorex-modules-form-template-management-template-picker.component-gdMTnjl-.mjs.map} +1 -1
  76. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component--MGoF75g.mjs → acorex-modules-form-template-management-template-widget-edit.component-CSShokqz.mjs} +3 -3
  77. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component--MGoF75g.mjs.map → acorex-modules-form-template-management-template-widget-edit.component-CSShokqz.mjs.map} +1 -1
  78. package/fesm2022/{acorex-modules-form-template-management-template.entity-JvWcqjzi.mjs → acorex-modules-form-template-management-template.entity-_yMAqh35.mjs} +3 -3
  79. package/fesm2022/{acorex-modules-form-template-management-template.entity-JvWcqjzi.mjs.map → acorex-modules-form-template-management-template.entity-_yMAqh35.mjs.map} +1 -1
  80. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Bllb70Ih.mjs → acorex-modules-form-template-management-viewer-popup.component-CbcSFEis.mjs} +3 -3
  81. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-Bllb70Ih.mjs.map → acorex-modules-form-template-management-viewer-popup.component-CbcSFEis.mjs.map} +1 -1
  82. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  83. package/fesm2022/acorex-modules-notification-management.mjs +2 -2
  84. package/fesm2022/{acorex-modules-organization-management-add-item.component-Y-i6xDkl.mjs → acorex-modules-organization-management-add-item.component-Bsae9u-e.mjs} +2 -2
  85. package/fesm2022/{acorex-modules-organization-management-add-item.component-Y-i6xDkl.mjs.map → acorex-modules-organization-management-add-item.component-Bsae9u-e.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-organization-management-branch.entity-DhObzxhh.mjs → acorex-modules-organization-management-branch.entity-e5pFx82N.mjs} +2 -2
  87. package/fesm2022/{acorex-modules-organization-management-branch.entity-DhObzxhh.mjs.map → acorex-modules-organization-management-branch.entity-e5pFx82N.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs → acorex-modules-organization-management-chart.entity-DnmNyyD2.mjs} +2 -2
  89. package/fesm2022/{acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs.map → acorex-modules-organization-management-chart.entity-DnmNyyD2.mjs.map} +1 -1
  90. package/fesm2022/{acorex-modules-organization-management-company.entity-d7GaCVei.mjs → acorex-modules-organization-management-company.entity-BRkEcDNt.mjs} +2 -2
  91. package/fesm2022/{acorex-modules-organization-management-company.entity-d7GaCVei.mjs.map → acorex-modules-organization-management-company.entity-BRkEcDNt.mjs.map} +1 -1
  92. package/fesm2022/{acorex-modules-organization-management-department.entity-BxyeK3lU.mjs → acorex-modules-organization-management-department.entity-ChJXNpXn.mjs} +2 -2
  93. package/fesm2022/{acorex-modules-organization-management-department.entity-BxyeK3lU.mjs.map → acorex-modules-organization-management-department.entity-ChJXNpXn.mjs.map} +1 -1
  94. package/fesm2022/{acorex-modules-organization-management-division.entity-Dh54R4es.mjs → acorex-modules-organization-management-division.entity-qyDyhl-q.mjs} +2 -2
  95. package/fesm2022/{acorex-modules-organization-management-division.entity-Dh54R4es.mjs.map → acorex-modules-organization-management-division.entity-qyDyhl-q.mjs.map} +1 -1
  96. package/fesm2022/{acorex-modules-organization-management-employee.entity-DcJCJN3R.mjs → acorex-modules-organization-management-employee.entity-Cp5TejzT.mjs} +2 -2
  97. package/fesm2022/{acorex-modules-organization-management-employee.entity-DcJCJN3R.mjs.map → acorex-modules-organization-management-employee.entity-Cp5TejzT.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs → acorex-modules-organization-management-employment-type.entity-Ul10Mdwm.mjs} +2 -2
  99. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-aNkt-l_e.mjs.map → acorex-modules-organization-management-employment-type.entity-Ul10Mdwm.mjs.map} +1 -1
  100. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-aMPR3Oyw.mjs +92 -0
  101. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-aMPR3Oyw.mjs.map +1 -0
  102. package/fesm2022/{acorex-modules-organization-management-org-chart.page-DXyAFXwE.mjs → acorex-modules-organization-management-org-chart.page-CAgSSVON.mjs} +15 -15
  103. package/fesm2022/acorex-modules-organization-management-org-chart.page-CAgSSVON.mjs.map +1 -0
  104. package/fesm2022/{acorex-modules-organization-management-position.entity-D17Yembh.mjs → acorex-modules-organization-management-position.entity-BpQbwW-x.mjs} +2 -2
  105. package/fesm2022/{acorex-modules-organization-management-position.entity-D17Yembh.mjs.map → acorex-modules-organization-management-position.entity-BpQbwW-x.mjs.map} +1 -1
  106. package/fesm2022/{acorex-modules-organization-management-role.entity-Cmbyle8P.mjs → acorex-modules-organization-management-role.entity-B9N4qA_E.mjs} +2 -2
  107. package/fesm2022/{acorex-modules-organization-management-role.entity-Cmbyle8P.mjs.map → acorex-modules-organization-management-role.entity-B9N4qA_E.mjs.map} +1 -1
  108. package/fesm2022/{acorex-modules-organization-management-team.entity-DcurAtLd.mjs → acorex-modules-organization-management-team.entity-7q6Eg74A.mjs} +2 -2
  109. package/fesm2022/{acorex-modules-organization-management-team.entity-DcurAtLd.mjs.map → acorex-modules-organization-management-team.entity-7q6Eg74A.mjs.map} +1 -1
  110. package/fesm2022/acorex-modules-organization-management.mjs +15 -13
  111. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  112. package/fesm2022/{acorex-modules-platform-management-list-version.component-CoZBz85x.mjs → acorex-modules-platform-management-list-version.component-DI1wKhRv.mjs} +2 -2
  113. package/fesm2022/{acorex-modules-platform-management-list-version.component-CoZBz85x.mjs.map → acorex-modules-platform-management-list-version.component-DI1wKhRv.mjs.map} +1 -1
  114. package/fesm2022/acorex-modules-platform-management.mjs +10 -8
  115. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  116. package/fesm2022/acorex-modules-scheduler-job-management.mjs +1 -1
  117. package/fesm2022/acorex-modules-security-management.mjs +1 -1
  118. package/fesm2022/acorex-modules-text-template-management.mjs +1 -1
  119. package/organization-management/lib/features/organization-chart/org-chart-configuration.page.d.ts +4 -0
  120. package/organization-management/lib/features/organization-chart/org-chart.page.d.ts +4 -0
  121. package/package.json +1 -1
  122. package/common/lib/entities/dashboard-widget-data/dashboard-widget-data.entity.d.ts +0 -3
  123. package/common/lib/entities/dashboard-widget-data/dashboard-widget-data.service.d.ts +0 -10
  124. package/common/lib/entities/dashboard-widget-data/dashboard-widget-data.types.d.ts +0 -9
  125. package/common/lib/entities/dashboard-widget-data/index.d.ts +0 -3
  126. package/common/lib/features/home/dashboard-home.d.ts +0 -5
  127. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DTje3YIv.mjs.map +0 -1
  128. package/fesm2022/acorex-modules-auth-master.layout-BYC0FYq1.mjs +0 -23
  129. package/fesm2022/acorex-modules-auth-master.layout-BYC0FYq1.mjs.map +0 -1
  130. package/fesm2022/acorex-modules-auth-password.component-DzrYH4yM.mjs +0 -127
  131. package/fesm2022/acorex-modules-auth-password.component-DzrYH4yM.mjs.map +0 -1
  132. package/fesm2022/acorex-modules-common-index-zaFxpV8u.mjs +0 -14
  133. package/fesm2022/acorex-modules-common-index-zaFxpV8u.mjs.map +0 -1
  134. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-C9ZCejjs.mjs.map +0 -1
  135. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-BnRaCq_Q.mjs.map +0 -1
  136. package/fesm2022/acorex-modules-document-management-drive.component-Sz198sA6.mjs +0 -165
  137. package/fesm2022/acorex-modules-document-management-drive.component-Sz198sA6.mjs.map +0 -1
  138. package/fesm2022/acorex-modules-document-management-index--I8MGeDs.mjs +0 -2
  139. package/fesm2022/acorex-modules-document-management-index--I8MGeDs.mjs.map +0 -1
  140. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DO8wSZqZ.mjs +0 -92
  141. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DO8wSZqZ.mjs.map +0 -1
  142. package/fesm2022/acorex-modules-organization-management-org-chart.page-DXyAFXwE.mjs.map +0 -1
  143. /package/common/lib/features/{home → dashboard-home}/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-modules-document-management-acorex-modules-document-management-BmLGtKDq.mjs","sources":["../../../../libs/modules/document-management/src/lib/const.ts","../../../../libs/modules/document-management/src/lib/entity.provider.ts","../../../../libs/modules/document-management/src/lib/menu.provider.ts","../../../../libs/modules/document-management/src/lib/permission.provider.ts","../../../../libs/modules/document-management/src/lib/search-command.provider.ts","../../../../libs/modules/document-management/src/lib/setting.provider.ts","../../../../libs/modules/document-management/src/lib/entities/document/document.service.ts","../../../../libs/modules/document-management/src/lib/entities/document/document.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document/document.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type/document-type.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type/document-type.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type/document-type.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-definition/document-type-meta-definition.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-definition/document-type-meta-definition.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-definition/document-type-meta-definition.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-value/document-type-meta-value.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-value/document-type-meta-value.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-meta-value/document-type-meta-value.module.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-status-definition/document-type-status-definition.service.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-status-definition/document-type-status-definition.entity.ts","../../../../libs/modules/document-management/src/lib/entities/document-type-status-definition/document-type-status-definition.module.ts","../../../../libs/modules/document-management/src/lib/entities/folder/folder.service.ts","../../../../libs/modules/document-management/src/lib/entities/folder/folder.entity.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/image.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/video.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/document.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/audio.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/archive.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/providers/code.file.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-column.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-designer.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-edit.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-view.component.ts","../../../../libs/modules/document-management/src/lib/features/file-type/widgets/file-type-extension/file-type-extension-widget.config.ts","../../../../libs/modules/document-management/src/lib/features/file-type/file-type.module.ts","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget-column.component.ts","../../../../libs/modules/document-management/src/lib/features/shared/document-manager.types.ts","../../../../libs/modules/document-management/src/lib/features/shared/document-manager.service.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/settings.keys.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/document-explorer.viewmodel.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/document-explorer.component.ts","../../../../libs/modules/document-management/src/lib/features/document-explorer/document-explorer.component.html","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.ts","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget-edit.component.html","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget-filter.component.ts","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget-print.component.ts","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget-view.component.ts","../../../../libs/modules/document-management/src/lib/features/widgets/document-attachment/document-attachment-widget.config.ts","../../../../libs/modules/document-management/src/lib/document-management.module.ts","../../../../libs/modules/document-management/src/acorex-modules-document-management.ts"],"sourcesContent":["const config = {\n i18n: 'document-management',\n};\nexport const RootConfig = {\n config,\n module: {\n module: 'DocumentManagement',\n name: 'DocumentManagement',\n title: `t('documentManagement', {scope:\"${config.i18n}\"})`,\n icon: 'fa-light fa-file-invoice',\n },\n entities: {\n folder: {\n name: 'Folder',\n title: `t(\"folder\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"folderPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-folder',\n },\n document: {\n name: 'Document',\n title: `t(\"document\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-file',\n },\n documentType: {\n name: 'DocumentType',\n title: `t(\"documentType\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypePlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-books',\n },\n documentTypeMetaDefinition: {\n name: 'documentTypeMeta',\n title: `t(\"documentTypeMeta\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypeMetaPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-meta',\n },\n documentTypeMetaValue: {\n name: 'documentTypeMetaValue',\n title: `t(\"documentTypeMetaValue\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypeMetaValuePlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-meta',\n },\n documentTypeStatus: {\n name: 'documentTypeStatus',\n title: `t(\"documentTypeStatus\", { scope: \"${config.i18n}\" })`,\n titlePlural: `t(\"documentTypeStatusPlural\", { scope: \"${config.i18n}\" })`,\n icon: 'fa-light fa-status',\n },\n },\n};\n","import { AXPEntity } from '@acorex/platform/common';\nimport {\n AXPEntityDefinitionLoader,\n AXPEntityDefinitionPreloader,\n AXPEntityPreloadEntity,\n} from '@acorex/platform/layout/entity';\nimport { Injectable, Injector, inject } from '@angular/core';\nimport { RootConfig } from './const';\n\n@Injectable()\nexport class AXMEntityProvider implements AXPEntityDefinitionLoader, AXPEntityDefinitionPreloader {\n private injector = inject(Injector);\n\n public preload(): AXPEntityPreloadEntity[] {\n const module = RootConfig.module.name;\n return Array.from(Object.values(RootConfig.entities)).map((entity: any) => ({\n module: module,\n entity: entity.name,\n }));\n }\n\n async get(moduleName: string, entityName: string): Promise<AXPEntity | null> {\n if (moduleName == RootConfig.module.name) {\n switch (entityName) {\n case RootConfig.entities.document.name:\n return (await import('./entities')).documentFactory(this.injector);\n case RootConfig.entities.documentType.name:\n return (await import('./entities')).documentTypeFactory(this.injector);\n case RootConfig.entities.folder.name:\n return (await import('./entities')).folderFactory(this.injector);\n }\n }\n return null;\n }\n}\n","import { AXPMenuProvider, AXPMenuProviderContext } from '@acorex/platform/common';\nimport { AXPEntityService } from '@acorex/platform/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from './const';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { firstValueFrom } from 'rxjs';\n\nexport class AXMMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n private sessionService = inject(AXPSessionService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const isAuthorized = await firstValueFrom(this.sessionService.isAuthorized$);\n if (!isAuthorized) {\n return;\n }\n //\n context.addItems([\n {\n priority: 9001,\n text: RootConfig.module.title,\n icon: RootConfig.module.icon,\n children: [\n {\n text: RootConfig.entities.documentType.title,\n path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.documentType.name),\n icon: RootConfig.entities.documentType.icon,\n priority: 2\n },\n {\n text: RootConfig.entities.document.titlePlural,\n path: `${this.sessionService.application?.name}/drive/company`,\n icon: RootConfig.entities.document.icon,\n priority: 1\n }\n ]\n }\n ]);\n //\n context.find('edit-profile').insert(\n [\n {\n name: 'my-notifications',\n text: `t('my-drive.title', {scope: \"${RootConfig.config.i18n}\"})`,\n icon: 'fa-light fa-folder-open',\n path: `${this.sessionService.application?.name}/drive/my`,\n data: {\n scope: 'user'\n },\n },\n ],\n 'after'\n );\n }\n}\n","import { AXPPermissionProvider, AXPPermissionProviderContext } from '@acorex/platform/auth';\n\nexport class AXMPermissionProvider implements AXPPermissionProvider {\n async provide(context: AXPPermissionProviderContext): Promise<void> {\n // context.addPermissions([\n // {\n // name: 'view_templates',\n // title: 'Permission to view templates',\n // isArchived: false,\n // },\n // ]);\n }\n}\n","import { AXPSearchCommandProvider, AXPSearchResult } from '@acorex/platform/common';\n\nexport class AXMSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n // {\n // group: 'command',\n // title: 'New Form Template',\n // icon: RootConfig.entities.template.icon,\n // description: 'Create a new form template for designing reusable forms.', // Added description\n // commands: {\n // 'create-entity': {\n // entity: `${RootConfig.module.name}.${RootConfig.entities.template.name}`,\n // },\n // },\n // }\n ];\n}\n","import { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex/platform/common';\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // context\n // // Add Form Template Group\n // .addGroup('form-template', 'Form Template', 'Settings related to form templates.', RootConfig.module.icon)\n // // Start Interface Section\n // .addSection('interface', 'UI Interface', 'Customize the user interface for forms.')\n // .addSetting({\n // key: 'history-panel',\n // title: 'Show History Panel',\n // scope: 'U',\n // isInherited: true,\n // defaultValue: false,\n // widget: {\n // type: AXPWidgetsCatalog.toggle,\n // },\n // description: 'Enable or disable the history panel for forms.',\n // validationRules: [\n // {\n // rule: 'required',\n // },\n // ],\n // })\n // .endSection()\n // .endGroup();\n }\n}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementFolderEntityModel } from '../folder';\nimport { AXMDocumentManagementDocumentEntityModel } from './document.types';\n\nexport abstract class AXMDocumentService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentEntityModel\n> {\n abstract getPath(documentId: string): Promise<AXMDocumentManagementFolderEntityModel[]>;\n\n /**\n * جستجوی فایل‌ها با نام مشخص شده\n * @param searchTerm عبارت جستجو\n * @param rootFolderId شناسه فولدر ریشه برای شروع جستجو\n */\n abstract searchFiles(searchTerm: string, rootFolderId: string): Promise<AXMDocumentManagementDocumentEntityModel[]>;\n}\n\n@Injectable()\nexport class AXMDocumentServiceImpl extends AXMDocumentService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.document.name}`);\n }\n\n override async getPath(_: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n throw new Error('Not implemented');\n }\n\n override async searchFiles(\n _searchTerm: string,\n _rootFolderId: string\n ): Promise<AXMDocumentManagementDocumentEntityModel[]> {\n throw new Error('Not implemented');\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentService } from './document.service';\n\nexport async function documentFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'type',\n title: 't(\"type\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.documentType.name}`,\n expose: 'type',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'metaData',\n title: 't(\"metaData\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.metaData,\n options: {\n listMeta: ` {{context.eval(\"type.meta\")}} `,\n },\n triggers: [\n {\n event: `{{ events.context(\"type\") }}`,\n action: `{{ console.log(context.eval(\"type\")); }}`,\n },\n ],\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'file',\n title: `t(\"file\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.file,\n options: {\n maxFileSize: ` {{context.eval(\"type.maxSize\")}} `,\n multiple: ` {{context.eval(\"type.multiple\")}} `,\n accept: ` {{context.eval(\"type.multiple\")}} `,\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'metaData',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'file',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport { AXMDocumentService, AXMDocumentServiceImpl } from './document.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentService,\n useClass: AXMDocumentServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentEntityModule {}\n","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeEntityModel } from './document-type.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeEntityServiceImpl extends AXMDocumentManagementDocumentTypeEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentType.name}`);\n }\n}\n","import { AXDataSource } from '@acorex/components/common';\nimport { AXMMetaDataDefinitionService } from '@acorex/modules/platform-management';\nimport { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeEntityService } from './document-type.service';\n\nexport async function documentTypeFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeEntityService);\n const metaDefinitionService = injector.get(AXMMetaDataDefinitionService);\n const i18n = RootConfig.config.i18n;\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.documentType.name,\n source: '',\n title: RootConfig.entities.documentType.title,\n formats: {\n individual: RootConfig.entities.documentType.title,\n plural: RootConfig.entities.documentType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.documentType.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'maxSize',\n title: `t(\"maxSize\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsCatalog.numberUnit,\n options: {\n textField: 'name',\n valueField: 'value',\n dataSource: [\n {\n name: 'kb',\n value: 'KB',\n calUnit: 1,\n },\n {\n name: 'mb',\n value: 'MB',\n calUnit: 1024,\n },\n {\n name: 'gb',\n value: 'GB',\n calUnit: 1024 * 1024,\n },\n ],\n mainUnit: 'kb',\n },\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'isEncrypted',\n title: `t(\"isEncrypted\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'boolean',\n interface: {\n type: AXPWidgetsCatalog.checkbox,\n },\n },\n },\n {\n name: 'meta',\n title: `t(\"meta\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.select,\n options: {\n valueField: 'id',\n textField: 'title',\n //defaultValue: AXMFormTemplateTypes.Form,\n dataSource: new AXDataSource({\n load: async (_) => {\n const metaData = await metaDefinitionService.query();\n return metaData;\n },\n pageSize: 100,\n }),\n multiple: true,\n },\n },\n },\n },\n {\n name: 'type',\n title: `t(\"type\", { scope: \"${i18n}\" })`,\n groupId: 'section',\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.documentAttachment,\n options: {},\n },\n },\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n const x = await dataService.getOne(id);\n console.log(x);\n return x;\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'meta',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'meta',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'maxSize',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'isEncrypted',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'meta',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n {\n name: 'type',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView()],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeEntityService,\n AXMDocumentManagementDocumentTypeEntityServiceImpl\n} from './document-type.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeEntityService,\n useClass: AXMDocumentManagementDocumentTypeEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaDefinitionEntityModel } from './document-type-meta-definition.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeMetaDefinitionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl extends AXMDocumentManagementDocumentTypeMetaDefinitionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeMetaDefinition}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaDefinitionEntityService } from './document-type-meta-definition.service';\n\nexport async function documentTypeMetaDefinitionfactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeMetaDefinitionEntityService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityService,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl\n} from './document-type-meta-definition.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaDefinitionEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaValueEntityModel } from './document-type-meta-value.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeMetaValueEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeMetaValueEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl extends AXMDocumentManagementDocumentTypeMetaValueEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeMetaValue}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeMetaValueEntityService } from './document-type-meta-value.service';\n\nexport async function documentTypeMetaValueFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeMetaValueEntityService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeMetaValueEntityService,\n AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl\n} from './document-type-meta-value.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeMetaValueEntityService,\n useClass: AXMDocumentManagementDocumentTypeMetaValueEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeMetaValueEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeStatusDefinitionEntityModel } from './document-type-status-definition.types';\n\nexport abstract class AXMDocumentManagementDocumentTypeStatusDefinitionEntityService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModel\n> {}\n\n@Injectable()\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl extends AXMDocumentManagementDocumentTypeStatusDefinitionEntityService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.documentTypeStatus}`);\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementDocumentTypeStatusDefinitionEntityService } from './document-type-status-definition.service';\n\nexport async function documentTypeStatusDefinitionFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMDocumentManagementDocumentTypeStatusDefinitionEntityService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.document.name,\n source: '',\n title: RootConfig.entities.document.title,\n formats: {\n individual: RootConfig.entities.document.title,\n plural: RootConfig.entities.document.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.document.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { NgModule } from '@angular/core';\nimport {\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityService,\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl\n} from './document-type-status-definition.service';\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n providers: [\n {\n provide: AXMDocumentManagementDocumentTypeStatusDefinitionEntityService,\n useClass: AXMDocumentManagementDocumentTypeStatusDefinitionEntityServiceImpl,\n },\n ],\n})\nexport class AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule {}","import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';\nimport { Injectable } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagementFolderCreateDto, AXMDocumentManagementFolderEntityModel } from './folder.types';\n\nexport abstract class AXMFolderService extends AXMEntityCrudServiceImpl<\n string,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentManagementFolderCreateDto\n //AXMDocumentManagementFolderGetDto\n> {\n abstract getPath(folderId: string): Promise<AXMDocumentManagementFolderEntityModel[]>;\n\n /**\n * جستجوی فولدرها با نام مشخص شده\n * @param searchTerm عبارت جستجو\n * @param rootFolderId شناسه فولدر ریشه برای شروع جستجو\n */\n abstract searchFolders(searchTerm: string, rootFolderId: string): Promise<AXMDocumentManagementFolderEntityModel[]>;\n}\n\n@Injectable()\nexport class AXMFolderServiceImpl extends AXMFolderService {\n constructor() {\n super(`${RootConfig.module.name}.${RootConfig.entities.folder.name}`);\n }\n\n override async getPath(_: string): Promise<AXMDocumentManagementFolderEntityModel[]> {\n throw new Error('Not implemented');\n }\n\n override async searchFolders(\n _searchTerm: string,\n _rootFolderId: string\n ): Promise<AXMDocumentManagementFolderEntityModel[]> {\n throw new Error('Not implemented');\n }\n}\n","import { AXPEntity, AXPEntityCommandScope, AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { Injector } from '@angular/core';\nimport { RootConfig } from '../../const';\nimport { AXMFolderService } from './folder.service';\n\nexport async function folderFactory(injector: Injector): Promise<AXPEntity | null> {\n const dataService = injector.get(AXMFolderService);\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.folder.name,\n source: '',\n title: RootConfig.entities.folder.title,\n formats: {\n individual: RootConfig.entities.folder.title,\n plural: RootConfig.entities.folder.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: RootConfig.module.title,\n },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'section',\n title: RootConfig.entities.folder.title,\n },\n ],\n properties: [\n {\n name: 'name',\n title: 't(\"name\", { scope: \"common\" })',\n groupId: 'section',\n options: {\n sort: {\n enabled: true,\n },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n {\n name: 'title',\n title: 't(\"title\", { scope: \"common\" })',\n groupId: 'section',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.text,\n },\n },\n validations: [\n {\n rule: 'required',\n },\n ],\n },\n ],\n columns: [{ name: 'name' }, { name: 'title' }],\n commands: {\n create: {\n execute: async (data: any) => {\n const res = await dataService.insertOne(data);\n return { id: res };\n },\n },\n delete: {\n execute: async (id: any) => {\n return await dataService.deleteOne(id);\n },\n },\n update: {\n execute: async (data: any) => {\n return await dataService.updateOne(data.id, data);\n },\n },\n },\n queries: {\n byKey: {\n execute: async (id: string) => {\n return await dataService.getOne(id);\n },\n type: AXPEntityQueryType.Single,\n },\n list: {\n execute: async (e: any) => {\n return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });\n },\n type: AXPEntityQueryType.List,\n },\n },\n interfaces: {\n master: {\n create: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n update: {\n sections: [\n {\n id: 'section',\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n },\n single: {\n title: '{{title}}',\n sections: [\n {\n id: 'section',\n layout: {\n positions: {\n lg: {\n colSpan: 12,\n },\n },\n },\n },\n ],\n properties: [\n {\n name: 'name',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n {\n name: 'title',\n layout: {\n positions: {\n lg: {\n colSpan: 6,\n },\n },\n },\n },\n ],\n actions: [],\n },\n list: {\n actions: [\n {\n title: `t(\"create\", { scope: \"common\" })`,\n command: 'create-entity',\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: 't(\"deleteItems\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: 't(\"detail\", { scope: \"common\" })',\n command: 'open-entity',\n priority: 'secondary',\n type: 'view',\n scope: AXPEntityCommandScope.Individual,\n },\n {\n title: 't(\"delete\", { scope: \"common\" })',\n command: 'delete-entity',\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\n\nexport class AXMImageFileTypeProvider implements AXPFileTypeInfoProvider {\n\n\n\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'image',\n title: 'Image',\n icon: 'fa-light fa-image ax-text-purple-500',\n extensions: [\n {\n name: 'jpg',\n title: 'JPEG',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [],\n },\n {\n name: 'png',\n title: 'PNG',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [],\n },\n {\n name: 'gif',\n title: 'GIF',\n icon: 'fa-light fa-image ax-text-purple-500',\n meta: [\n {\n name: 'duration',\n title: 'Duration',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {\n validations: [\n {\n rule: \"required\"\n }\n ]\n },\n path: 'gift.duration',\n };\n },\n },\n ],\n },\n ],\n meta: [\n {\n name: 'width',\n title: 'Width',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {\n validations: [\n {\n rule: \"required\"\n }\n ]\n },\n path: 'image.width',\n };\n },\n },\n {\n name: 'height',\n title: 'Height',\n interface: async () => {\n return {\n type: AXPWidgetsCatalog.text,\n options: {},\n path: 'image.height',\n };\n },\n },\n ],\n },\n ];\n }\n}\n","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMVideoFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'video',\n title: 'Video',\n icon: 'fa-light fa-video ax-text-red-500',\n extensions: [\n {\n name: 'mp4',\n title: 'MP4',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n {\n name: 'avi',\n title: 'AVI',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n {\n name: 'mkv',\n title: 'MKV',\n icon: 'fa-light fa-video ax-text-red-500',\n meta: [],\n },\n ],\n },\n ];\n }\n}\n","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMDocumentFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'document',\n title: 'Document',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n extensions: [\n {\n name: 'pdf',\n title: 'PDF',\n icon: 'fa-light fa-file-pdf ax-text-red-600',\n meta: [],\n },\n {\n name: 'doc',\n title: 'Word',\n icon: 'fa-light fa-file-word ax-text-blue-700',\n meta: [],\n },\n {\n name: 'docx',\n title: 'Word',\n icon: 'fa-light fa-file-word ax-text-blue-700',\n meta: [],\n },\n {\n name: 'xls',\n title: 'Excel',\n icon: 'fa-light fa-file-excel ax-text-green-700',\n meta: [],\n },\n {\n name: 'xlsx',\n title: 'Excel',\n icon: 'fa-light fa-file-excel ax-text-green-700',\n meta: [],\n },\n {\n name: 'ppt',\n title: 'PowerPoint',\n icon: 'fa-light fa-file-powerpoint ax-text-orange-700',\n meta: [],\n },\n {\n name: 'pptx',\n title: 'PowerPoint',\n icon: 'fa-light fa-file-powerpoint ax-text-orange-700',\n meta: [],\n },\n {\n name: 'txt',\n title: 'Text',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n meta: [],\n },\n {\n name: 'rtf',\n title: 'Rich Text',\n icon: 'fa-light fa-file-lines ax-text-blue-600',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMAudioFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'audio',\n title: 'Audio',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n extensions: [\n {\n name: 'mp3',\n title: 'MP3',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'wav',\n title: 'WAV',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'ogg',\n title: 'OGG',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'm4a',\n title: 'M4A',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n {\n name: 'flac',\n title: 'FLAC',\n icon: 'fa-light fa-file-audio ax-text-green-500',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMArchiveFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'archive',\n title: 'Archive',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n extensions: [\n {\n name: 'zip',\n title: 'ZIP',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'rar',\n title: 'RAR',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: '7z',\n title: '7-Zip',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'tar',\n title: 'TAR',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n {\n name: 'gz',\n title: 'GZIP',\n icon: 'fa-light fa-file-zipper ax-text-orange-500',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPFileTypeInfoProvider, AXPFileType } from '@acorex/platform/common';\n\nexport class AXMCodeFileTypeProvider implements AXPFileTypeInfoProvider {\n async items(): Promise<AXPFileType[]> {\n return [\n {\n name: 'code',\n title: 'Code',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n extensions: [\n {\n name: 'js',\n title: 'JavaScript',\n icon: 'fa-light fa-file-code ax-text-yellow-500',\n meta: [],\n },\n {\n name: 'ts',\n title: 'TypeScript',\n icon: 'fa-light fa-file-code ax-text-blue-600',\n meta: [],\n },\n {\n name: 'html',\n title: 'HTML',\n icon: 'fa-light fa-file-code ax-text-orange-600',\n meta: [],\n },\n {\n name: 'css',\n title: 'CSS',\n icon: 'fa-light fa-file-code ax-text-pink-500',\n meta: [],\n },\n {\n name: 'json',\n title: 'JSON',\n icon: 'fa-light fa-file-code ax-text-green-500',\n meta: [],\n },\n {\n name: 'xml',\n title: 'XML',\n icon: 'fa-light fa-file-code ax-text-green-500',\n meta: [],\n },\n {\n name: 'py',\n title: 'Python',\n icon: 'fa-light fa-file-code ax-text-yellow-500',\n meta: [],\n },\n {\n name: 'java',\n title: 'Java',\n icon: 'fa-light fa-file-code ax-text-red-500',\n meta: [],\n },\n {\n name: 'cpp',\n title: 'C++',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n meta: [],\n },\n {\n name: 'cs',\n title: 'C#',\n icon: 'fa-light fa-file-code ax-text-blue-500',\n meta: [],\n },\n ],\n },\n ];\n }\n} ","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXMFileTypeExtensionWidgetColumnComponent extends AXPWidgetComponent<any> {}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXMFileTypeExtensionWidgetDesignerComponent extends AXPWidgetComponent<any> {}\n","import { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXDataSource, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSelectBoxComponent, AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXPFileType, AXPFileTypeProviderService } from '@acorex/platform/common';\nimport {\n AXPLayoutBuilderModule,\n AXPLayoutContextChangeEvent,\n AXPWidgetComponent,\n AXPWidgetNode,\n} from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, signal } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport get from 'lodash-es/get';\nimport set from 'lodash-es/set';\n\n// @if(allowSearch()) {\n// <ax-search-box><ax-clear-button></ax-clear-button></ax-search-box>\n// } @if(hasClearButton()) {\n// <ax-clear-button></ax-clear-button>\n// } @for (validation of validationRules(); track $index) {\n// <ax-validation-rule\n// [rule]=\"validation.rule\"\n// [message]=\"validation.options?.message\"\n// [options]=\"validation.options\"\n// ></ax-validation-rule>\n// } @for (validation of validationRules(); track $index) {\n// <ax-validation-rule\n// [rule]=\"validation.rule\"\n// [message]=\"validation.options?.message\"\n// [options]=\"validation.options\"\n// ></ax-validation-rule>\n\n@Component({\n template: `\n <div>\n <ax-select-box\n #dd\n [dataSource]=\"dataSource\"\n valueField=\"name\"\n textField=\"title\"\n [multiple]=\"true\"\n [ngModel]=\"getValue()?.selectedItems\"\n (onValueChanged)=\"handleValueChange($event)\"\n >\n </ax-select-box>\n <div class=\"ax-py-3\"></div>\n <axp-widgets-container (onContextChanged)=\"handleOnContextChange($event)\" [context]=\"context()\">\n @if (selectedItems().length > 0) {\n <ax-collapse-group look=\"fill\">\n @for (item of selectedItems(); track item.name) {\n <!-- File Types -->\n <ax-collapse [caption]=\"item.title\">\n <div class=\"ax-flex ax-flex-col ax-gap-5\">\n @if (item.meta && item.meta.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <ax-text [textContent]=\"'Global Meta Data'\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n @for (metaFile of item.meta; track metaFile.name) {\n <!-- File Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(metaFile)\">{{ metaFile.title }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"getNode(metaFile)\" [mode]=\"'edit'\"></ng-container>\n </ax-form-field>\n }\n </div>\n }\n @if (item.extensions && item.extensions.length > 0) {\n <div class=\"ax-flex ax-flex-col ax-gap-3\">\n @for (ext of item.extensions; track ext.name) {\n <!-- Extensions -->\n @if (ext.meta && ext.meta.length > 0) {\n <ax-text [textContent]=\"ext.title\" class=\"ax-font-bold ax-text-sm\"></ax-text>\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n @for (extMeta of ext.meta; track $index) {\n <!-- Extension Meta Data -->\n <ax-form-field>\n <ax-label [required]=\"filedIsRequired(extMeta)\">{{ extMeta.title }}</ax-label>\n <ng-container axp-widget-renderer [node]=\"getNode(extMeta)\"\n [mode]=\"'edit'\"></ng-container>\n </ax-form-field>\n }\n </div>\n }\n <!-- End Extension Meta Data -->\n }\n </div>\n <!-- End Extensions -->\n }\n </div>\n </ax-collapse>\n }\n <!-- End File Types -->\n </ax-collapse-group>\n }\n </axp-widgets-container>\n </div>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, AXSelectBoxModule, FormsModule, AXFormModule, AXLabelModule, AXDecoratorModule, AXPLayoutBuilderModule, AXCollapseModule],\n inputs: [],\n})\nexport class AXMFileTypeExtensionWidgetEditComponent extends AXPWidgetComponent<any> {\n protected fileTypeService = inject(AXPFileTypeProviderService);\n protected dataSource = new AXDataSource<unknown>({\n load: async (_) => {\n try {\n const res = await this.fileTypeService.items();\n const types = res\n .map((item) => {\n const { meta, extensions, ...rest } = item;\n return extensions.map((ext) => {\n const { meta, ...extRest } = ext;\n return {\n ...rest,\n ...extRest,\n name: `${item.name}.${ext.name}`,\n title: `${item.title}/${ext.title}`,\n };\n });\n })\n .flat();\n\n return {\n items: types,\n total: types.length,\n };\n } catch (e) {\n console.log(e);\n }\n return {\n items: [],\n total: 0,\n };\n },\n pageSize: 100,\n });\n\n public selectedItems = signal<AXPFileType[]>(this.getValue()?.selectedItems ?? []);\n public context = signal<any>(this.getValue()?.context ?? {});\n\n override ngOnInit() {\n super.ngOnInit();\n this.selectedItems.set(this.getValue()?.selectedItems ?? []);\n this.context.set(this.getValue()?.context ?? {});\n }\n\n protected override outputs(): string[] {\n return ['selectedItems', 'context'];\n }\n\n protected handleOnContextChange(e: AXPLayoutContextChangeEvent) {\n this.context.set(e.data);\n this.setValue({ ...this.getValue(), context: e.data });\n }\n\n protected async handleValueChange(e: AXValueChangedEvent) {\n const selectItems = (e.component as AXSelectBoxComponent).selectedItems as AXPFileType[];\n this.setValue({ ...this.getValue(), selectedItems: selectItems });\n\n const result: { [key: string]: AXPFileType } = {};\n for (const item of selectItems) {\n const type = item.name.split('.')[0];\n const ext = item.name.split('.')[1];\n var fileType = await this.fileTypeService.get(type);\n if (fileType != undefined) {\n const extension = fileType.extensions.find((extension) => extension.name == ext) || { name: ext, title: '' };\n if (extension.meta) {\n for (const meta of extension.meta) {\n if (!get(meta, '__node__')) {\n set(meta, '__node__', typeof meta.interface == 'function' ? await meta.interface() : meta.interface);\n }\n }\n }\n if (fileType.meta) {\n for (const meta of fileType.meta) {\n if (!get(meta, '__node__')) {\n set(meta, '__node__', typeof meta.interface == 'function' ? await meta.interface() : meta.interface);\n }\n }\n }\n if (result[type]) {\n result[type] = {\n ...fileType,\n extensions: [...result[type].extensions, extension],\n };\n } else {\n result[type] = {\n ...fileType,\n extensions: [extension],\n };\n }\n }\n }\n\n this.selectedItems.set(Object.values(result));\n }\n\n protected getNode(meta: any): AXPWidgetNode {\n return get(meta, '__node__');\n }\n\n protected filedIsRequired(meta: any): boolean {\n const node = get(meta, '__node__');\n if (node && node.options && node.options.validations) {\n return node.options.validations.some((validation: any) => validation.rule === 'required');\n }\n return false;\n }\n}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: ['rawValue'],\n})\nexport class AXMFileTypeExtensionWidgetViewComponent extends AXPWidgetComponent<any> {}\n","import { AXP_WIDGETS_ADVANCE_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXmFileTypeExtensionWidget: AXPWidgetConfig = {\n name: 'file-type-extension',\n title: 'File Type Extension',\n description: 'Uploads and manages files',\n icon: 'fa-solid fa-files',\n group: AXP_WIDGETS_ADVANCE_GROUP,\n type: 'editor',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n view: {\n component: () =>\n import('./file-type-extension-view.component').then((c) => c.AXMFileTypeExtensionWidgetViewComponent),\n },\n edit: {\n component: () =>\n import('./file-type-extension-edit.component').then((c) => c.AXMFileTypeExtensionWidgetEditComponent),\n },\n // filter: {\n // component: () => import('./file-type-extension-filter.component').then((c) => c.AXPFileBoxWidgetFilterComponent),\n // },\n column: {\n component: () =>\n import('./file-type-extension-column.component').then((c) => c.AXMFileTypeExtensionWidgetColumnComponent),\n },\n // print: {\n // component: () => import('./file-type-extension-print.component').then((c) => c.AXPFileBoxWidgetPrintComponent),\n // },\n designer: {\n component: () =>\n import('./file-type-extension-edit.component').then((c) => c.AXMFileTypeExtensionWidgetEditComponent),\n },\n },\n};\n\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n fileTypeExtension: 'file-type-extension';\n }\n}\n","import { AXP_FILE_TYPE_INFO_PROVIDER } from '@acorex/platform/common';\nimport { NgModule } from '@angular/core';\nimport {\n AXMArchiveFileTypeProvider,\n AXMAudioFileTypeProvider,\n AXMCodeFileTypeProvider,\n AXMDocumentFileTypeProvider,\n AXMImageFileTypeProvider,\n AXMVideoFileTypeProvider,\n} from './providers';\n\n@NgModule({\n providers: [\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMImageFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMVideoFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMDocumentFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMAudioFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMCodeFileTypeProvider,\n multi: true,\n },\n {\n provide: AXP_FILE_TYPE_INFO_PROVIDER,\n useClass: AXMArchiveFileTypeProvider,\n multi: true,\n },\n ],\n})\nexport class AXMFileTypeModule { } ","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXMDocumentAttachmentWidgetColumnComponent extends AXPWidgetComponent<any> {}\n","import { AXMDocumentManagementDocumentEntityModel, AXMDocumentManagementFolderEntityModel } from '../../entities';\n\nexport type AXMDriveScopeKey = 'P' | 'T' | 'U';\nexport enum AXMDriveScope {\n Platform = 'P',\n Tenant = 'T',\n User = 'U',\n}\n\nexport interface AXMDocumentExplorerNode {\n id: string;\n name: string;\n type: 'file' | 'folder';\n parentId: string | null;\n children?: AXMDocumentExplorerNode[];\n childrenCount?: number;\n size?: number;\n lastModified?: Date;\n fileId?: string;\n}\n\nexport type AXPDocumentExplorerViewMode = 'grid' | 'list';\n\nexport type CreateFolderDto = Partial<Omit<AXMDocumentManagementFolderEntityModel, 'id'>>;\nexport type UpdateFolderDto = Partial<Omit<AXMDocumentManagementFolderEntityModel, 'id'>>;\n\nexport type CreateFileDto = Omit<AXMDocumentManagementDocumentEntityModel, 'id'>;\nexport type UpdateFileDto = Partial<Omit<AXMDocumentManagementDocumentEntityModel, 'id'>>;\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXMediaViewerData } from '@acorex/components/media-viewer';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPFileStorageService } from '@acorex/platform/common';\nimport { inject, Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { RootConfig } from '../../const';\nimport {\n AXMDocumentManagementDocumentEntityModel,\n AXMDocumentManagementFolderCreateDto,\n AXMDocumentManagementFolderEntityModel,\n AXMDocumentService,\n AXMFolderService,\n} from '../../entities';\nimport {\n AXMDocumentExplorerNode,\n AXMDriveScope,\n CreateFileDto,\n UpdateFileDto,\n UpdateFolderDto,\n} from './document-manager.types';\n\n/**\n * Interface defining the contract for document drive service\n */\nexport interface AXMDocumentManagerServiceInterface {\n scope(scope: AXMDriveScope, options?: { tenantId?: string; userId?: string }): ScopedDriveService;\n getRoot(\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }>;\n getFolder(folderId: string): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }>;\n createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode>;\n updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode>;\n deleteFolder(folderId: string): Promise<void>;\n getAvailableSpace(): Promise<number>;\n\n createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode>;\n updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode>;\n deleteFile(fileId: string): Promise<void>;\n\n deleteNodes(nodeIds: string[]): Promise<void>;\n\n showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null>;\n showDeleteNodesDialog(nodeIds: string[]): Promise<void>;\n\n copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode>;\n\n searchFolders(\n searchTerm: string,\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]>;\n\n searchFiles(\n searchTerm: string,\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]>;\n\n searchNodes(\n searchTerm: string,\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]>;\n\n showChooseFileDialog(): Promise<void>;\n\n showTreeFolderPopup(): Promise<string | null>;\n\n showFileViewerPopup(node: AXMDocumentExplorerNode): Promise<void>;\n\n openFile(node: AXMDocumentExplorerNode): Promise<void>;\n\n getAllFolders(): Promise<AXMDocumentExplorerNode[]>;\n getAllFiles(): Promise<AXMDocumentExplorerNode[]>;\n getAllNodes(): Promise<AXMDocumentExplorerNode[]>;\n\n downloadFile(node: AXMDocumentExplorerNode): Promise<void>;\n}\n\n/**\n * Service for handling document drive operations\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class AXMDocumentManagerService implements AXMDocumentManagerServiceInterface {\n protected folderService = inject(AXMFolderService);\n protected sessionService = inject(AXPSessionService);\n protected documentService = inject(AXMDocumentService);\n protected popupService = inject(AXPopupService);\n protected dialogService = inject(AXDialogService);\n protected fileService = inject(AXPFileStorageService);\n private scopedDriveCache: Map<AXMDriveScope, ScopedDriveService> = new Map();\n\n scope(scope: AXMDriveScope, options?: { tenantId?: string; userId?: string }): ScopedDriveService {\n const cacheKey = this.getScopeCacheKey(scope, options);\n if (!this.scopedDriveCache.has(cacheKey)) {\n this.scopedDriveCache.set(cacheKey, new ScopedDriveService(this, scope, options));\n }\n return this.scopedDriveCache.get(cacheKey)!;\n }\n\n private getScopeCacheKey(scope: AXMDriveScope, options?: { tenantId?: string; userId?: string }): AXMDriveScope {\n return scope;\n }\n\n /**\n * Gets the platform root folder (top-level folder)\n * @returns Root folder for the platform\n */\n private async getPlatformRootFolder(): Promise<AXMDocumentManagementFolderEntityModel> {\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null!,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'isNull' } },\n { field: 'tenantId', operator: { type: 'isNull' } },\n { field: 'userId', operator: { type: 'isNull' } },\n ],\n },\n });\n\n if (result.items.length === 0) {\n throw new Error('Platform root folder not found');\n }\n\n return result.items[0];\n }\n\n /**\n * Gets the tenant root folder\n * @param rootFolderId The platform root folder ID\n * @param tenantId The tenant ID\n * @returns Tenant root folder\n */\n private async getTenantRootFolder(\n rootFolderId: string,\n tenantId: string\n ): Promise<AXMDocumentManagementFolderEntityModel> {\n if (!tenantId) {\n throw new Error('Tenant ID is required');\n }\n\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null!,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: rootFolderId },\n { field: 'tenantId', operator: { type: 'equal' }, value: tenantId },\n { field: 'userId', operator: { type: 'isNull' } },\n ],\n },\n });\n\n if (result.items.length === 0) {\n throw new Error('Tenant root folder not found');\n }\n\n return result.items[0];\n }\n\n /**\n * Gets the user root folder\n * @param tenantFolderId The tenant folder ID\n * @param tenantId The tenant ID\n * @param userId The user ID\n * @returns User root folder\n */\n private async getUserRootFolder(\n tenantFolderId: string,\n tenantId: string,\n userId: string\n ): Promise<AXMDocumentManagementFolderEntityModel> {\n if (!tenantId || !userId) {\n throw new Error('Both Tenant ID and User ID are required');\n }\n\n const result = await this.folderService.query({\n skip: 0,\n take: 1,\n filter: {\n operator: null!,\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: tenantFolderId },\n { field: 'tenantId', operator: { type: 'equal' }, value: tenantId },\n { field: 'userId', operator: { type: 'equal' }, value: userId },\n ],\n },\n });\n\n if (result.items.length === 0) {\n throw new Error('User root folder not found');\n }\n\n return result.items[0];\n }\n\n private mapFolderDtoToFolderNode(folder: AXMDocumentManagementFolderEntityModel): AXMDocumentExplorerNode {\n return {\n id: folder.id!,\n name: folder.name,\n type: 'folder',\n parentId: folder.parentId || null,\n lastModified: folder.updatedAt,\n childrenCount: folder.nodeCount,\n children: [\n ...(folder.folders?.map((child) => ({\n id: child.id!,\n name: child.name,\n type: 'folder' as const,\n parentId: child.parentId || null,\n lastModified: child.updatedAt,\n childrenCount: child.nodeCount,\n })) || []),\n ...(folder.documents?.map((doc) => ({\n id: doc.id!,\n name: doc.name,\n type: 'file' as const,\n parentId: doc.parentId,\n lastModified: doc.meta?.['uploadedAt'],\n size: doc.meta?.['size'],\n })) || []),\n ],\n };\n }\n\n private async buildPath(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode[]> {\n if (node.type === 'file') {\n return (await this.documentService.getPath(node.id)).map(this.mapFolderDtoToFolderNode);\n }\n return (await this.folderService.getPath(node.id)).map(this.mapFolderDtoToFolderNode);\n }\n\n private async findNodeById(id: string): Promise<AXMDocumentExplorerNode | null> {\n const findNode = (nodes: AXMDocumentExplorerNode[]): AXMDocumentExplorerNode | null => {\n for (const node of nodes) {\n if (node.id === id) {\n return node;\n }\n if (node.children) {\n const found = findNode(node.children);\n if (found) return found;\n }\n }\n return null;\n };\n\n return findNode([(await this.getRoot(AXMDriveScope.Platform)).result]);\n }\n\n /**\n * Gets the root folder based on the specified scope\n * @param scope The drive scope (Platform, Tenant, User)\n * @param options Optional parameters for tenant and user IDs\n * @returns Root folder for the specified scope\n */\n async getRoot(\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n const rootFolder = await this.getPlatformRootFolder();\n let result: AXMDocumentExplorerNode;\n\n switch (scope) {\n case AXMDriveScope.Platform:\n result = this.mapFolderDtoToFolderNode(rootFolder);\n break;\n\n case AXMDriveScope.Tenant: {\n if (!options?.tenantId) {\n throw new Error('Tenant ID is required for tenant scope');\n }\n const tenantRoot = await this.getTenantRootFolder(rootFolder.id!, options.tenantId);\n result = this.mapFolderDtoToFolderNode(tenantRoot);\n break;\n }\n\n case AXMDriveScope.User: {\n if (!options?.tenantId || !options?.userId) {\n throw new Error('Both Tenant ID and User ID are required for user scope');\n }\n const tenantFolder = await this.getTenantRootFolder(rootFolder.id!, options.tenantId);\n const userRoot = await this.getUserRootFolder(tenantFolder.id!, options.tenantId, options.userId);\n result = this.mapFolderDtoToFolderNode(userRoot);\n break;\n }\n\n default:\n throw new Error(`Invalid scope: ${scope}`);\n }\n\n const path = await this.buildPath(result);\n return { path, result };\n }\n\n /**\n * Gets a specific folder by ID\n * @param folderId The folder ID to retrieve\n * @returns The requested folder\n */\n async getFolder(folderId: string): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n if (!folderId) {\n throw new Error('Folder ID is required');\n }\n\n const folder = await this.folderService.getOne(folderId);\n if (!folder) {\n throw new Error('Folder not found');\n }\n\n const result = this.mapFolderDtoToFolderNode(folder);\n const path = await this.buildPath(result);\n return { path, result };\n }\n\n async createFolder(data: AXMDocumentManagementFolderCreateDto): Promise<AXMDocumentExplorerNode> {\n const now = new Date();\n const currentUser = this.sessionService.user;\n\n const folderToCreate: Omit<AXMDocumentManagementFolderEntityModel, 'id'> = {\n ...data,\n createdAt: now,\n updatedAt: now,\n createdBy: currentUser?.id?.toString() ?? 'system',\n updatedBy: currentUser?.id?.toString() ?? 'system',\n isSystem: false,\n isHidden: false,\n isDeleted: false,\n };\n\n const createdFolder = await this.folderService.insertOne(folderToCreate);\n const folder = await this.folderService.getOne(createdFolder);\n return this.mapFolderDtoToFolderNode(folder);\n }\n\n async updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode> {\n const currentUser = this.sessionService.user;\n const updateData = {\n ...data,\n updatedBy: currentUser?.id?.toString() ?? 'system',\n updatedAt: new Date(),\n };\n await this.folderService.updateOne(folderId, updateData);\n const updatedFolder = await this.folderService.getOne(folderId);\n return this.mapFolderDtoToFolderNode(updatedFolder);\n }\n\n async deleteFolder(folderId: string): Promise<void> {\n await this.folderService.deleteOne(folderId);\n }\n\n async getAvailableSpace(): Promise<number> {\n // For now, return a fixed value of 100GB (56 * 1024 * 1024 * 1024 bytes)\n // This should be replaced with actual storage quota logic when implemented\n return 56 * 1024 * 1024 * 1024;\n }\n\n private mapFileToNode(file: AXMDocumentManagementDocumentEntityModel): AXMDocumentExplorerNode {\n return {\n id: file.id!,\n name: file.name,\n type: 'file',\n parentId: file.parentId,\n lastModified: new Date(),\n size: file.meta?.['size'],\n fileId: file.fileId,\n };\n }\n\n async createFile(data: CreateFileDto): Promise<AXMDocumentExplorerNode> {\n const fileId = await this.documentService.insertOne(data);\n const file = await this.documentService.getOne(fileId);\n return this.mapFileToNode(file);\n }\n\n async updateFile(fileId: string, data: UpdateFileDto): Promise<AXMDocumentExplorerNode> {\n const y = await this.documentService.getOne(fileId);\n console.log(y);\n debugger;\n\n const updatedFile = await this.documentService.updateOne(fileId, data);\n\n return this.mapFileToNode(updatedFile);\n }\n\n async deleteFile(fileId: string): Promise<void> {\n await this.documentService.deleteOne(fileId);\n }\n\n async deleteNodes(nodeIds: string[]): Promise<void> {\n for (const nodeId of nodeIds) {\n try {\n await this.deleteFolder(nodeId);\n } catch {\n try {\n await this.deleteFile(nodeId);\n } catch (error) {\n console.error(`Failed to delete node with id ${nodeId}:`, error);\n }\n }\n }\n }\n\n async showCreateFolderDialog(parentId?: string): Promise<AXMDocumentExplorerNode | null> {\n const comp = (await import('../document-explorer/components/create-folder-dialog/create-folder-dialog.component'))\n .AXMCreateFolderDialog;\n const popup = await this.popupService.open(comp, {\n title: 't(\"actions.create-folder\")',\n data: {\n parentId,\n },\n });\n return popup.data?.folder as AXMDocumentExplorerNode;\n }\n\n //Todo beacuse id is String here return type is string and need dynamic type and wrong process\n async showTreeFolderPopup(): Promise<string | null> {\n const comp = (await import('./components')).AXMTreeFolderPopupComponent;\n const popup = await this.popupService.open(comp, {\n title: 't(\"actions.create-folder\")',\n data: {\n // parentId,\n },\n });\n return popup.data?.selectedNodeId;\n }\n\n async showFileViewerPopup(node: AXMDocumentExplorerNode): Promise<void> {\n const parentFolder = await this.folderService.getOne(node.parentId!);\n const parentFolderName = parentFolder.name;\n const nodes: AXMediaViewerData[] = await Promise.all(\n parentFolder.documents?.map(async (doc) => {\n const fileInfo = await this.fileService.getInfo(doc.fileId!);\n\n // Convert mimeType to supported type\n let fileType: 'image' | 'audio' | 'pdf' | 'video' = 'image';\n if (fileInfo.mimeType.startsWith('image/')) {\n fileType = 'image';\n } else if (fileInfo.mimeType.startsWith('audio/')) {\n fileType = 'audio';\n } else if (fileInfo.mimeType.startsWith('video/')) {\n fileType = 'video';\n } else if (fileInfo.mimeType === 'application/pdf') {\n fileType = 'pdf';\n }\n\n return {\n id: doc.id || '',\n name: doc.name,\n type: fileType,\n url: fileInfo.url || '',\n size: String(fileInfo.size),\n thumbnail: fileInfo.url || '',\n };\n }) || []\n );\n\n console.log(nodes);\n\n const comp = (await import('./components/file-viewer-popup/file-viewer-popup.component'))\n .AXMFileViewerPopupComponent;\n await this.popupService.open(comp, {\n title: `t(\"gallery\" , ${RootConfig.module.name})` + ' - ' + parentFolderName,\n data: {\n nodes,\n },\n });\n }\n\n async openFile(node: AXMDocumentExplorerNode) {\n const file = await this.documentService.getOne(node.id);\n if (file && file.fileId) {\n const fileInfo = await this.fileService.getInfo(file.fileId);\n\n if (fileInfo.url) {\n try {\n // Check if the URL looks like base64 - only attempt decoding if it matches base64 pattern\n const isBase64 = /^[A-Za-z0-9+/]*={0,2}$/.test(fileInfo.url);\n let url = fileInfo.url;\n\n if (isBase64) {\n try {\n url = atob(fileInfo.url);\n console.log('Successfully decoded base64 URL:', url);\n } catch (e) {\n console.warn('Failed to decode as base64, using original URL:', e);\n }\n }\n\n // Make sure URL has a protocol, add https if missing\n let finalUrl = url.startsWith('http') ? url : `https://${url}`;\n\n console.log('Attempting to open URL:', finalUrl);\n\n // Try to open in a new window with a friendly message to copy URL if it fails\n this.showUrlDialog(finalUrl, file.name);\n } catch (error) {\n console.error('Error processing URL:', error);\n this.showUrlDialog(fileInfo.url, file.name, true);\n }\n } else {\n console.warn('No URL found for file:', file);\n this.dialogService.alert('No URL Available', 'No URL found for this file.', 'warning');\n }\n } else {\n console.warn('File not found or has no fileId:', node.id);\n this.dialogService.alert('File Not Found', 'File information could not be retrieved.', 'warning');\n }\n }\n\n /**\n * Shows a dialog with URL options including a copy button\n */\n private async showUrlDialog(url: string, fileName: string, isError = false) {\n const title = `Open \"${fileName}\"`;\n const message = isError\n ? 'There was an issue processing the URL. You can try opening it manually:\\n' + url\n : 'Click the button below to open the URL, or copy it to open manually:\\n' + url;\n\n const result = await this.dialogService.confirm(title, message, 'primary');\n\n if (result) {\n try {\n window.open(url, '_blank', 'noopener,noreferrer');\n } catch (e) {\n console.error('Error opening URL from dialog:', e);\n this.dialogService.alert('Error', 'Could not open URL in browser', 'danger');\n }\n } else {\n // If user cancels, offer to copy the URL\n const copyResult = await this.dialogService.confirm(\n 'Copy URL',\n 'Would you like to copy the URL to clipboard?',\n 'primary'\n );\n if (copyResult) {\n try {\n navigator.clipboard.writeText(url);\n this.dialogService.alert('Success', 'URL copied to clipboard', 'success');\n } catch (e) {\n console.error('Error copying URL to clipboard:', e);\n // Fallback for clipboard API not available\n const textArea = document.createElement('textarea');\n textArea.value = url;\n document.body.appendChild(textArea);\n textArea.focus();\n textArea.select();\n document.execCommand('copy');\n document.body.removeChild(textArea);\n this.dialogService.alert('Success', 'URL copied to clipboard', 'success');\n }\n }\n }\n\n return result;\n }\n\n async rename(node: AXMDocumentExplorerNode) {\n const comp = (await import('../document-explorer/components/rename-node-dialog/rename-node-dialog.component'))\n .AXMRenameNodeDialog;\n const popup = await this.popupService.open(comp, {\n title: 't(\"actions.rename\")',\n data: {\n node,\n },\n });\n return popup.data?.folder as AXMDocumentExplorerNode;\n }\n\n async showDeleteNodesDialog(nodeIds: string[]): Promise<void> {\n const subject = new Subject();\n subject.subscribe((status) => {\n console.log(`The process has been \"${status}\".`);\n });\n\n const dialog = this.dialogService.open({\n content: 'Are you sure?',\n title: 'Delete',\n type: 'danger',\n buttons: [\n {\n text: 'Yes',\n color: 'danger',\n onClick: async (e: any) => {\n e.handled = true;\n e.source.text = 'Deleting...';\n e.source.disabled = true;\n e.source.loading = true;\n subject.next('Started');\n await this.deleteNodes(nodeIds);\n subject.complete();\n dialog.close();\n },\n },\n {\n text: 'No',\n color: 'default',\n autofocus: true,\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n }\n\n async searchFolders(\n searchTerm: string,\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]> {\n const { result: rootNode } = await this.getRoot(scope, options);\n\n const folders = await this.folderService.searchFolders(searchTerm, rootNode.id);\n\n return folders.map((folder) => this.mapFolderDtoToFolderNode(folder));\n }\n\n async searchFiles(\n searchTerm: string,\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]> {\n const { result: rootNode } = await this.getRoot(scope, options);\n\n const files = await this.documentService.searchFiles(searchTerm, rootNode.id);\n\n return files.map((file) => this.mapFileToNode(file));\n }\n\n async searchNodes(\n searchTerm: string,\n scope: AXMDriveScope,\n options?: { tenantId?: string; userId?: string }\n ): Promise<AXMDocumentExplorerNode[]> {\n const [folders, files] = await Promise.all([\n this.searchFolders(searchTerm, scope, options),\n this.searchFiles(searchTerm, scope, options),\n ]);\n\n return [...folders, ...files];\n }\n\n async getAllFolders(): Promise<AXMDocumentExplorerNode[]> {\n //TODO filter by scope\n return (await this.folderService.query()).items.map(this.mapFolderDtoToFolderNode);\n }\n\n async getAllFiles(): Promise<AXMDocumentExplorerNode[]> {\n //TODO filter by scope\n return (await this.documentService.query()).items.map(this.mapFileToNode);\n }\n\n async getAllNodes(): Promise<AXMDocumentExplorerNode[]> {\n return [...(await this.getAllFolders()), ...(await this.getAllFiles())];\n }\n\n async showChooseFileDialog(): Promise<void> {\n const comp = (await import('../drive-choose/drive-choose.component')).AXMDocumentDriveChooseComponent;\n await this.popupService.open(comp);\n }\n\n async downloadFile(node: AXMDocumentExplorerNode): Promise<void> {\n const file = await this.documentService.getOne(node.id);\n if (file && file.fileId) {\n const fileInfo = await this.fileService.getInfo(file.fileId);\n\n const link = document.createElement('a');\n link.href = fileInfo.url ?? '';\n link.download = file.name; // Set the desired file name\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n } else {\n console.log('id is null');\n }\n }\n\n /**\n * Creates a copy of a node (file or folder)\n * @param node The node to copy\n * @returns The newly created copied node\n */\n async copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode> {\n if (!node) {\n throw new Error('Node to copy cannot be null or undefined');\n }\n\n // Create a name with \" copy\" before the extension\n const newName = this.createCopyName(node.name);\n\n if (node.type === 'file') {\n // Get the original file to copy all its data\n const originalFile = await this.documentService.getOne(node.id);\n if (!originalFile) {\n throw new Error(`File with ID ${node.id} not found`);\n }\n\n // Create a document model from the original with the new name\n // Extract needed properties without id\n const { id, ...fileDataWithoutId } = originalFile;\n const fileData: CreateFileDto = {\n ...fileDataWithoutId,\n name: newName,\n title: newName,\n };\n\n // Create the new file\n return await this.createFile(fileData);\n } else if (node.type === 'folder') {\n // Get the original folder to copy all its data\n const originalFolder = await this.folderService.getOne(node.id);\n if (!originalFolder) {\n throw new Error(`Folder with ID ${node.id} not found`);\n }\n\n // Create a folder model from the original with the new name\n // Extract needed properties without id\n const { id, ...folderDataWithoutId } = originalFolder;\n const folderData: AXMDocumentManagementFolderCreateDto = {\n ...folderDataWithoutId,\n name: newName,\n };\n\n // Create the new folder\n return await this.createFolder(folderData);\n } else {\n throw new Error(`Unsupported node type: ${node.type}`);\n }\n }\n\n /**\n * Creates a copy name by adding \" copy\" before the extension\n * @param originalName The original filename\n * @returns The new filename with \" copy\" added before the extension\n */\n private createCopyName(originalName: string): string {\n const lastDotIndex = originalName.lastIndexOf('.');\n\n if (lastDotIndex === -1) {\n // No extension\n return `${originalName} copy`;\n }\n\n const nameWithoutExt = originalName.substring(0, lastDotIndex);\n const extension = originalName.substring(lastDotIndex);\n\n return `${nameWithoutExt} copy${extension}`;\n }\n}\n\nexport class ScopedDriveService {\n constructor(\n private parent: AXMDocumentManagerService,\n private scope: AXMDriveScope,\n private options?: { tenantId?: string; userId?: string }\n ) {\n this.validateScopeOptions();\n }\n\n private validateScopeOptions(): void {\n switch (this.scope) {\n case AXMDriveScope.Tenant:\n if (!this.options?.tenantId) {\n throw new Error('Tenant ID is required for tenant scope');\n }\n break;\n case AXMDriveScope.User:\n if (!this.options?.tenantId || !this.options?.userId) {\n throw new Error('Both Tenant ID and User ID are required for user scope');\n }\n break;\n }\n }\n\n async getRoot(): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n return this.parent.getRoot(this.scope, this.options);\n }\n\n async getFolder(folderId: string): Promise<{\n path: AXMDocumentExplorerNode[];\n result: AXMDocumentExplorerNode;\n }> {\n return this.parent.getFolder(folderId);\n }\n\n async createFolder(\n data: Omit<AXMDocumentManagementFolderCreateDto, 'tenantId' | 'userId'>\n ): Promise<AXMDocumentExplorerNode> {\n const folderData: AXMDocumentManagementFolderCreateDto = {\n ...data,\n tenantId: this.options?.tenantId,\n userId: this.options?.userId,\n };\n return this.parent.createFolder(folderData);\n }\n\n async updateFolder(folderId: string, data: UpdateFolderDto): Promise<AXMDocumentExplorerNode> {\n return this.parent.updateFolder(folderId, data);\n }\n\n async deleteFolder(folderId: string): Promise<void> {\n return this.parent.deleteFolder(folderId);\n }\n\n async getAvailableSpace(): Promise<number> {\n return this.parent.getAvailableSpace();\n }\n\n async searchFolders(searchTerm: string): Promise<AXMDocumentExplorerNode[]> {\n this.validateScopeOptions();\n return this.parent.searchFolders(searchTerm, this.scope, this.options);\n }\n\n async searchFiles(searchTerm: string): Promise<AXMDocumentExplorerNode[]> {\n this.validateScopeOptions();\n return this.parent.searchFiles(searchTerm, this.scope, this.options);\n }\n\n async searchNodes(searchTerm: string): Promise<AXMDocumentExplorerNode[]> {\n this.validateScopeOptions();\n return this.parent.searchNodes(searchTerm, this.scope, this.options);\n }\n\n /**\n * Creates a copy of a node (file or folder)\n * @param node The node to copy\n * @returns The newly created copied node\n */\n async copy(node: AXMDocumentExplorerNode): Promise<AXMDocumentExplorerNode> {\n this.validateScopeOptions();\n return this.parent.copy(node);\n }\n}\n","export enum AXPDocumentExplorerSettings {\n ViewMode = 'document-explorer:layout:view-mode',\n SortField = 'document-explorer:layout:sort-field',\n SortDirection = 'document-explorer:layout:sort-direction'\n}\n\n","import { AXPFileType, AXPFileTypeProviderService, AXPSettingScope, AXPSettingService } from '@acorex/platform/common';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withMethods, withState } from '@ngrx/signals';\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport { AXMDocumentExplorerNode, AXMDriveScope, AXPDocumentExplorerViewMode } from '../shared/document-manager.types';\nimport { AXPDocumentExplorerSettings } from './settings.keys';\n\nexport const AXPDocumentExplorerViewModel = signalStore(\n { providedIn: 'root' },\n\n withState(() => ({\n // View State\n viewMode: 'grid' as AXPDocumentExplorerViewMode,\n isLoading: false,\n\n // Navigation State\n currentPath: [] as AXMDocumentExplorerNode[],\n currentNode: null as AXMDocumentExplorerNode | null,\n loadingFolderId: null as string | null,\n navigatingFolderId: null as string | null,\n\n // Sort State\n sortField: 'name',\n sortDirection: 'asc',\n\n // Content State\n folders: [] as AXMDocumentExplorerNode[],\n files: [] as AXMDocumentExplorerNode[],\n itemsCount: 0,\n availableSpace: 0,\n\n // Drive State\n currentDrive: null as AXMDriveScope | null,\n\n // File Type State\n fileTypes: [] as AXPFileType[],\n })),\n\n withComputed((store) => ({\n isRoot: computed(() => {\n const node = store.currentNode();\n return node?.id === 'root' || !node?.parentId;\n }),\n\n breadcrumb: computed(() => store.currentPath()),\n\n currentFolder: computed(() => store.currentNode()),\n\n currentFolderContents: computed(() => ({\n folders: store.folders(),\n files: store.files(),\n })),\n\n parentFolder: computed(() => {\n const currentNode = store.currentNode();\n return currentNode?.parentId ? store.folders().find((folder) => folder.id === currentNode.parentId) : null;\n }),\n\n isGridView: computed(() => store.viewMode() === 'grid'),\n isListView: computed(() => store.viewMode() === 'list'),\n })),\n\n withMethods(\n (\n store,\n fileTypeService = inject(AXPFileTypeProviderService),\n driveService = inject(AXMDocumentManagerService),\n settingService = inject(AXPSettingService)\n ) => ({\n async initialize(path: string = 'root') {\n // Load file types\n const fileTypes = await fileTypeService.items();\n patchState(store, { fileTypes });\n\n // Load initial settings\n const viewMode = await settingService.get(AXPDocumentExplorerSettings.ViewMode);\n const sortField = await settingService.get(AXPDocumentExplorerSettings.SortField);\n const sortDirection = await settingService.get(AXPDocumentExplorerSettings.SortDirection);\n\n patchState(store, {\n viewMode: viewMode || 'grid',\n sortField: sortField || 'name',\n sortDirection: sortDirection || 'asc',\n });\n },\n\n _load: async (folderId: string) => {\n patchState(store, { loadingFolderId: folderId, isLoading: true });\n\n await new Promise((resolve) => setTimeout(resolve, 100));\n\n try {\n const node = await driveService.getFolder(folderId);\n\n patchState(store, {\n currentNode: node.result,\n currentPath: node.path,\n folders: node.result.children?.filter((item: AXMDocumentExplorerNode) => item.type === 'folder') || [],\n files: node.result.children?.filter((item: AXMDocumentExplorerNode) => item.type === 'file') || [],\n itemsCount: node.result.children?.length || 0,\n availableSpace: await driveService.getAvailableSpace(),\n loadingFolderId: null,\n isLoading: false,\n navigatingFolderId: null,\n });\n } catch (error) {\n patchState(store, {\n loadingFolderId: null,\n isLoading: false,\n });\n throw error;\n }\n },\n\n navigateToFolder(folderId: string) {\n patchState(store, { navigatingFolderId: folderId });\n },\n\n async loadFolderContents(folderId: string) {\n await this._load(folderId);\n },\n\n setViewMode(mode: AXPDocumentExplorerViewMode) {\n patchState(store, { viewMode: mode });\n settingService.scope(AXPSettingScope.User).set(AXPDocumentExplorerSettings.ViewMode, mode);\n },\n\n setSortField(field: string) {\n patchState(store, { sortField: field });\n settingService.scope(AXPSettingScope.User).set(AXPDocumentExplorerSettings.SortField, field);\n },\n\n setSortDirection(direction: string) {\n patchState(store, { sortDirection: direction });\n settingService.scope(AXPSettingScope.User).set(AXPDocumentExplorerSettings.SortDirection, direction);\n },\n\n setDrive(scope: AXMDriveScope) {\n patchState(store, { currentDrive: scope });\n },\n\n isLoadingFolder(folderId: string): boolean {\n return store.loadingFolderId() === folderId;\n },\n\n getFileInfo(fileName: string): { icon: string; type: string } {\n const fileTypes = store.fileTypes();\n const extension = fileName.split('.').pop()?.toLowerCase() || '';\n const extensions = fileTypes.flatMap((type) => type.extensions);\n const fileType = extensions.find((e) => e.name === extension);\n\n return {\n icon: fileType?.icon || 'fa-light fa-file',\n type: fileType?.name || 'Unknown',\n };\n },\n\n sortItems(items: AXMDocumentExplorerNode[]): AXMDocumentExplorerNode[] {\n const field = store.sortField();\n const direction = store.sortDirection();\n\n return [...items].sort((a, b) => {\n let comparison = 0;\n\n switch (field) {\n case 'name':\n comparison = a.name.localeCompare(b.name);\n break;\n case 'modified':\n const aDate = a.lastModified ? new Date(a.lastModified) : new Date(0);\n const bDate = b.lastModified ? new Date(b.lastModified) : new Date(0);\n comparison = aDate.getTime() - bDate.getTime();\n break;\n case 'size':\n comparison = (a.size || 0) - (b.size || 0);\n break;\n }\n\n return direction === 'asc' ? comparison : -comparison;\n });\n },\n\n async refresh() {\n const currentFolder = store.currentNode();\n if (currentFolder) {\n await this._load(currentFolder.id);\n }\n },\n })\n )\n);\n","import { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport {\n AXContextMenuComponent,\n AXContextMenuItemsClickEvent,\n AXContextMenuOpeningEvent,\n AXMenuModule,\n} from '@acorex/components/menu';\nimport { AXDateTimeModule } from '@acorex/core/date-time';\nimport { AXFormatModule } from '@acorex/core/format';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPElementDataDirective } from '@acorex/platform/core';\nimport { CommonModule } from '@angular/common';\nimport { Component, effect, inject, viewChild } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { get } from 'lodash-es';\nimport { RootConfig } from '../../const';\nimport { AXMDocumentManagerService } from '../shared/document-manager.service';\nimport { AXMDocumentExplorerNode } from '../shared/document-manager.types';\nimport { AXPDocumentExplorerViewModel } from './document-explorer.viewmodel';\n\n@Component({\n selector: 'axm-document-explorer',\n templateUrl: './document-explorer.component.html',\n styleUrls: ['./document-explorer.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n AXDecoratorModule,\n AXLoadingModule,\n AXFormatModule,\n AXDateTimeModule,\n AXMenuModule,\n AXPElementDataDirective,\n ],\n})\nexport class AXMDocumentExplorerComponent {\n protected vm = inject(AXPDocumentExplorerViewModel);\n protected contextMenu = viewChild<AXContextMenuComponent>('itemsContextMenu');\n protected rootContextMenu = viewChild<AXContextMenuComponent>('rootContextMenu');\n protected driveService = inject(AXMDocumentManagerService);\n protected translateService = inject(AXTranslationService);\n\n #effect = effect(() => {\n const navigatingFolderId = this.vm.loadingFolderId();\n if (!navigatingFolderId) {\n setTimeout(() => {\n this.contextMenu()?.refresh();\n this.rootContextMenu()?.refresh();\n }, 100);\n }\n });\n\n protected handleNavigateToFolder(folderId: string) {\n this.vm.navigateToFolder(folderId);\n console.log(this.vm.currentFolder());\n }\n\n // Context Menu Handlers\n protected async handleContextMenuOnOpening(e: AXContextMenuOpeningEvent) {\n const node = get(e.targetElement, '__data__') as any as AXMDocumentExplorerNode;\n if (!node) {\n return;\n }\n\n const allowedAddItems = node.type === 'folder';\n const allowDelete = true;\n const isPasteAvailable = true;\n const allowPaste = false;\n\n const open =\n node.type == 'file'\n ? [\n {\n name: 'open-file',\n text: 'Open',\n icon: this.vm.getFileInfo(node.name).icon,\n data: node,\n },\n {\n name: 'download',\n text: 'Download',\n icon: 'fa-light fa-download',\n data: node,\n },\n ]\n : [\n {\n name: 'open-folder',\n text: 'Open',\n icon: 'fa-light fa-folder-open',\n data: node,\n },\n {\n name: 'upload-file',\n text: 'Upload File',\n icon: 'fa-light fa-file-arrow-up',\n break: true,\n data: this.vm.currentFolder(),\n },\n ];\n\n const info = {\n name: node.type == 'file' ? 'file-info' : 'folder-info',\n text: 'Information',\n icon: 'fa-light fa-circle-info',\n items: [\n {\n name: 'rename',\n text: 'Rename',\n icon: 'fa-light fa-pencil',\n data: node,\n },\n {\n name: 'properties',\n text: 'Properties',\n icon: 'fa-light fa-memo-circle-info',\n break: true,\n data: node,\n },\n {\n name: 'lock ',\n text: 'Lock',\n icon: 'fa-light fa-lock',\n data: node,\n },\n ],\n break: true,\n };\n\n const openWith = {\n name: 'open-with',\n text: 'Open with',\n icon: 'fa-light fa-circle-info',\n items: [\n {\n name: 'open-gallery',\n text: 'Gallery',\n icon: 'fa-light fa-images',\n data: node,\n },\n ],\n break: true,\n };\n\n e.items = [\n ...open,\n\n {\n name: 'share',\n text: 'Share',\n icon: 'fa-light fa-share-nodes',\n items: [\n {\n name: 'share',\n text: 'Share',\n icon: 'fa-light fa-users',\n },\n {\n name: 'share-with-email',\n text: 'Share with email',\n icon: 'fa-light fa-envelope',\n },\n {\n name: 'link',\n text: 'Link',\n icon: 'fa-light fa-link',\n },\n ],\n break: true,\n },\n info,\n {\n name: 'copy',\n text: 'Make a copy',\n icon: 'fa-light fa-copy',\n data: node,\n },\n {\n name: 'copy-to',\n text: 'Copy to',\n icon: 'fa-light fa-copy',\n data: node,\n },\n {\n name: 'move-to',\n text: 'Move to',\n icon: 'fa-light fa-arrow-right-arrow-left',\n break: true,\n data: node,\n },\n {\n name: 'delete',\n text: 'Delete',\n color: 'danger',\n icon: 'fa-light fa-trash',\n data: node,\n },\n ];\n\n if (node.type == 'file') {\n e.items.splice(e.items.length - 1, 0, openWith);\n }\n }\n\n protected handleContextMenuRootOnOpening(e: AXContextMenuOpeningEvent) {\n //TODO: check async translate method in acorex\n const scope = RootConfig.config.i18n;\n e.items = [\n {\n name: 'new-folder',\n text: this.translateService.translateSync('actions.create-folder', { scope }),\n icon: 'fa-light fa-folder-plus',\n },\n {\n name: 'upload-file',\n text: this.translateService.translateSync('actions.upload-file', { scope }),\n icon: 'fa-light fa-file-arrow-up',\n break: true,\n },\n {\n name: 'refresh',\n text: 'Refresh',\n icon: 'fa-light fa-rotate-right',\n break: true,\n },\n {\n name: 'delete',\n text: 'Delete',\n color: 'danger',\n icon: 'fa-light fa-trash',\n },\n ];\n }\n\n protected async handleContextMenuItemClick(e: AXContextMenuItemsClickEvent) {\n const node = e.item.data as AXMDocumentExplorerNode;\n switch (e.item.name) {\n case 'open-folder':\n this.handleNavigateToFolder(node.id);\n break;\n case 'open-file':\n this.openFile(node);\n break;\n case 'open-gallery':\n this.openGallery(node);\n break;\n case 'download':\n this.handleDownloadFile(node);\n break;\n case 'new-folder':\n await this.createFolder(node);\n // Handle new folder creation\n break;\n case 'upload-file':\n await this.uploadFile(node);\n break;\n case 'paste':\n // Handle paste operation\n break;\n case 'move-to':\n this.moveNode(node);\n break;\n case 'copy-to':\n this.copyNodeToNewPath(node);\n break;\n case 'rename':\n this.renameNode(node);\n break;\n case 'delete':\n this.deleteNode(node);\n break;\n case 'refresh':\n this.vm.refresh();\n break;\n case 'copy':\n this.makeCopy(node);\n break;\n }\n }\n async openGallery(node: AXMDocumentExplorerNode) {\n await this.driveService.showFileViewerPopup(node);\n }\n async openFile(node: AXMDocumentExplorerNode) {\n await this.driveService.openFile(node);\n }\n handleDownloadFile(node: AXMDocumentExplorerNode) {\n this.driveService.downloadFile(node);\n }\n\n public async createFolder(node?: AXMDocumentExplorerNode) {\n const parentId = node?.id ?? this.vm.currentFolder()?.id;\n if (parentId) {\n const result = await this.driveService.showCreateFolderDialog(parentId);\n if (result) {\n await this.vm.refresh();\n }\n }\n }\n\n public async deleteNode(node?: AXMDocumentExplorerNode) {\n if (node) {\n await this.driveService.showDeleteNodesDialog([node.id]);\n await this.vm.refresh();\n }\n }\n\n public async renameNode(node?: AXMDocumentExplorerNode) {\n if (node) {\n const result = await this.driveService.rename(node);\n if (result) {\n await this.vm.refresh();\n }\n }\n }\n\n public async uploadFile(node?: AXMDocumentExplorerNode) {\n const folderId = node?.id ?? this.vm.currentFolder()?.id;\n if (folderId) {\n // const result = await this.driveService.showCreateFolderDialog(this.vm.currentFolder()?.id);\n // if (result) {\n // await this.vm.refresh();\n // }\n }\n }\n\n public async chooseFile() {\n await this.driveService.showChooseFileDialog();\n await this.vm.refresh();\n }\n\n public async makeCopy(node?: AXMDocumentExplorerNode): Promise<void> {\n if (node) {\n try {\n const copiedNode = await this.driveService.copy(node);\n await this.vm.refresh();\n } catch (error) {\n console.error('Error copying node:', error);\n }\n }\n }\n\n public async moveNode(node?: AXMDocumentExplorerNode) {\n if (node) {\n const result = await this.driveService.showTreeFolderPopup();\n if (result) {\n if (node.type === 'folder') {\n await this.driveService.updateFolder(node.id, { parentId: result });\n } else {\n await this.driveService.updateFile(node.id, { parentId: result });\n }\n await this.vm.refresh();\n }\n }\n }\n\n public async copyNodeToNewPath(node?: AXMDocumentExplorerNode) {\n if (node) {\n const result = await this.driveService.showTreeFolderPopup();\n if (result) {\n if (node.type === 'folder') {\n await this.driveService.createFolder({\n name: node.name,\n parentId: result,\n color: '#ffffff',\n });\n } else {\n await this.driveService.createFile({\n title: node.name,\n name: node.name,\n parentId: result,\n //TODO upload file to file storage\n fileId: '',\n });\n }\n await this.vm.refresh();\n }\n }\n }\n}\n","<!-- Content -->\n<div class=\"content\">\n <!-- Empty State -->\n @if (vm.folders().length === 0 && vm.files().length === 0) {\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center ax-py-16 ax-h-full\">\n <ax-icon icon=\"fa-light fa-folder-open\" class=\"ax-text-6xl ax-mb-4\"></ax-icon>\n <h3 class=\"ax-text-xl ax-font-medium ax-mb-2\">No Items Found</h3>\n <p class=\"\">This folder is empty. Add some files or folders to get started.</p>\n </div>\n } @else {\n <!-- Grid View -->\n @if (vm.isGridView()) {\n <!-- Folders Section -->\n @if (vm.folders().length > 0) {\n <div class=\"section\">\n <h3 class=\"section-title\">Folders</h3>\n <div class=\"items-grid\">\n @for (folder of vm.folders(); track folder.id) {\n <ng-container [ngTemplateOutlet]=\"gridFolderTemplate\" [ngTemplateOutletContext]=\"{ $implicit: folder }\">\n </ng-container>\n }\n </div>\n </div>\n }\n\n <!-- Files Section -->\n @if (vm.files().length > 0) {\n <div class=\"section\">\n <h3 class=\"section-title\">Files</h3>\n <div class=\"items-grid\">\n @for (file of vm.files(); track file.id) {\n <ng-container [ngTemplateOutlet]=\"gridFileTemplate\" [ngTemplateOutletContext]=\"{ $implicit: file }\">\n </ng-container>\n }\n </div>\n </div>\n }\n <!-- Grid View End -->\n }\n\n <!-- List View -->\n @if (vm.isListView()) {\n <div class=\"list-view\">\n <table class=\"items-table\">\n <thead>\n <tr>\n <th class=\"name-column\">Name</th>\n <th class=\"type-column\">Type</th>\n <th class=\"size-column\">Size</th>\n <th class=\"date-column\">Last Modified</th>\n </tr>\n </thead>\n <tbody>\n @for (folder of vm.folders(); track folder.id) {\n <ng-container [ngTemplateOutlet]=\"listFolderTemplate\" [ngTemplateOutletContext]=\"{ $implicit: folder }\">\n </ng-container>\n } @for (file of vm.files(); track file.id) {\n <ng-container [ngTemplateOutlet]=\"listFileTemplate\" [ngTemplateOutletContext]=\"{ $implicit: file }\">\n </ng-container>\n }\n </tbody>\n </table>\n </div>\n } }\n</div>\n\n<!-- Grid View Templates -->\n<ng-template #gridFolderTemplate let-folder>\n <div\n class=\"ax-group ax-cursor-pointer axp-explorer-item\"\n [axp-data]=\"folder\"\n (dblclick)=\"handleNavigateToFolder(folder.id)\"\n >\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-p-4 ax-rounded-lg ax-border ax-lighter-surface\">\n <div class=\"ax-text-yellow-400 fa-3x ax-mb-2\" style=\"--fa-animation-duration: 2s\">\n @if (vm.isLoadingFolder(folder.id)) {\n <ng-container [ngTemplateOutlet]=\"folderLoading\"> </ng-container>\n } @else {\n <ax-icon icon=\"fa-solid fa-folder-closed \"></ax-icon>\n }\n </div>\n <div class=\"ax-flex ax-justify-between ax-font-semibold ax-w-full\">\n <span class=\"ax-text-sm ax-truncate ax-text-start\">{{ folder.name }}</span>\n </div>\n <div class=\"ax-flex ax-justify-between ax-w-full ax-font-semibold ax-opacity-65\">\n <span class=\"ax-text-xs ax-text-neutral\">{{ folder.childrenCount }} items</span>\n <span class=\"ax-text-xs ax-text-neutral\">{{\n folder.lastModified | format : 'datetime' : { format: 'datetime' } | async\n }}</span>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ng-template #gridFileTemplate let-file>\n @let fileInfo = vm.getFileInfo(file.name);\n <div class=\"ax-group ax-cursor-pointer axp-explorer-item\" [axp-data]=\"file\" (dblclick)=\"openFile(file)\">\n <div class=\"ax-flex ax-flex-col ax-gap-1 ax-p-4 ax-rounded-lg ax-border ax-lighter-surface\">\n <div class=\"ax-text-yellow-400 fa-3x ax-mb-2\" style=\"--fa-animation-duration: 2s\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n </div>\n <div class=\"ax-flex ax-justify-between ax-font-semibold ax-w-full\">\n <span class=\"ax-text-sm ax-truncate ax-text-start\">{{ file.name }}</span>\n </div>\n <div class=\"ax-flex ax-justify-between ax-w-full ax-font-semibold ax-opacity-65\">\n <span class=\"ax-text-xs ax-text-neutral\">{{ file.size | format : 'filesize' | async }}</span>\n <span class=\"ax-text-xs ax-text-neutral\">{{\n file.lastModified | format : 'datetime' : { format: 'datetime' } | async\n }}</span>\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- List View Templates -->\n<ng-template #listFolderTemplate let-folder>\n <tr class=\"folder-row\" (dblclick)=\"handleNavigateToFolder(folder.id)\">\n <td class=\"name-column axp-explorer-item\" [axp-data]=\"folder\">\n <div class=\"item-name\">\n @if (vm.isLoadingFolder(folder.id)) {\n <ng-container [ngTemplateOutlet]=\"folderLoading\"> </ng-container>\n } @else {\n <i class=\"fas fa-folder-closed\"></i>\n }\n <span>{{ folder.name }}</span>\n </div>\n </td>\n <td class=\"type-column axp-explorer-item\" [axp-data]=\"folder\">Folder</td>\n <td class=\"size-column axp-explorer-item\" [axp-data]=\"folder\">{{ folder.size | format : 'filesize' | async }}</td>\n <td class=\"date-column axp-explorer-item\" [axp-data]=\"folder\">\n {{ folder.lastModified | format : 'datetime' : { format: 'datetime' } | async }}\n </td>\n </tr>\n</ng-template>\n\n<ng-template #listFileTemplate let-file>\n <tr class=\"file-row\">\n @let fileInfo = vm.getFileInfo(file.name);\n <td class=\"name-column axp-explorer-item\" [axp-data]=\"file\">\n <div class=\"item-name hover:ax-underline\">\n <i class=\"fa-fw {{ fileInfo.icon }} fa-solid\"></i>\n <span>{{ file.name }}</span>\n </div>\n </td>\n <td class=\"type-column axp-explorer-item\" [axp-data]=\"file\">{{ fileInfo.type }}</td>\n <td class=\"size-column axp-explorer-item\" [axp-data]=\"file\">{{ file.size | format : 'filesize' | async }}</td>\n <td class=\"date-column axp-explorer-item\" [axp-data]=\"file\">\n {{ file.lastModified | format : 'datetime' : { format: 'datetime' } | async }}\n </td>\n </tr>\n</ng-template>\n\n<ng-template #folderLoading>\n <i class=\"fa-light fa-spinner fa-spin-pulse ax-text-2xl\"></i>\n</ng-template>\n\n<!-- Context Menu-->\n<ax-context-menu\n #itemsContextMenu\n [target]=\"'.axp-explorer-item'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n>\n</ax-context-menu>\n\n<ax-context-menu\n #rootContextMenu\n [target]=\"'axm-document-explorer'\"\n [orientation]=\"'vertical'\"\n [closeOn]=\"'leave'\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n (onOpening)=\"handleContextMenuRootOnOpening($event)\"\n>\n</ax-context-menu>\n","import { AXButtonComponent, AXButtonModule } from '@acorex/components/button';\nimport { AXButtonGroupModule } from '@acorex/components/button-group';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, effect, inject, viewChild } from '@angular/core';\nimport { RootConfig } from '../../../const';\nimport { AXPDocumentExplorerViewModel } from '../../document-explorer';\nimport { AXMDocumentExplorerComponent } from '../../document-explorer/document-explorer.component';\nimport { AXMDocumentManagerService } from '../../shared';\nimport { AXMDriveScope } from '../../shared/document-manager.types';\n\n@Component({\n selector: 'axm-document-attachment-edit-widget',\n templateUrl: './document-attachment-widget-edit.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n CommonModule,\n AXMDocumentExplorerComponent,\n AXButtonComponent,\n AXDropdownButtonModule,\n AXDropdownModule,\n AXDecoratorModule,\n AXTranslationModule,\n AXButtonModule,\n AXButtonGroupModule,\n ],\n inputs: [],\n providers: [AXPDocumentExplorerViewModel],\n})\nexport class AXMDocumentAttachmentWidgetEditComponent extends AXPWidgetComponent<any> {\n private readonly driveService = inject(AXMDocumentManagerService);\n protected readonly vm = inject(AXPDocumentExplorerViewModel);\n protected readonly rootConfig = RootConfig;\n\n protected documentExplorer = viewChild(AXMDocumentExplorerComponent);\n\n #navigateEffect = effect(() => {\n const navigatingFolderId = this.vm.navigatingFolderId();\n if (navigatingFolderId) {\n this.loadDrive(navigatingFolderId);\n }\n });\n\n override ngOnInit(): void {\n super.ngOnInit();\n this.vm.initialize();\n this.loadDrive();\n }\n\n private async loadDrive(folderId?: string) {\n if (folderId) {\n await this.vm.loadFolderContents(folderId);\n } else {\n const root = await this.driveService.getRoot(AXMDriveScope.Platform);\n if (root.result) {\n await this.vm.loadFolderContents(root.result.id);\n }\n }\n }\n\n protected handleNavigateToFolder(folderId: string) {\n this.vm.navigateToFolder(folderId);\n }\n}\n","<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\">\n <ax-button\n (onClick)=\"handleNavigateToFolder(vm.currentFolder()?.parentId!)\"\n [ngClass]=\"{ 'ax-invisible': !vm.currentFolder()?.parentId }\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-arrow-left\"></ax-icon>\n </ax-prefix>\n </ax-button>\n <!-- Primary Actions -->\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)=\"documentExplorer()?.chooseFile()\"\n [text]=\"(t('drive-types.platform-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-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n <axm-document-explorer></axm-document-explorer>\n</div>\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule, FormsModule],\n inputs: [],\n})\nexport class AXMDocumentAttachmentWidgetFilterComponent extends AXPWidgetComponent<any> {}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXMDocumentAttachmentWidgetPrintComponent extends AXPWidgetComponent<any> {}\n","import { AXPWidgetComponent } from '@acorex/platform/layout/builder';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n@Component({\n selector: 'axp-document-attachment-widget',\n template: ``,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n inputs: [],\n})\nexport class AXMDocumentAttachmentWidgetViewComponent extends AXPWidgetComponent<any> {}\n","import { AXP_WIDGETS_EDITOR_GROUP, AXPWidgetConfig } from '@acorex/platform/layout/builder';\nimport { AXP_DATA_PATH_PROPERTY, AXP_NAME_PROPERTY } from '@acorex/platform/widgets';\n\nexport const AXMDocumentAttachmentWidget: AXPWidgetConfig = {\n name: 'document-attachment-editor',\n title: 'DocumentAttachment',\n icon: 'fa-solid fa-gallery',\n description: 'My custom widget',\n group: AXP_WIDGETS_EDITOR_GROUP,\n type: 'editor',\n defaultFilterWidgetName: 'string-filter',\n properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],\n components: {\n view: {\n component: () =>\n import('./document-attachment-widget-view.component').then((c) => c.AXMDocumentAttachmentWidgetViewComponent),\n },\n edit: {\n component: () =>\n import('./document-attachment-widget-edit.component').then((c) => c.AXMDocumentAttachmentWidgetEditComponent),\n },\n filter: {\n component: () =>\n import('./document-attachment-widget-filter.component').then(\n (c) => c.AXMDocumentAttachmentWidgetFilterComponent\n ),\n },\n column: {\n component: () =>\n import('./document-attachment-widget-column.component').then(\n (c) => c.AXMDocumentAttachmentWidgetColumnComponent\n ),\n },\n print: {\n component: () =>\n import('./document-attachment-widget-print.component').then((c) => c.AXMDocumentAttachmentWidgetPrintComponent),\n },\n designer: {\n component: () =>\n import('./document-attachment-widget-edit.component').then((c) => c.AXMDocumentAttachmentWidgetEditComponent),\n },\n },\n};\ndeclare module '@acorex/platform/layout/builder' {\n interface AXPWidgetTypesMap {\n documentAttachment: 'document-attachment-editor';\n }\n}\n","import { AXP_PERMISSION_PROVIDER, AXPAuthGuard } from '@acorex/platform/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER } from '@acorex/platform/common';\nimport { AXP_ENTITY_CONFIG_TOKEN, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';\nimport { inject, NgModule } from '@angular/core';\nimport { AXMEntityProvider } from './entity.provider';\nimport { AXMMenuProvider } from './menu.provider';\nimport { AXMPermissionProvider } from './permission.provider';\nimport { AXMSearchCommandProvider } from './search-command.provider';\nimport { AXMSettingProvider } from './setting.provider';\n\nimport { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';\nimport { ROUTES, Routes } from '@angular/router';\nimport {\n AXMDocumentManagementDocumentEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n} from './entities';\nimport { AXmFileTypeExtensionWidget } from './features/file-type';\nimport { AXMFileTypeModule } from './features/file-type/file-type.module';\n\nimport { AXMFolderService, AXMFolderServiceImpl } from './entities';\nimport { AXMDocumentAttachmentWidget } from './features/widgets';\nimport { AXMediaViewerModule } from '@acorex/components/media-viewer';\n\nfunction routesFacory() {\n const config = inject(AXP_ENTITY_CONFIG_TOKEN);\n const routes: Routes = [\n {\n path: ':app/drive/:scope',\n loadComponent: () => {\n return config.viewers.root();\n },\n canActivate: [AXPAuthGuard],\n data: { reuse: true },\n children: [\n {\n path: '',\n loadComponent: () => import('./features/drive/drive.component').then((c) => c.AXMDocumentDriveComponent),\n },\n {\n path: ':id',\n loadComponent: () => import('./features/drive/drive.component').then((c) => c.AXMDocumentDriveComponent),\n },\n ],\n },\n ];\n return routes;\n}\n\n\n\n@NgModule({\n imports: [\n AXMDocumentManagementDocumentTypeStatusDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeMetaValueEntityModule,\n AXMDocumentManagementDocumentTypeMetaDefinitionEntityModule,\n AXMDocumentManagementDocumentTypeEntityModule,\n AXMDocumentManagementDocumentEntityModule,\n AXPLayoutBuilderModule.forChild({\n widgets: [AXmFileTypeExtensionWidget, AXMDocumentAttachmentWidget],\n }),\n AXMFileTypeModule,\n AXMediaViewerModule.forRoot(),\n ],\n exports: [],\n\n providers: [\n {\n provide: AXMFolderService,\n useClass: AXMFolderServiceImpl,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMMenuProvider,\n multi: true,\n },\n {\n provide: AXP_ENTITY_DEFINITION_LOADER,\n useClass: AXMEntityProvider,\n multi: true,\n },\n {\n provide: AXP_SETTING_DEFINITION_PROVIDER,\n useClass: AXMSettingProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_PROVIDER,\n useClass: AXMPermissionProvider,\n multi: true,\n },\n {\n provide: ROUTES,\n multi: true,\n useFactory: routesFacory,\n },\n ],\n})\nexport class AXMDocumentManagementModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i5","i7","get","i1","i2"],"mappings":"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"}