@acorex/modules 19.2.6 → 19.2.7

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 (186) hide show
  1. package/application-management/lib/layouts/module-entity-detail-view/module-entity-detail-view.component.d.ts +2 -2
  2. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D75igkfc.mjs → acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs} +12 -12
  3. package/fesm2022/acorex-modules-auth-acorex-modules-auth-HwJJs-3A.mjs.map +1 -0
  4. package/fesm2022/{acorex-modules-auth-app-chooser.component-BZb8n5Ag.mjs → acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs} +2 -2
  5. package/fesm2022/{acorex-modules-auth-app-chooser.component-BZb8n5Ag.mjs.map → acorex-modules-auth-app-chooser.component-BvxMkXPp.mjs.map} +1 -1
  6. package/fesm2022/{acorex-modules-auth-login.module-DAtJYcHZ.mjs → acorex-modules-auth-login.module-CDvLUxls.mjs} +4 -4
  7. package/fesm2022/{acorex-modules-auth-login.module-DAtJYcHZ.mjs.map → acorex-modules-auth-login.module-CDvLUxls.mjs.map} +1 -1
  8. package/fesm2022/acorex-modules-auth-master.layout-CnKBnl8W.mjs +23 -0
  9. package/fesm2022/acorex-modules-auth-master.layout-CnKBnl8W.mjs.map +1 -0
  10. package/fesm2022/{acorex-modules-auth-password.component-20Ofs9FL.mjs → acorex-modules-auth-password.component-1FnIjiZ8.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-auth-password.component-20Ofs9FL.mjs.map → acorex-modules-auth-password.component-1FnIjiZ8.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-auth-password.component-CRvI9sIa.mjs → acorex-modules-auth-password.component-C16jeHuJ.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-auth-password.component-CRvI9sIa.mjs.map → acorex-modules-auth-password.component-C16jeHuJ.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-auth-routes-BDED-qaZ.mjs → acorex-modules-auth-routes-ZDDUhAWd.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-auth-routes-BDED-qaZ.mjs.map → acorex-modules-auth-routes-ZDDUhAWd.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-auth-setting.provider-GJeEbIRd.mjs → acorex-modules-auth-setting.provider-DDl3OHw6.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-auth-setting.provider-GJeEbIRd.mjs.map → acorex-modules-auth-setting.provider-DDl3OHw6.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-auth-two-factor.module-B0C2aBWh.mjs → acorex-modules-auth-two-factor.module-C32MVGby.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-auth-two-factor.module-B0C2aBWh.mjs.map → acorex-modules-auth-two-factor.module-C32MVGby.mjs.map} +1 -1
  20. package/fesm2022/acorex-modules-auth.mjs +1 -1
  21. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs +908 -0
  22. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-DGGKoVbL.mjs.map +1 -0
  23. package/fesm2022/{acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs → acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-form-template-management-category.entity-BcfMw_wb.mjs.map → acorex-modules-form-template-management-category.entity-B1X2QyYV.mjs.map} +1 -1
  25. package/fesm2022/acorex-modules-form-template-management-designer.page-BLbPLLdP.mjs.map +1 -1
  26. package/fesm2022/{acorex-modules-form-template-management-setting.provider-ceq0ZtxA.mjs → acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-form-template-management-setting.provider-ceq0ZtxA.mjs.map → acorex-modules-form-template-management-setting.provider-D-HyCbH7.mjs.map} +1 -1
  28. package/fesm2022/acorex-modules-form-template-management-template-picker.component-xiRKc4FF.mjs.map +1 -1
  29. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CVyFN7D9.mjs → acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs} +2 -2
  30. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CyZLM6M9.mjs.map +1 -0
  31. package/fesm2022/{acorex-modules-form-template-management-template.entity-BpApQcvG.mjs → acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-form-template-management-template.entity-BpApQcvG.mjs.map → acorex-modules-form-template-management-template.entity-DXIhxJeU.mjs.map} +1 -1
  33. package/fesm2022/acorex-modules-form-template-management.mjs +1 -907
  34. package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
  35. package/fesm2022/acorex-modules-notification-management.mjs +49 -66
  36. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  37. package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs +83 -0
  38. package/fesm2022/acorex-modules-organization-management-add-item.component-D0tN7Se4.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs → acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs} +2 -2
  40. package/fesm2022/acorex-modules-organization-management-branch.entity-CbmnpHl2.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs → acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs} +2 -2
  42. package/fesm2022/acorex-modules-organization-management-chart.entity-Bk4WgsYr.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs → acorex-modules-organization-management-company.entity-d7GaCVei.mjs} +2 -2
  44. package/fesm2022/acorex-modules-organization-management-company.entity-d7GaCVei.mjs.map +1 -0
  45. package/fesm2022/{acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs → acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs} +2 -2
  46. package/fesm2022/acorex-modules-organization-management-department.entity-Dl7y4Rva.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-organization-managment-division.entity-DHVnrP38.mjs → acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs} +2 -2
  48. package/fesm2022/acorex-modules-organization-management-division.entity-Ckmu2Tj9.mjs.map +1 -0
  49. package/fesm2022/{acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs → acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs} +2 -2
  50. package/fesm2022/acorex-modules-organization-management-employee.entity-PwlBjkYo.mjs.map +1 -0
  51. package/fesm2022/{acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs → acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs} +2 -2
  52. package/fesm2022/acorex-modules-organization-management-employment-type.entity-9aOaYT_-.mjs.map +1 -0
  53. package/fesm2022/{acorex-modules-organization-managment-org-chart-configuration.page-DEFgztyn.mjs → acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs} +6 -6
  54. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-BzjTyYyS.mjs.map +1 -0
  55. package/fesm2022/{acorex-modules-organization-managment-org-chart-configuration.service-D-LkPUIw.mjs → acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs} +2 -2
  56. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-DObuNZKQ.mjs.map +1 -0
  57. package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs +868 -0
  58. package/fesm2022/acorex-modules-organization-management-org-chart.page-Cz4ENQRa.mjs.map +1 -0
  59. package/fesm2022/{acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs → acorex-modules-organization-management-position.entity-DDkiBefn.mjs} +2 -2
  60. package/fesm2022/acorex-modules-organization-management-position.entity-DDkiBefn.mjs.map +1 -0
  61. package/fesm2022/{acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs → acorex-modules-organization-management-setting.keys-CF6Giykz.mjs} +1 -1
  62. package/fesm2022/acorex-modules-organization-management-setting.keys-CF6Giykz.mjs.map +1 -0
  63. package/fesm2022/{acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs → acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs} +3 -3
  64. package/fesm2022/acorex-modules-organization-management-setting.provider-eLv_qnmE.mjs.map +1 -0
  65. package/fesm2022/{acorex-modules-organization-managment.mjs → acorex-modules-organization-management.mjs} +66 -22
  66. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -0
  67. package/fesm2022/acorex-modules-platform-management.mjs +1443 -155
  68. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  69. package/form-template-management/index.d.ts +0 -1
  70. package/form-template-management/lib/features/designer/index.d.ts +5 -0
  71. package/form-template-management/lib/{services → features/designer}/template.provider.d.ts +1 -1
  72. package/form-template-management/lib/features/index.d.ts +1 -0
  73. package/notification-management/lib/entities/channel/channel.types.d.ts +3 -1
  74. package/organization-management/README.md +3 -0
  75. package/organization-management/index.d.ts +4 -0
  76. package/{organization-managment → organization-management}/lib/entities/chart/chart.types.d.ts +10 -5
  77. package/organization-management/lib/features/index.d.ts +1 -0
  78. package/organization-management/lib/features/organization-chart/add-item/add-item.component.d.ts +21 -0
  79. package/organization-management/lib/features/organization-chart/index.d.ts +1 -0
  80. package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart-configuration.page.d.ts +2 -2
  81. package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart-configuration.service.d.ts +6 -5
  82. package/organization-management/lib/features/organization-chart/org-chart-print.service.d.ts +45 -0
  83. package/{organization-managment → organization-management}/lib/features/organization-chart/org-chart.page.d.ts +78 -7
  84. package/organization-management/lib/features/organization-chart/org-chart.service.d.ts +63 -0
  85. package/organization-management/lib/features/organization-chart/org-chart.type.d.ts +46 -0
  86. package/{organization-managment/lib/organization-managment.module.d.ts → organization-management/lib/organization-management.module.d.ts} +4 -4
  87. package/package.json +8 -8
  88. package/platform-management/lib/const.d.ts +12 -0
  89. package/platform-management/lib/entities/app-term/components/notify-app/notify-app.component.d.ts +1 -2
  90. package/platform-management/lib/entities/data-source/coulmn-def.widget.d.ts +56 -0
  91. package/platform-management/lib/entities/data-source/data-source.entity.d.ts +3 -0
  92. package/platform-management/lib/entities/data-source/data-source.service.d.ts +10 -0
  93. package/platform-management/lib/entities/data-source/data-source.types.d.ts +7 -0
  94. package/platform-management/lib/entities/data-source/datasource-provider.dynamic.d.ts +6 -0
  95. package/platform-management/lib/entities/data-source/index.d.ts +3 -0
  96. package/platform-management/lib/entities/index.d.ts +2 -0
  97. package/platform-management/lib/entities/promotion/components/index.d.ts +1 -0
  98. package/{notification-management/lib → platform-management/lib/entities/promotion}/components/promotion-slot/promotion-slot.component.d.ts +5 -3
  99. package/platform-management/lib/entities/promotion/index.d.ts +4 -0
  100. package/platform-management/lib/entities/promotion/promotion.entity.d.ts +3 -0
  101. package/platform-management/lib/entities/promotion/promotion.service.d.ts +10 -0
  102. package/platform-management/lib/entities/promotion/promotion.types.d.ts +15 -0
  103. package/platform-management/lib/platform-management.module.d.ts +2 -1
  104. package/fesm2022/acorex-modules-auth-acorex-modules-auth-D75igkfc.mjs.map +0 -1
  105. package/fesm2022/acorex-modules-auth-master.layout-qeAQTygT.mjs +0 -23
  106. package/fesm2022/acorex-modules-auth-master.layout-qeAQTygT.mjs.map +0 -1
  107. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CVyFN7D9.mjs.map +0 -1
  108. package/fesm2022/acorex-modules-organization-managment-branch.entity-kuZxLStS.mjs.map +0 -1
  109. package/fesm2022/acorex-modules-organization-managment-chart.entity-BqUE8fbV.mjs.map +0 -1
  110. package/fesm2022/acorex-modules-organization-managment-company.entity-DJt8tCqO.mjs.map +0 -1
  111. package/fesm2022/acorex-modules-organization-managment-department.entity-C1PxLx6p.mjs.map +0 -1
  112. package/fesm2022/acorex-modules-organization-managment-division.entity-DHVnrP38.mjs.map +0 -1
  113. package/fesm2022/acorex-modules-organization-managment-employee.entity-D4BSxGAW.mjs.map +0 -1
  114. package/fesm2022/acorex-modules-organization-managment-employment-type.entity-Cgbezwio.mjs.map +0 -1
  115. package/fesm2022/acorex-modules-organization-managment-org-chart-configuration.page-DEFgztyn.mjs.map +0 -1
  116. package/fesm2022/acorex-modules-organization-managment-org-chart-configuration.service-D-LkPUIw.mjs.map +0 -1
  117. package/fesm2022/acorex-modules-organization-managment-org-chart.page-B3aaLlm2.mjs +0 -597
  118. package/fesm2022/acorex-modules-organization-managment-org-chart.page-B3aaLlm2.mjs.map +0 -1
  119. package/fesm2022/acorex-modules-organization-managment-position.entity-Bbb5KAkm.mjs.map +0 -1
  120. package/fesm2022/acorex-modules-organization-managment-setting.keys-CF6Giykz.mjs.map +0 -1
  121. package/fesm2022/acorex-modules-organization-managment-setting.provider-nKs53GcA.mjs.map +0 -1
  122. package/fesm2022/acorex-modules-organization-managment.mjs.map +0 -1
  123. package/organization-managment/README.md +0 -3
  124. package/organization-managment/index.d.ts +0 -3
  125. package/organization-managment/lib/features/organization-chart/org-chart-print.service.d.ts +0 -22
  126. package/organization-managment/lib/features/organization-chart/org-chart.service.d.ts +0 -19
  127. package/organization-managment/lib/features/organization-chart/org-chart.type.d.ts +0 -25
  128. /package/form-template-management/lib/{services → features/designer}/designer-connector.service.d.ts +0 -0
  129. /package/form-template-management/lib/{pages → features}/designer/designer.page.d.ts +0 -0
  130. /package/form-template-management/lib/{components → features/designer}/widgets/template/index.d.ts +0 -0
  131. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-designer.component.d.ts +0 -0
  132. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-edit.component.d.ts +0 -0
  133. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget-view.component.d.ts +0 -0
  134. /package/form-template-management/lib/{components → features/designer}/widgets/template/template-widget.config.d.ts +0 -0
  135. /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/index.d.ts +0 -0
  136. /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/template-designer-widget-view.component.d.ts +0 -0
  137. /package/form-template-management/lib/{components → features/designer}/widgets/template-designer/template-designer-widget.config.d.ts +0 -0
  138. /package/form-template-management/lib/{components → features/designer}/widgets/template-picker/template-picker.component.d.ts +0 -0
  139. /package/form-template-management/lib/{components → features/designer}/widgets/template-picker/template.provider.d.ts +0 -0
  140. /package/form-template-management/lib/{workflows → features/designer/workflows}/create-template.workflow.d.ts +0 -0
  141. /package/form-template-management/lib/{workflows → features/designer/workflows}/design-template.workflow.d.ts +0 -0
  142. /package/{organization-managment → organization-management}/lib/const.d.ts +0 -0
  143. /package/{organization-managment → organization-management}/lib/entities/branch/branch.entity.d.ts +0 -0
  144. /package/{organization-managment → organization-management}/lib/entities/branch/branch.module.d.ts +0 -0
  145. /package/{organization-managment → organization-management}/lib/entities/branch/branch.service.d.ts +0 -0
  146. /package/{organization-managment → organization-management}/lib/entities/branch/branch.types.d.ts +0 -0
  147. /package/{organization-managment → organization-management}/lib/entities/branch/index.d.ts +0 -0
  148. /package/{organization-managment → organization-management}/lib/entities/chart/chart.entity.d.ts +0 -0
  149. /package/{organization-managment → organization-management}/lib/entities/chart/chart.module.d.ts +0 -0
  150. /package/{organization-managment → organization-management}/lib/entities/chart/chart.service.d.ts +0 -0
  151. /package/{organization-managment → organization-management}/lib/entities/chart/index.d.ts +0 -0
  152. /package/{organization-managment → organization-management}/lib/entities/company/company.entity.d.ts +0 -0
  153. /package/{organization-managment → organization-management}/lib/entities/company/company.module.d.ts +0 -0
  154. /package/{organization-managment → organization-management}/lib/entities/company/company.service.d.ts +0 -0
  155. /package/{organization-managment → organization-management}/lib/entities/company/company.types.d.ts +0 -0
  156. /package/{organization-managment → organization-management}/lib/entities/company/index.d.ts +0 -0
  157. /package/{organization-managment → organization-management}/lib/entities/department/department.entity.d.ts +0 -0
  158. /package/{organization-managment → organization-management}/lib/entities/department/department.module.d.ts +0 -0
  159. /package/{organization-managment → organization-management}/lib/entities/department/department.service.d.ts +0 -0
  160. /package/{organization-managment → organization-management}/lib/entities/department/department.types.d.ts +0 -0
  161. /package/{organization-managment → organization-management}/lib/entities/department/index.d.ts +0 -0
  162. /package/{organization-managment → organization-management}/lib/entities/division/division.entity.d.ts +0 -0
  163. /package/{organization-managment → organization-management}/lib/entities/division/division.module.d.ts +0 -0
  164. /package/{organization-managment → organization-management}/lib/entities/division/division.service.d.ts +0 -0
  165. /package/{organization-managment → organization-management}/lib/entities/division/division.types.d.ts +0 -0
  166. /package/{organization-managment → organization-management}/lib/entities/division/index.d.ts +0 -0
  167. /package/{organization-managment → organization-management}/lib/entities/employee/employee.entity.d.ts +0 -0
  168. /package/{organization-managment → organization-management}/lib/entities/employee/employee.module.d.ts +0 -0
  169. /package/{organization-managment → organization-management}/lib/entities/employee/employee.service.d.ts +0 -0
  170. /package/{organization-managment → organization-management}/lib/entities/employee/employee.types.d.ts +0 -0
  171. /package/{organization-managment → organization-management}/lib/entities/employee/index.d.ts +0 -0
  172. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.entity.d.ts +0 -0
  173. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.module.d.ts +0 -0
  174. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.service.d.ts +0 -0
  175. /package/{organization-managment → organization-management}/lib/entities/employment-type/employment-type.types.d.ts +0 -0
  176. /package/{organization-managment → organization-management}/lib/entities/employment-type/index.d.ts +0 -0
  177. /package/{organization-managment → organization-management}/lib/entities/index.d.ts +0 -0
  178. /package/{organization-managment → organization-management}/lib/entities/position/index.d.ts +0 -0
  179. /package/{organization-managment → organization-management}/lib/entities/position/position.entity.d.ts +0 -0
  180. /package/{organization-managment → organization-management}/lib/entities/position/position.module.d.ts +0 -0
  181. /package/{organization-managment → organization-management}/lib/entities/position/position.service.d.ts +0 -0
  182. /package/{organization-managment → organization-management}/lib/entities/position/position.types.d.ts +0 -0
  183. /package/{organization-managment → organization-management}/lib/entity.provider.d.ts +0 -0
  184. /package/{organization-managment → organization-management}/lib/menu.provider.d.ts +0 -0
  185. /package/{organization-managment → organization-management}/lib/setting.keys.d.ts +0 -0
  186. /package/{organization-managment → organization-management}/lib/setting.provider.d.ts +0 -0
@@ -1,12 +1,12 @@
1
1
  import * as i1$1 from '@acorex/platform/common';
2
- import { AXPSettingScope, AXPSettingService, AXP_SETTING_DEFINITION_PROVIDER, AXPComponentSlotModule, AXMEntityCrudServiceImpl, AXPEntityQueryType, AXPEntityCommandScope, AXP_APP_VERSION_PROVIDER, AXPAppStartUpService, AXP_MENU_PROVIDER } from '@acorex/platform/common';
3
- import { AXP_ENTITY_DEFINITION_LOADER, AXPEntityService, AXP_ENTITY_CONFIG_TOKEN } from '@acorex/platform/layout/entity';
2
+ import { AXPSettingScope, AXPSettingService, AXP_SETTING_DEFINITION_PROVIDER, AXPComponentSlotModule, AXMEntityCrudServiceImpl, AXPEntityQueryType, AXPEntityCommandScope, AXP_APP_VERSION_PROVIDER, AXPAppStartUpService, AXPFileStorageService, AXP_MENU_PROVIDER } from '@acorex/platform/common';
3
+ import { AXP_ENTITY_DEFINITION_LOADER, AXPEntityDefinitionRegistryService, AXPEntityService, AXP_ENTITY_CONFIG_TOKEN } from '@acorex/platform/layout/entity';
4
4
  import * as i2$4 from '@acorex/platform/workflow';
5
5
  import { AXPWorkflowAction, AXPWorkflowService, AXPWorkflowModule } from '@acorex/platform/workflow';
6
6
  import * as i0 from '@angular/core';
7
7
  import { inject, Injector, Injectable, signal, Component, NgModule, HostListener, ChangeDetectionStrategy, Input } from '@angular/core';
8
8
  import { ROUTES } from '@angular/router';
9
- import { objectKeyValueTransforms, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
9
+ import { objectKeyValueTransforms, AXPWidgetsCatalog, AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';
10
10
  import * as i6 from '@acorex/core/translation';
11
11
  import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
12
12
  import { signalStore, withState, withMethods, patchState, withHooks } from '@ngrx/signals';
@@ -34,9 +34,12 @@ import * as i3$1 from '@acorex/components/check-box';
34
34
  import { AXCheckBoxModule } from '@acorex/components/check-box';
35
35
  import * as i2$2 from '@acorex/components/label';
36
36
  import { AXLabelModule } from '@acorex/components/label';
37
+ import { AXSafePipe } from '@acorex/core/pipes';
37
38
  import * as i2$3 from '@acorex/components/time-line';
38
39
  import { AXTimeLineModule } from '@acorex/components/time-line';
39
40
  import { AXDateTimeModule } from '@acorex/core/date-time';
41
+ import { upperFirst, camelCase } from 'lodash-es';
42
+ import { AXDataSource, convertArrayToDataSource } from '@acorex/components/common';
40
43
  import { AXPSessionService } from '@acorex/platform/auth';
41
44
 
42
45
  class AXMCommonModuleEntityProvider {
@@ -122,7 +125,7 @@ class AXMRegionalSettingProvider {
122
125
  }
123
126
  async provide(context) {
124
127
  context
125
- .addGroup('regional-settings', 'Regional Settings', 'Configure regional and language preferences.', 'fa-solid fa-earth-americas')
128
+ .addGroup('regional-settings', 'Regional Settings', 'Configure regional and language preferences.', 'fa-light fa-earth-americas')
126
129
  // Date & Time Section
127
130
  .addSection('date-time', 'Date & Time', 'Configure date and time settings.')
128
131
  .addSetting({
@@ -449,7 +452,7 @@ const RootConfig = {
449
452
  name: 'app-version',
450
453
  title: `t("appVersion", {scope:"${config.i18n}"})`,
451
454
  titlePlural: `t("appVersionPlural", {scope:"${config.i18n}"})`,
452
- icon: 'fa-regular fa-code-branch',
455
+ icon: 'fa-light fa-code-branch',
453
456
  },
454
457
  appTerm: {
455
458
  name: 'app-term',
@@ -457,6 +460,18 @@ const RootConfig = {
457
460
  titlePlural: `t("appTermPlural", {scope:"${config.i18n}"})`,
458
461
  icon: 'fa-light fa-scale-balanced',
459
462
  },
463
+ promotion: {
464
+ name: 'promotion',
465
+ title: `t("promotion", {scope:"${config.i18n}"})`,
466
+ titlePlural: `t("promotionPlural", {scope:"${config.i18n}"})`,
467
+ icon: 'fa-light fa-billboard',
468
+ },
469
+ dataSource: {
470
+ name: 'data-source',
471
+ title: `t("dataSource", {scope:"${config.i18n}"})`,
472
+ titlePlural: `t("dataSourcePlural", {scope:"${config.i18n}"})`,
473
+ icon: 'fa-light fa-database',
474
+ },
460
475
  },
461
476
  };
462
477
 
@@ -613,7 +628,6 @@ async function appTermEntityEntityFactory(injector) {
613
628
  list: {
614
629
  execute: async (e) => {
615
630
  const x = await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
616
- console.log(x);
617
631
  return x;
618
632
  },
619
633
  type: AXPEntityQueryType.List,
@@ -902,7 +916,7 @@ class AXMListTermsComponent extends AXBasePageComponent {
902
916
  setTimeout(() => this.checkScroll(), 50);
903
917
  }
904
918
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMListTermsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
905
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMListTermsComponent, isStandalone: true, selector: "acorex-platform-list-terms", host: { listeners: { "window:resize": "onResize($event)" } }, usesInheritance: true, ngImport: i0, template: "<axp-layout-simple-page>\n <axp-layout-header>\n <axp-layout-title> {{ pageTitle | translate : { scope: i18n } | async }} </axp-layout-title>\n\n <axp-layout-description>Please review the terms and conditions carefully. </axp-layout-description>\n </axp-layout-header>\n @if(loaded()){\n <axp-layout-content id=\"contentDiv\" axOutlineContainer target=\"h2\">\n <div class=\"ax-flex\">\n <div class=\"ax-flex ax-flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"ax-flex ax-flex-col\">\n <h2 class=\"ax-px-4 ax-font-semibold ax-text-xl\">{{ term.title }}</h2>\n <p class=\"ax-px-4 ax-text-sm ax-leading-5 ax-text-neutral-700\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"ax-pt-3 ax-px-6 ax-text-base/6\" [innerHTML]=\"term.content\"></div>\n </div>\n }\n </div>\n @if(showScrollSide){\n <div class=\"ax-hidden lg:ax-block ax-min-w-60 ax-sticky ax-top-0\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"ax-w-full\"></ax-side-menu>\n </div>\n }\n </div>\n </axp-layout-content>\n }\n</axp-layout-simple-page>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i2$1.AXFormatPipe, name: "format" }, { kind: "component", type: AXPSimplePageLayout, selector: "axp-layout-simple-page" }, { kind: "component", type: AXPThemeLayoutHeaderTemplateComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-layout-content, axp-layout-header-container, axp-layout-footer-container, axp-layout-side-container, axp-layout-sections, axp-layout-section-container, axp-layout-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title, axp-layout-nav-button, axp-layout-description, axp-layout-toolbar, axp-layout-title-bar, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "component", type: i4.AXSideMenuComponent, selector: "ax-side-menu", inputs: ["items", "look", "location"], outputs: ["itemsChange"] }, { kind: "directive", type: i4.AXOutlineSideMenuDirective, selector: "[axOutlineSideMenu]", exportAs: ["axOutlineSideMenu"] }, { kind: "ngmodule", type: AXOutlineModule }, { kind: "directive", type: i5.AXOutlineContainerDirective, selector: "[axOutlineContainer]", inputs: ["target", "smoothScroll", "activationOffset", "activateLastAtBottom"], exportAs: ["axOutlineContainer"] }] }); }
919
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMListTermsComponent, isStandalone: true, selector: "acorex-platform-list-terms", host: { listeners: { "window:resize": "onResize($event)" } }, usesInheritance: true, ngImport: i0, template: "<axp-layout-simple-page>\n <axp-layout-header>\n <axp-layout-title> {{ pageTitle | translate : { scope: i18n } | async }} </axp-layout-title>\n\n <axp-layout-description>Please review the terms and conditions carefully. </axp-layout-description>\n </axp-layout-header>\n @if(loaded()){\n <axp-layout-content id=\"contentDiv\" axOutlineContainer target=\"h2\">\n <div class=\"ax-flex\">\n <div class=\"ax-flex ax-flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"ax-flex ax-flex-col\">\n <h2 class=\"ax-px-4 ax-font-semibold ax-text-xl\">{{ term.title }}</h2>\n <p class=\"ax-px-4 ax-text-sm ax-leading-5 ax-text-neutral-700\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"ax-pt-3 ax-pb-6 ax-px-4 ax-text-base/6\" [innerHTML]=\"term.content\"></div>\n </div>\n }\n </div>\n @if(showScrollSide){\n <div class=\"ax-hidden lg:ax-block ax-min-w-60 ax-sticky ax-top-0\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"ax-w-full\"></ax-side-menu>\n </div>\n }\n </div>\n </axp-layout-content>\n }\n</axp-layout-simple-page>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXFormatModule }, { kind: "pipe", type: i2$1.AXFormatPipe, name: "format" }, { kind: "component", type: AXPSimplePageLayout, selector: "axp-layout-simple-page" }, { kind: "component", type: AXPThemeLayoutHeaderTemplateComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-layout-content, axp-layout-header-container, axp-layout-side-container, axp-layout-sections, axp-layout-section-container, axp-layout-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title, axp-layout-nav-button, axp-layout-description, axp-layout-toolbar, axp-layout-title-bar, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "ngmodule", type: AXSideMenuModule }, { kind: "component", type: i4.AXSideMenuComponent, selector: "ax-side-menu", inputs: ["items", "look", "location"], outputs: ["itemsChange"] }, { kind: "directive", type: i4.AXOutlineSideMenuDirective, selector: "[axOutlineSideMenu]", exportAs: ["axOutlineSideMenu"] }, { kind: "ngmodule", type: AXOutlineModule }, { kind: "directive", type: i5.AXOutlineContainerDirective, selector: "[axOutlineContainer]", inputs: ["target", "smoothScroll", "activationOffset", "activateLastAtBottom"], exportAs: ["axOutlineContainer"] }] }); }
906
920
  }
907
921
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMListTermsComponent, decorators: [{
908
922
  type: Component,
@@ -916,7 +930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
916
930
  AXTranslationModule,
917
931
  AXSideMenuModule,
918
932
  AXOutlineModule,
919
- ], template: "<axp-layout-simple-page>\n <axp-layout-header>\n <axp-layout-title> {{ pageTitle | translate : { scope: i18n } | async }} </axp-layout-title>\n\n <axp-layout-description>Please review the terms and conditions carefully. </axp-layout-description>\n </axp-layout-header>\n @if(loaded()){\n <axp-layout-content id=\"contentDiv\" axOutlineContainer target=\"h2\">\n <div class=\"ax-flex\">\n <div class=\"ax-flex ax-flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"ax-flex ax-flex-col\">\n <h2 class=\"ax-px-4 ax-font-semibold ax-text-xl\">{{ term.title }}</h2>\n <p class=\"ax-px-4 ax-text-sm ax-leading-5 ax-text-neutral-700\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"ax-pt-3 ax-px-6 ax-text-base/6\" [innerHTML]=\"term.content\"></div>\n </div>\n }\n </div>\n @if(showScrollSide){\n <div class=\"ax-hidden lg:ax-block ax-min-w-60 ax-sticky ax-top-0\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"ax-w-full\"></ax-side-menu>\n </div>\n }\n </div>\n </axp-layout-content>\n }\n</axp-layout-simple-page>\n" }]
933
+ ], template: "<axp-layout-simple-page>\n <axp-layout-header>\n <axp-layout-title> {{ pageTitle | translate : { scope: i18n } | async }} </axp-layout-title>\n\n <axp-layout-description>Please review the terms and conditions carefully. </axp-layout-description>\n </axp-layout-header>\n @if(loaded()){\n <axp-layout-content id=\"contentDiv\" axOutlineContainer target=\"h2\">\n <div class=\"ax-flex\">\n <div class=\"ax-flex ax-flex-col\">\n @for (term of terms; track term.id) {\n <div class=\"ax-flex ax-flex-col\">\n <h2 class=\"ax-px-4 ax-font-semibold ax-text-xl\">{{ term.title }}</h2>\n <p class=\"ax-px-4 ax-text-sm ax-leading-5 ax-text-neutral-700\">\n {{ term.effectiveDate | format : 'datetime' | async }}\n </p>\n <div class=\"ax-pt-3 ax-pb-6 ax-px-4 ax-text-base/6\" [innerHTML]=\"term.content\"></div>\n </div>\n }\n </div>\n @if(showScrollSide){\n <div class=\"ax-hidden lg:ax-block ax-min-w-60 ax-sticky ax-top-0\">\n <ax-side-menu axOutlineSideMenu look=\"with-line\" class=\"ax-w-full\"></ax-side-menu>\n </div>\n }\n </div>\n </axp-layout-content>\n }\n</axp-layout-simple-page>\n" }]
920
934
  }], propDecorators: { onResize: [{
921
935
  type: HostListener,
922
936
  args: ['window:resize', ['$event']]
@@ -929,19 +943,23 @@ class AXMNotifyAppTermComponent extends AXBasePageComponent {
929
943
  this.htmlUtil = inject(AXPHtmlUtils);
930
944
  this.i18n = RootConfig.config.i18n;
931
945
  }
932
- ngOnInit() {
933
- super.ngOnInit();
934
- this.safeData = this.htmlUtil.getSafeHTMLfromHTML(this.data.content);
935
- }
936
946
  send() {
937
947
  this.close({ data: this.data });
938
948
  }
939
949
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotifyAppTermComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
940
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXMNotifyAppTermComponent, isStandalone: true, selector: "axm-notify-app", usesInheritance: true, ngImport: i0, template: "<ax-content class=\"ax-block ax-px-4 ax-py-4\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate : { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\" [disabled]=\"!isConfirm\" color=\"primary\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2$2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }] }); }
950
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMNotifyAppTermComponent, isStandalone: true, selector: "axm-notify-app", usesInheritance: true, ngImport: i0, template: "@for (item of data; track $index) {\n<ax-content class=\"ax-block ax-px-4 ax-py-4 ax-font-bold\">{{ item.title }}</ax-content>\n<ax-content class=\"ax-block ax-px-4 ax-pb-4 ax-text-base/6\" [innerHTML]=\"item.content | safe : 'html'\"></ax-content>\n}\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate : { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\" [disabled]=\"!isConfirm\" color=\"primary\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2$2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AXSafePipe, name: "safe" }] }); }
941
951
  }
942
952
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotifyAppTermComponent, decorators: [{
943
953
  type: Component,
944
- args: [{ selector: 'axm-notify-app', imports: [CommonModule, AXLabelModule, AXCheckBoxModule, AXDecoratorModule, AXButtonModule, AXTranslationModule], template: "<ax-content class=\"ax-block ax-px-4 ax-py-4\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate : { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\" [disabled]=\"!isConfirm\" color=\"primary\"></ax-button>\n</ax-footer>\n" }]
954
+ args: [{ selector: 'axm-notify-app', imports: [
955
+ CommonModule,
956
+ AXLabelModule,
957
+ AXCheckBoxModule,
958
+ AXDecoratorModule,
959
+ AXButtonModule,
960
+ AXTranslationModule,
961
+ AXSafePipe,
962
+ ], template: "@for (item of data; track $index) {\n<ax-content class=\"ax-block ax-px-4 ax-py-4 ax-font-bold\">{{ item.title }}</ax-content>\n<ax-content class=\"ax-block ax-px-4 ax-pb-4 ax-text-base/6\" [innerHTML]=\"item.content | safe : 'html'\"></ax-content>\n}\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isConfirm\">\n <ax-label>{{ 'agreeTerm' | translate : { scope: i18n } | async }}</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\" [disabled]=\"!isConfirm\" color=\"primary\"></ax-button>\n</ax-footer>\n" }]
945
963
  }] });
946
964
 
947
965
  class AXMNotifyNewTermPopupAction extends AXPWorkflowAction {
@@ -952,7 +970,7 @@ class AXMNotifyNewTermPopupAction extends AXPWorkflowAction {
952
970
  async execute(context) {
953
971
  const data = context.getVariable();
954
972
  await this.popupService.open(AXMNotifyAppTermComponent, {
955
- title: `${data.title}`,
973
+ title: 'New Terms And Conditions',
956
974
  data: { data },
957
975
  closeButton: false,
958
976
  });
@@ -969,8 +987,10 @@ class AXMTermUpdateSettingAction extends AXPWorkflowAction {
969
987
  this.settingService = inject(AXPSettingService);
970
988
  }
971
989
  async execute(context) {
972
- const data = context.getVariable();
973
- await this.settingService.scope(AXPSettingScope.User).set(`is-confirm-term-${data.id}`, true);
990
+ const dataList = context.getVariable();
991
+ for (const data of dataList) {
992
+ await this.settingService.scope(AXPSettingScope.User).set(`is-confirm-term-${data.id}`, true);
993
+ }
974
994
  }
975
995
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMTermUpdateSettingAction, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
976
996
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMTermUpdateSettingAction }); }
@@ -1134,7 +1154,6 @@ async function appVersionEntityEntityFactory(injector) {
1134
1154
  list: {
1135
1155
  execute: async (e) => {
1136
1156
  const x = await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
1137
- console.log(x);
1138
1157
  return x;
1139
1158
  },
1140
1159
  type: AXPEntityQueryType.List,
@@ -1361,11 +1380,11 @@ class AXMNotifyAppComponent extends AXBasePageComponent {
1361
1380
  this.close({ data: this.data, isShowAgain: !this.isShowAgain });
1362
1381
  }
1363
1382
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotifyAppComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1364
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXMNotifyAppComponent, isStandalone: true, selector: "axm-notify-app", usesInheritance: true, ngImport: i0, template: "<ax-content class=\"ax-block ax-px-4 ax-py-4\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isShowAgain\">\n <ax-label>Don't Show Again</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2$2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }] }); }
1383
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXMNotifyAppComponent, isStandalone: true, selector: "axm-notify-app", usesInheritance: true, ngImport: i0, template: "<ax-content class=\"ax-block ax-px-4 ax-py-4 ax-text-base/6\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isShowAgain\">\n <ax-label>Don't Show Again</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\"></ax-button>\n</ax-footer>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXLabelModule }, { kind: "component", type: i2$2.AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i3$1.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }] }); }
1365
1384
  }
1366
1385
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMNotifyAppComponent, decorators: [{
1367
1386
  type: Component,
1368
- args: [{ selector: 'axm-notify-app', imports: [CommonModule, AXLabelModule, AXCheckBoxModule, AXDecoratorModule, AXButtonModule, AXTranslationModule], template: "<ax-content class=\"ax-block ax-px-4 ax-py-4\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isShowAgain\">\n <ax-label>Don't Show Again</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\"></ax-button>\n</ax-footer>\n" }]
1387
+ args: [{ selector: 'axm-notify-app', imports: [CommonModule, AXLabelModule, AXCheckBoxModule, AXDecoratorModule, AXButtonModule, AXTranslationModule], template: "<ax-content class=\"ax-block ax-px-4 ax-py-4 ax-text-base/6\" [innerHTML]=\"safeData\"></ax-content>\n<ax-footer class=\"ax-flex ax-items-center ax-justify-between ax-p-2\">\n <ax-check-box [(value)]=\"isShowAgain\">\n <ax-label>Don't Show Again</ax-label>\n </ax-check-box>\n <ax-button (click)=\"send()\" [text]=\"'okay' | translate | async\"></ax-button>\n</ax-footer>\n" }]
1369
1388
  }] });
1370
1389
 
1371
1390
  class AXMListVersionComponent extends AXBasePageComponent {
@@ -1392,7 +1411,7 @@ class AXMListVersionComponent extends AXBasePageComponent {
1392
1411
  this.versions.set(mappedItems);
1393
1412
  }
1394
1413
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMListVersionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1395
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMListVersionComponent, isStandalone: true, selector: "axm-list-version", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-px-12 ax-min-h-96\">\n <ax-time-line>\n @for(version of versions();track version.id){\n <ax-time-line-item [text]=\"version.title\" [isCollapsed]=\"$index == 0 ? false : true\">\n <ax-icon class=\"fa-solid fa-flag-checkered\"></ax-icon>\n <ax-content class=\"ax-px-8 ax-py-2\" [innerHtml]=\"version.content\"></ax-content>\n </ax-time-line-item>\n }\n </ax-time-line>\n <ax-footer class=\"ax-flex !ax-justify-end\"\n ><ax-button [text]=\"'okay' | translate | async\" color=\"primary\" (onClick)=\"this.close()\"></ax-button\n ></ax-footer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXTimeLineModule }, { kind: "component", type: i2$3.AXTimeLineComponent, selector: "ax-time-line", inputs: ["mode"] }, { kind: "component", type: i2$3.AXTimeLineItemComponent, selector: "ax-time-line-item", inputs: ["text", "isActive", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1414
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMListVersionComponent, isStandalone: true, selector: "axm-list-version", usesInheritance: true, ngImport: i0, template: "<div class=\"ax-px-12 ax-min-h-96\">\n <ax-time-line>\n @for(version of versions();track version.id){\n <ax-time-line-item [text]=\"version.title\" [isCollapsed]=\"$index == 0 ? false : true\">\n <ax-icon class=\"fa-solid fa-flag-checkered\"></ax-icon>\n <ax-content class=\"ax-px-8 ax-py-2 ax-text-base/6\" [innerHtml]=\"version.content\"></ax-content>\n </ax-time-line-item>\n }\n </ax-time-line>\n <ax-footer class=\"ax-flex !ax-justify-end\"\n ><ax-button [text]=\"'okay' | translate | async\" color=\"primary\" (onClick)=\"this.close()\"></ax-button\n ></ax-footer>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXTimeLineModule }, { kind: "component", type: i2$3.AXTimeLineComponent, selector: "ax-time-line", inputs: ["mode"] }, { kind: "component", type: i2$3.AXTimeLineItemComponent, selector: "ax-time-line-item", inputs: ["text", "isActive", "isCollapsed"], outputs: ["isCollapsedChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i2.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXFormatModule }, { kind: "ngmodule", type: AXDateTimeModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1396
1415
  }
1397
1416
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMListVersionComponent, decorators: [{
1398
1417
  type: Component,
@@ -1404,7 +1423,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1404
1423
  AXDateTimeModule,
1405
1424
  AXButtonModule,
1406
1425
  AXTranslationModule,
1407
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-px-12 ax-min-h-96\">\n <ax-time-line>\n @for(version of versions();track version.id){\n <ax-time-line-item [text]=\"version.title\" [isCollapsed]=\"$index == 0 ? false : true\">\n <ax-icon class=\"fa-solid fa-flag-checkered\"></ax-icon>\n <ax-content class=\"ax-px-8 ax-py-2\" [innerHtml]=\"version.content\"></ax-content>\n </ax-time-line-item>\n }\n </ax-time-line>\n <ax-footer class=\"ax-flex !ax-justify-end\"\n ><ax-button [text]=\"'okay' | translate | async\" color=\"primary\" (onClick)=\"this.close()\"></ax-button\n ></ax-footer>\n</div>\n" }]
1426
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-px-12 ax-min-h-96\">\n <ax-time-line>\n @for(version of versions();track version.id){\n <ax-time-line-item [text]=\"version.title\" [isCollapsed]=\"$index == 0 ? false : true\">\n <ax-icon class=\"fa-solid fa-flag-checkered\"></ax-icon>\n <ax-content class=\"ax-px-8 ax-py-2 ax-text-base/6\" [innerHtml]=\"version.content\"></ax-content>\n </ax-time-line-item>\n }\n </ax-time-line>\n <ax-footer class=\"ax-flex !ax-justify-end\"\n ><ax-button [text]=\"'okay' | translate | async\" color=\"primary\" (onClick)=\"this.close()\"></ax-button\n ></ax-footer>\n</div>\n" }]
1408
1427
  }] });
1409
1428
 
1410
1429
  class AXMAppVersionSlotComponent {
@@ -1528,15 +1547,19 @@ class AppTermAndVersionCheck {
1528
1547
  name: 'Terms',
1529
1548
  statusText: 'Check New Terms And Conditions...',
1530
1549
  run: async () => {
1550
+ const filterTerms = [];
1531
1551
  const terms = await this.appTermService.query();
1532
- terms.items.forEach(async (t) => {
1533
- const isConfirm = await this.settingsService.scope(AXPSettingScope.User).get(`is-confirm-term-${t.id}`);
1552
+ for (const term of terms.items) {
1553
+ const isConfirm = await this.settingsService.scope(AXPSettingScope.User).get(`is-confirm-term-${term.id}`);
1534
1554
  if (!isConfirm) {
1535
- setTimeout(() => {
1536
- this.workflowService.execute('new-term', t);
1537
- }, 500);
1555
+ filterTerms.push(term);
1538
1556
  }
1539
- });
1557
+ }
1558
+ if (filterTerms.length > 0) {
1559
+ setTimeout(() => {
1560
+ this.workflowService.execute('new-term', filterTerms);
1561
+ }, 500);
1562
+ }
1540
1563
  },
1541
1564
  });
1542
1565
  }
@@ -1547,91 +1570,266 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
1547
1570
  type: Injectable
1548
1571
  }], ctorParameters: () => [] });
1549
1572
 
1550
- class AXMGlobalVariablesService extends AXMEntityCrudServiceImpl {
1573
+ const AXM_COLUMN_DEF_WIDGET = [
1574
+ {
1575
+ type: 'grid-row-layout',
1576
+ mode: 'view',
1577
+ children: [
1578
+ {
1579
+ type: 'grid-item-layout',
1580
+ mode: 'view',
1581
+ options: { colSpan: 4 },
1582
+ children: [
1583
+ {
1584
+ type: 'text-editor',
1585
+ mode: 'edit',
1586
+ path: 'name',
1587
+ options: {
1588
+ placeholder: 'Name',
1589
+ defaultValue: 'test',
1590
+ },
1591
+ },
1592
+ ],
1593
+ },
1594
+ {
1595
+ type: 'grid-item-layout',
1596
+ mode: 'view',
1597
+ options: { colSpan: 4 },
1598
+ children: [
1599
+ {
1600
+ type: 'text-editor',
1601
+ mode: 'edit',
1602
+ path: 'title',
1603
+ options: {
1604
+ placeholder: 'Title',
1605
+ },
1606
+ },
1607
+ ],
1608
+ },
1609
+ {
1610
+ type: 'grid-item-layout',
1611
+ options: { colSpan: 4 },
1612
+ mode: 'view',
1613
+ children: [
1614
+ {
1615
+ type: 'select-editor',
1616
+ mode: 'edit',
1617
+ path: 'type',
1618
+ options: {
1619
+ placeholder: 'Type',
1620
+ valueField: 'name',
1621
+ textField: 'title',
1622
+ dataSource: Object.entries(AXPWidgetsCatalog).map(([key, value]) => {
1623
+ return {
1624
+ title: upperFirst(camelCase(key)),
1625
+ name: value
1626
+ };
1627
+ }),
1628
+ direction: 'horizontal',
1629
+ multiple: false,
1630
+ },
1631
+ },
1632
+ ],
1633
+ },
1634
+ ],
1635
+ },
1636
+ ];
1637
+ // export const AXM_COLUMN_DEF_WIDGET = [
1638
+ // {
1639
+ // type: 'grid-row-layout',
1640
+ // // name: 'grid-row-layout1',
1641
+ // mode: 'view',
1642
+ // path: '',
1643
+ // children: [
1644
+ // {
1645
+ // type: 'grid-item-layout',
1646
+ // mode: 'view',
1647
+ // // path: '',
1648
+ // options: { colSpan: 4 },
1649
+ // // name: 'grid-item-layout1',
1650
+ // children: [
1651
+ // {
1652
+ // type: 'text-editor',
1653
+ // //name: 'text-editor1',
1654
+ // mode: 'edit',
1655
+ // path: 'name',
1656
+ // options: {
1657
+ // placeholder: 'Name',
1658
+ // defaultValue: 'test',
1659
+ // },
1660
+ // },
1661
+ // ],
1662
+ // },
1663
+ // {
1664
+ // type: 'grid-item-layout',
1665
+ // mode: 'view',
1666
+ // // path: '',
1667
+ // options: { colSpan: 4 },
1668
+ // //name: 'grid-item-layout2',
1669
+ // children: [
1670
+ // {
1671
+ // type: 'text-editor',
1672
+ // // name: 'text-editor2',
1673
+ // mode: 'edit',
1674
+ // path: 'title',
1675
+ // options: {
1676
+ // placeholder: 'Title',
1677
+ // },
1678
+ // },
1679
+ // ],
1680
+ // },
1681
+ // {
1682
+ // type: 'grid-item-layout',
1683
+ // options: { colSpan: 4 },
1684
+ // mode: 'view',
1685
+ // // path: '',
1686
+ // // name: 'grid-item-layout3',
1687
+ // children: [
1688
+ // {
1689
+ // type: 'select-editor',
1690
+ // //name: 'select-editor1',
1691
+ // mode: 'edit',
1692
+ // path: 'type',
1693
+ // options: {
1694
+ // placeholder: 'Type',
1695
+ // valueField: 'name',
1696
+ // textField: 'title',
1697
+ // dataSource: [
1698
+ // { title: 'text', name: AXPWidgetsCatalog.text },
1699
+ // { title: 'Check Box', name: AXPWidgetsCatalog.checkbox },
1700
+ // { title: 'Gallery', name: AXPWidgetsCatalog.gallery },
1701
+ // ],
1702
+ // direction: 'horizontal',
1703
+ // multiple: false,
1704
+ // },
1705
+ // },
1706
+ // ],
1707
+ // },
1708
+ // ],
1709
+ // },
1710
+ // ];
1711
+
1712
+ class AXMDataSourceService extends AXMEntityCrudServiceImpl {
1551
1713
  }
1552
- class AXMGlobalVariablesServiceImpl extends AXMEntityCrudServiceImpl {
1714
+ class AXMDataSourceServiceImpl extends AXMEntityCrudServiceImpl {
1553
1715
  constructor() {
1554
- super(`${RootConfig.module.name}.${RootConfig.entities.globalVariable.name}`);
1716
+ super(`${RootConfig.module.name}.${RootConfig.entities.dataSource.name}`);
1555
1717
  }
1556
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMGlobalVariablesServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1557
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMGlobalVariablesServiceImpl }); }
1718
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDataSourceServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1719
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDataSourceServiceImpl }); }
1558
1720
  }
1559
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMGlobalVariablesServiceImpl, decorators: [{
1721
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMDataSourceServiceImpl, decorators: [{
1560
1722
  type: Injectable
1561
1723
  }], ctorParameters: () => [] });
1562
1724
 
1563
- async function globalVariableEntityFactory(injector) {
1564
- const dataService = injector.get(AXMGlobalVariablesService);
1725
+ async function dataSourceEntityFactory(injector) {
1726
+ const dataService = injector.get(AXMDataSourceService);
1565
1727
  const i18n = RootConfig.config.i18n;
1728
+ const entitiesService = injector.get(AXPEntityDefinitionRegistryService);
1729
+ const translationService = injector.get(AXTranslationService);
1566
1730
  const entityDef = {
1567
1731
  module: RootConfig.module.name,
1568
- name: RootConfig.entities.globalVariable.name,
1732
+ name: RootConfig.entities.dataSource.name,
1569
1733
  source: '',
1570
- title: RootConfig.entities.globalVariable.title,
1734
+ title: RootConfig.entities.dataSource.title,
1571
1735
  formats: {
1572
- individual: 'Global Variable',
1573
- plural: 'Global Variables',
1736
+ individual: RootConfig.entities.dataSource.title,
1737
+ plural: RootConfig.entities.dataSource.titlePlural
1574
1738
  },
1575
1739
  relatedEntities: [],
1576
1740
  groups: [
1577
1741
  {
1578
- id: 'section',
1579
- title: 'Global Variable',
1580
- },
1742
+ id: 'dataSource',
1743
+ title: RootConfig.entities.dataSource.title
1744
+ }
1581
1745
  ],
1582
1746
  properties: [
1583
1747
  {
1584
1748
  name: 'name',
1585
1749
  title: `t("name", { scope: "common" })`,
1586
- groupId: 'section',
1750
+ groupId: 'dataSource',
1587
1751
  schema: {
1588
1752
  dataType: 'string',
1589
1753
  interface: {
1590
- type: AXPWidgetsCatalog.text,
1591
- },
1754
+ type: AXPWidgetsCatalog.text
1755
+ }
1592
1756
  },
1593
1757
  validations: [
1594
1758
  {
1595
- rule: 'required',
1596
- },
1597
- ],
1759
+ rule: 'required'
1760
+ }
1761
+ ]
1598
1762
  },
1599
1763
  {
1600
1764
  name: 'title',
1601
1765
  title: `t("title", { scope: "common" })`,
1602
- groupId: 'section',
1766
+ groupId: 'dataSource',
1603
1767
  schema: {
1604
1768
  dataType: 'string',
1605
1769
  interface: {
1606
1770
  type: AXPWidgetsCatalog.text,
1607
- },
1771
+ options: {}
1772
+ }
1608
1773
  },
1609
1774
  validations: [
1610
1775
  {
1611
- rule: 'required',
1612
- },
1613
- ],
1776
+ rule: 'required'
1777
+ }
1778
+ ]
1614
1779
  },
1615
1780
  {
1616
- name: 'value',
1617
- title: `t("value", { scope: "${i18n}" })`,
1618
- groupId: 'section',
1781
+ name: 'columns',
1782
+ title: `t("columns", { scope: "${i18n}" })`,
1783
+ groupId: 'dataSource',
1619
1784
  schema: {
1620
- dataType: 'string',
1785
+ defaultValue: [
1786
+ {
1787
+ name: 'name',
1788
+ title: 'Name',
1789
+ type: {
1790
+ title: 'Text',
1791
+ name: 'text-editor'
1792
+ }
1793
+ },
1794
+ {
1795
+ name: 'title',
1796
+ title: 'Title',
1797
+ type: {
1798
+ title: 'Text',
1799
+ name: 'text-editor'
1800
+ }
1801
+ }
1802
+ ],
1803
+ dataType: 'object',
1621
1804
  interface: {
1622
- type: AXPWidgetsCatalog.text,
1623
- },
1805
+ type: AXPWidgetsCatalog.repeaterLayout,
1806
+ children: AXM_COLUMN_DEF_WIDGET
1807
+ }
1808
+ }
1809
+ },
1810
+ {
1811
+ name: 'samples',
1812
+ title: `t("samples", { scope: "${i18n}" })`,
1813
+ groupId: 'dataSource',
1814
+ schema: {
1815
+ dataType: 'object',
1816
+ interface: {
1817
+ type: AXPWidgetsCatalog.table,
1818
+ options: {
1819
+ columns: '{{context.eval("columns")}}',
1820
+ }
1821
+ }
1624
1822
  },
1625
1823
  validations: [
1626
1824
  {
1627
- rule: 'required',
1628
- },
1629
- ],
1825
+ rule: 'required'
1826
+ }
1827
+ ]
1630
1828
  },
1631
1829
  {
1632
- name: 'dataType',
1633
- title: `t("dataType", { scope: "${i18n}" })`,
1634
- groupId: 'section',
1830
+ name: 'sourceType',
1831
+ title: `t("sourceType", { scope: "${i18n}" })`,
1832
+ groupId: 'dataSource',
1635
1833
  schema: {
1636
1834
  dataType: 'string',
1637
1835
  interface: {
@@ -1639,176 +1837,1038 @@ async function globalVariableEntityFactory(injector) {
1639
1837
  options: {
1640
1838
  valueField: 'name',
1641
1839
  textField: 'title',
1642
- dataSource: [
1643
- { title: 'String', name: 'String' },
1644
- { title: 'Integer', name: 'integer' },
1645
- { title: 'Date Time', name: 'dateTime' },
1646
- { title: 'Boolean', name: 'boolean' },
1647
- { title: 'Function', name: 'function' },
1648
- { title: 'Custom', name: 'custom' },
1649
- ],
1650
- direction: 'horizontal',
1651
- multiple: false,
1652
- },
1653
- },
1840
+ dataSource: [{
1841
+ name: 'external_api',
1842
+ title: 'External Api'
1843
+ }, {
1844
+ name: 'entity',
1845
+ title: 'Entity'
1846
+ }, {
1847
+ name: 'static',
1848
+ title: 'Static'
1849
+ }],
1850
+ multiple: false
1851
+ }
1852
+ }
1654
1853
  },
1655
1854
  validations: [
1656
1855
  {
1657
- rule: 'required',
1658
- },
1659
- ],
1856
+ rule: 'required'
1857
+ }
1858
+ ]
1859
+ },
1860
+ {
1861
+ name: 'sourceStatic',
1862
+ title: `t("sourceStatic", { scope: "${i18n}" })`,
1863
+ groupId: 'dataSource',
1864
+ schema: {
1865
+ dataType: 'string',
1866
+ interface: {
1867
+ type: AXPWidgetsCatalog.table,
1868
+ options: {
1869
+ //TODO problem selectBox!
1870
+ visibility: '{{context.eval("sourceType")?.name == "static" }}',
1871
+ columns: '{{context.eval("columns")}}',
1872
+ }
1873
+ }
1874
+ },
1875
+ validations: [
1876
+ {
1877
+ rule: 'required'
1878
+ }
1879
+ ]
1660
1880
  },
1881
+ {
1882
+ name: 'sourceEntity',
1883
+ title: `t("sourceEntity", { scope: "${i18n}" })`,
1884
+ groupId: 'dataSource',
1885
+ schema: {
1886
+ dataType: 'string',
1887
+ interface: {
1888
+ type: AXPWidgetsCatalog.select,
1889
+ options: {
1890
+ //TODO problem selectBox!
1891
+ visibility: '{{context.eval("sourceType")?.name == "entity" }}',
1892
+ valueField: 'name',
1893
+ textField: 'title',
1894
+ dataSource: new AXDataSource({
1895
+ load: async (e) => {
1896
+ // First, retrieve all entities (make sure this returns a promise or an array)
1897
+ const entities = entitiesService.getAll();
1898
+ // Map each entity to a promise that performs the translation
1899
+ const translatedEntities = await Promise.all(entities.map(async (entity) => ({
1900
+ ...entity,
1901
+ name: `${entity.module}.${entity.name}`,
1902
+ title: await translationService.translateAsync(entity.title),
1903
+ })));
1904
+ return {
1905
+ total: translatedEntities.length,
1906
+ items: translatedEntities
1907
+ };
1908
+ },
1909
+ pageSize: 1000
1910
+ })
1911
+ },
1912
+ triggers: [
1913
+ {
1914
+ event: "{{ events.context('sourceEntity') }}",
1915
+ action: `{{ context.set('columns', context.eval('sourceEntity').properties.map(function (item) { return { name: item.name, title: item.title, type: {title:item.schema.interface.type , name:item.schema.interface.type} , options : item.schema.interface.options }; })); }}`,
1916
+ },
1917
+ ]
1918
+ }
1919
+ },
1920
+ validations: [
1921
+ // {
1922
+ // rule: 'required'
1923
+ // }
1924
+ ]
1925
+ }
1661
1926
  ],
1662
- columns: [{ name: 'title' }, { name: 'dataType' }, { name: 'value' }],
1927
+ columns: [{ name: 'name' }, { name: 'title' }, { name: 'columns' }],
1663
1928
  commands: {
1664
1929
  create: {
1665
1930
  execute: async (data) => {
1666
- return Promise.resolve({ id: await dataService.insertOne(data) });
1667
- },
1931
+ console.log(data);
1932
+ const res = await dataService.insertOne(data);
1933
+ return { id: res };
1934
+ }
1668
1935
  },
1669
1936
  delete: {
1670
1937
  execute: async (id) => {
1671
- await await dataService.deleteOne(id);
1672
- return Promise.resolve();
1673
- },
1938
+ return await dataService.deleteOne(id);
1939
+ }
1674
1940
  },
1675
1941
  update: {
1676
1942
  execute: async (data) => {
1677
- return new Promise((resolve) => {
1678
- setTimeout(async () => {
1679
- await dataService.updateOne(data.id, data);
1680
- resolve(data);
1681
- }, 1000);
1682
- });
1683
- },
1684
- },
1943
+ return await dataService.updateOne(data.id, data);
1944
+ }
1945
+ }
1685
1946
  },
1686
1947
  queries: {
1687
1948
  byKey: {
1688
1949
  execute: async (id) => {
1689
- return new Promise((resolve) => {
1690
- setTimeout(async () => {
1691
- const entity = await dataService.getOne(id);
1692
- resolve(entity);
1693
- }, 500);
1694
- });
1950
+ return await dataService.getOne(id);
1695
1951
  },
1696
- type: AXPEntityQueryType.Single,
1952
+ type: AXPEntityQueryType.Single
1697
1953
  },
1698
1954
  list: {
1699
1955
  execute: async (e) => {
1700
- const x = await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
1701
- console.log(x);
1702
- return x;
1956
+ return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
1703
1957
  },
1704
- type: AXPEntityQueryType.List,
1705
- },
1958
+ type: AXPEntityQueryType.List
1959
+ }
1706
1960
  },
1707
1961
  interfaces: {
1708
1962
  master: {
1709
1963
  create: {
1710
1964
  sections: [
1711
1965
  {
1712
- id: 'section',
1713
- },
1966
+ id: 'dataSource'
1967
+ }
1714
1968
  ],
1715
1969
  properties: [
1716
1970
  {
1717
- name: 'title',
1971
+ name: 'name',
1718
1972
  layout: {
1719
1973
  positions: {
1720
1974
  lg: {
1721
1975
  colSpan: 6,
1722
- },
1723
- },
1724
- },
1976
+ order: 1
1977
+ }
1978
+ }
1979
+ }
1725
1980
  },
1726
1981
  {
1727
- name: 'name',
1982
+ name: 'title',
1728
1983
  layout: {
1729
1984
  positions: {
1730
1985
  lg: {
1731
1986
  colSpan: 6,
1732
- },
1733
- },
1734
- },
1987
+ order: 2
1988
+ }
1989
+ }
1990
+ }
1735
1991
  },
1736
1992
  {
1737
- name: 'value',
1993
+ name: 'columns',
1738
1994
  layout: {
1739
1995
  positions: {
1740
1996
  lg: {
1741
- colSpan: 6,
1742
- },
1743
- },
1744
- },
1997
+ colSpan: 12,
1998
+ order: 5
1999
+ }
2000
+ }
2001
+ }
1745
2002
  },
1746
2003
  {
1747
- name: 'dataType',
2004
+ name: 'samples',
2005
+ layout: {
2006
+ positions: {
2007
+ lg: {
2008
+ colSpan: 12,
2009
+ order: 6
2010
+ }
2011
+ }
2012
+ }
2013
+ },
2014
+ {
2015
+ name: 'sourceType',
1748
2016
  layout: {
1749
2017
  positions: {
1750
2018
  lg: {
1751
2019
  colSpan: 6,
1752
- },
1753
- },
1754
- },
2020
+ order: 3
2021
+ }
2022
+ }
2023
+ }
1755
2024
  },
1756
- ],
2025
+ {
2026
+ name: 'sourceStatic',
2027
+ layout: {
2028
+ positions: {
2029
+ lg: {
2030
+ colSpan: 6,
2031
+ order: 4
2032
+ }
2033
+ }
2034
+ }
2035
+ }, {
2036
+ name: 'sourceEntity',
2037
+ layout: {
2038
+ positions: {
2039
+ lg: {
2040
+ colSpan: 6,
2041
+ order: 4
2042
+ }
2043
+ }
2044
+ }
2045
+ }
2046
+ ]
1757
2047
  },
1758
2048
  update: {
1759
2049
  sections: [
1760
2050
  {
1761
- id: 'section',
1762
- },
2051
+ id: 'dataSource'
2052
+ }
1763
2053
  ],
1764
2054
  properties: [
1765
2055
  {
1766
- name: 'title',
2056
+ name: 'name',
1767
2057
  layout: {
1768
2058
  positions: {
1769
2059
  lg: {
1770
2060
  colSpan: 6,
1771
- },
1772
- },
1773
- },
2061
+ order: 1
2062
+ }
2063
+ }
2064
+ }
1774
2065
  },
1775
2066
  {
1776
- name: 'name',
2067
+ name: 'title',
1777
2068
  layout: {
1778
2069
  positions: {
1779
2070
  lg: {
1780
2071
  colSpan: 6,
1781
- },
1782
- },
1783
- },
2072
+ order: 2
2073
+ }
2074
+ }
2075
+ }
1784
2076
  },
1785
2077
  {
1786
- name: 'value',
2078
+ name: 'columns',
1787
2079
  layout: {
1788
2080
  positions: {
1789
2081
  lg: {
1790
- colSpan: 6,
1791
- },
1792
- },
2082
+ colSpan: 12,
2083
+ order: 3
2084
+ }
2085
+ }
2086
+ }
2087
+ },
2088
+ {
2089
+ name: 'samples',
2090
+ layout: {
2091
+ positions: {
2092
+ lg: {
2093
+ colSpan: 12,
2094
+ order: 4
2095
+ }
2096
+ }
2097
+ }
2098
+ }
2099
+ ]
2100
+ },
2101
+ single: {
2102
+ title: '{{title}}',
2103
+ sections: [
2104
+ {
2105
+ id: 'dataSource'
2106
+ }
2107
+ ],
2108
+ properties: [
2109
+ {
2110
+ name: 'name',
2111
+ layout: {
2112
+ positions: {
2113
+ lg: {
2114
+ colSpan: 6,
2115
+ order: 1
2116
+ }
2117
+ }
2118
+ }
2119
+ },
2120
+ {
2121
+ name: 'title',
2122
+ layout: {
2123
+ positions: {
2124
+ lg: {
2125
+ colSpan: 6,
2126
+ order: 2
2127
+ }
2128
+ }
2129
+ }
2130
+ },
2131
+ {
2132
+ name: 'columns',
2133
+ layout: {
2134
+ positions: {
2135
+ lg: {
2136
+ colSpan: 12,
2137
+ order: 3
2138
+ }
2139
+ }
2140
+ }
2141
+ },
2142
+ {
2143
+ name: 'samples',
2144
+ layout: {
2145
+ positions: {
2146
+ lg: {
2147
+ colSpan: 12,
2148
+ order: 4
2149
+ }
2150
+ }
2151
+ }
2152
+ }
2153
+ ],
2154
+ actions: []
2155
+ },
2156
+ list: {
2157
+ actions: [
2158
+ {
2159
+ title: `t("create", { scope: "common" })`,
2160
+ command: 'create-entity',
2161
+ priority: 'primary',
2162
+ type: 'create',
2163
+ scope: AXPEntityCommandScope.TypeLevel
2164
+ },
2165
+ {
2166
+ title: 't("deleteItems", { scope: "common" })',
2167
+ command: 'delete-entity',
2168
+ priority: 'primary',
2169
+ type: 'delete',
2170
+ scope: AXPEntityCommandScope.Selected
2171
+ },
2172
+ {
2173
+ title: 't("detail", { scope: "common" })',
2174
+ command: 'open-entity',
2175
+ priority: 'primary',
2176
+ type: 'view',
2177
+ scope: AXPEntityCommandScope.Individual
2178
+ },
2179
+ {
2180
+ title: 't("delete", { scope: "common" })',
2181
+ command: 'delete-entity',
2182
+ priority: 'primary',
2183
+ type: 'delete',
2184
+ scope: AXPEntityCommandScope.Individual
2185
+ }
2186
+ ],
2187
+ views: [
2188
+ {
2189
+ name: 'all',
2190
+ title: 't("all", { scope: "common" })',
2191
+ fixed: true,
2192
+ columns: [],
2193
+ conditions: [],
2194
+ sorts: []
2195
+ }
2196
+ ]
2197
+ }
2198
+ }
2199
+ }
2200
+ };
2201
+ return entityDef;
2202
+ }
2203
+
2204
+ class AXMGlobalVariablesService extends AXMEntityCrudServiceImpl {
2205
+ }
2206
+ class AXMGlobalVariablesServiceImpl extends AXMEntityCrudServiceImpl {
2207
+ constructor() {
2208
+ super(`${RootConfig.module.name}.${RootConfig.entities.globalVariable.name}`);
2209
+ }
2210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMGlobalVariablesServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2211
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMGlobalVariablesServiceImpl }); }
2212
+ }
2213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMGlobalVariablesServiceImpl, decorators: [{
2214
+ type: Injectable
2215
+ }], ctorParameters: () => [] });
2216
+
2217
+ async function globalVariableEntityFactory(injector) {
2218
+ const dataService = injector.get(AXMGlobalVariablesService);
2219
+ const i18n = RootConfig.config.i18n;
2220
+ const entityDef = {
2221
+ module: RootConfig.module.name,
2222
+ name: RootConfig.entities.globalVariable.name,
2223
+ source: '',
2224
+ title: RootConfig.entities.globalVariable.title,
2225
+ formats: {
2226
+ individual: 'Global Variable',
2227
+ plural: 'Global Variables',
2228
+ },
2229
+ relatedEntities: [],
2230
+ groups: [
2231
+ {
2232
+ id: 'section',
2233
+ title: 'Global Variable',
2234
+ },
2235
+ ],
2236
+ properties: [
2237
+ {
2238
+ name: 'name',
2239
+ title: `t("name", { scope: "common" })`,
2240
+ groupId: 'section',
2241
+ schema: {
2242
+ dataType: 'string',
2243
+ interface: {
2244
+ type: AXPWidgetsCatalog.text,
2245
+ },
2246
+ },
2247
+ validations: [
2248
+ {
2249
+ rule: 'required',
2250
+ },
2251
+ ],
2252
+ },
2253
+ {
2254
+ name: 'title',
2255
+ title: `t("title", { scope: "common" })`,
2256
+ groupId: 'section',
2257
+ schema: {
2258
+ dataType: 'string',
2259
+ interface: {
2260
+ type: AXPWidgetsCatalog.text,
2261
+ },
2262
+ },
2263
+ validations: [
2264
+ {
2265
+ rule: 'required',
2266
+ },
2267
+ ],
2268
+ },
2269
+ {
2270
+ name: 'value',
2271
+ title: `t("value", { scope: "${i18n}" })`,
2272
+ groupId: 'section',
2273
+ schema: {
2274
+ dataType: 'string',
2275
+ interface: {
2276
+ type: AXPWidgetsCatalog.text,
2277
+ },
2278
+ },
2279
+ validations: [
2280
+ {
2281
+ rule: 'required',
2282
+ },
2283
+ ],
2284
+ },
2285
+ {
2286
+ name: 'dataType',
2287
+ title: `t("dataType", { scope: "${i18n}" })`,
2288
+ groupId: 'section',
2289
+ schema: {
2290
+ dataType: 'string',
2291
+ interface: {
2292
+ type: AXPWidgetsCatalog.select,
2293
+ options: {
2294
+ valueField: 'name',
2295
+ textField: 'title',
2296
+ dataSource: [
2297
+ { title: 'String', name: 'String' },
2298
+ { title: 'Integer', name: 'integer' },
2299
+ { title: 'Date Time', name: 'dateTime' },
2300
+ { title: 'Boolean', name: 'boolean' },
2301
+ { title: 'Function', name: 'function' },
2302
+ { title: 'Custom', name: 'custom' },
2303
+ ],
2304
+ direction: 'horizontal',
2305
+ multiple: false,
2306
+ },
2307
+ },
2308
+ },
2309
+ validations: [
2310
+ {
2311
+ rule: 'required',
2312
+ },
2313
+ ],
2314
+ },
2315
+ ],
2316
+ columns: [{ name: 'title' }, { name: 'dataType' }, { name: 'value' }],
2317
+ commands: {
2318
+ create: {
2319
+ execute: async (data) => {
2320
+ return Promise.resolve({ id: await dataService.insertOne(data) });
2321
+ },
2322
+ },
2323
+ delete: {
2324
+ execute: async (id) => {
2325
+ await await dataService.deleteOne(id);
2326
+ return Promise.resolve();
2327
+ },
2328
+ },
2329
+ update: {
2330
+ execute: async (data) => {
2331
+ return new Promise((resolve) => {
2332
+ setTimeout(async () => {
2333
+ await dataService.updateOne(data.id, data);
2334
+ resolve(data);
2335
+ }, 1000);
2336
+ });
2337
+ },
2338
+ },
2339
+ },
2340
+ queries: {
2341
+ byKey: {
2342
+ execute: async (id) => {
2343
+ return new Promise((resolve) => {
2344
+ setTimeout(async () => {
2345
+ const entity = await dataService.getOne(id);
2346
+ resolve(entity);
2347
+ }, 500);
2348
+ });
2349
+ },
2350
+ type: AXPEntityQueryType.Single,
2351
+ },
2352
+ list: {
2353
+ execute: async (e) => {
2354
+ const x = await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
2355
+ console.log(x);
2356
+ return x;
2357
+ },
2358
+ type: AXPEntityQueryType.List,
2359
+ },
2360
+ },
2361
+ interfaces: {
2362
+ master: {
2363
+ create: {
2364
+ sections: [
2365
+ {
2366
+ id: 'section',
2367
+ },
2368
+ ],
2369
+ properties: [
2370
+ {
2371
+ name: 'title',
2372
+ layout: {
2373
+ positions: {
2374
+ lg: {
2375
+ colSpan: 6,
2376
+ },
2377
+ },
2378
+ },
2379
+ },
2380
+ {
2381
+ name: 'name',
2382
+ layout: {
2383
+ positions: {
2384
+ lg: {
2385
+ colSpan: 6,
2386
+ },
2387
+ },
2388
+ },
2389
+ },
2390
+ {
2391
+ name: 'value',
2392
+ layout: {
2393
+ positions: {
2394
+ lg: {
2395
+ colSpan: 6,
2396
+ },
2397
+ },
2398
+ },
2399
+ },
2400
+ {
2401
+ name: 'dataType',
2402
+ layout: {
2403
+ positions: {
2404
+ lg: {
2405
+ colSpan: 6,
2406
+ },
2407
+ },
2408
+ },
2409
+ },
2410
+ ],
2411
+ },
2412
+ update: {
2413
+ sections: [
2414
+ {
2415
+ id: 'section',
2416
+ },
2417
+ ],
2418
+ properties: [
2419
+ {
2420
+ name: 'title',
2421
+ layout: {
2422
+ positions: {
2423
+ lg: {
2424
+ colSpan: 6,
2425
+ },
2426
+ },
2427
+ },
2428
+ },
2429
+ {
2430
+ name: 'name',
2431
+ layout: {
2432
+ positions: {
2433
+ lg: {
2434
+ colSpan: 6,
2435
+ },
2436
+ },
2437
+ },
2438
+ },
2439
+ {
2440
+ name: 'value',
2441
+ layout: {
2442
+ positions: {
2443
+ lg: {
2444
+ colSpan: 6,
2445
+ },
2446
+ },
2447
+ },
2448
+ },
2449
+ {
2450
+ name: 'dataType',
2451
+ layout: {
2452
+ positions: {
2453
+ lg: {
2454
+ colSpan: 6,
2455
+ },
2456
+ },
2457
+ },
2458
+ },
2459
+ ],
2460
+ },
2461
+ single: {
2462
+ title: '{{title}}',
2463
+ sections: [
2464
+ {
2465
+ id: 'section',
2466
+ },
2467
+ ],
2468
+ properties: [
2469
+ {
2470
+ name: 'title',
2471
+ layout: {
2472
+ positions: {
2473
+ lg: {
2474
+ colSpan: 6,
2475
+ },
2476
+ },
2477
+ },
2478
+ },
2479
+ {
2480
+ name: 'name',
2481
+ layout: {
2482
+ positions: {
2483
+ lg: {
2484
+ colSpan: 6,
2485
+ },
2486
+ },
2487
+ },
2488
+ },
2489
+ {
2490
+ name: 'value',
2491
+ layout: {
2492
+ positions: {
2493
+ lg: {
2494
+ colSpan: 6,
2495
+ },
2496
+ },
2497
+ },
2498
+ },
2499
+ {
2500
+ name: 'dataType',
2501
+ layout: {
2502
+ positions: {
2503
+ lg: {
2504
+ colSpan: 6,
2505
+ },
2506
+ },
2507
+ },
2508
+ },
2509
+ ],
2510
+ actions: [],
2511
+ },
2512
+ list: {
2513
+ actions: [
2514
+ {
2515
+ title: `t("create", { scope: "common" })`,
2516
+ command: 'create-entity',
2517
+ priority: 'primary',
2518
+ type: 'create',
2519
+ scope: AXPEntityCommandScope.TypeLevel,
2520
+ },
2521
+ {
2522
+ title: 't("deleteItems", { scope: "common" })',
2523
+ command: 'delete-entity',
2524
+ priority: 'primary',
2525
+ type: 'delete',
2526
+ scope: AXPEntityCommandScope.Selected,
2527
+ },
2528
+ {
2529
+ title: 't("deleteItems", { scope: "common" })',
2530
+ command: 'open-entity',
2531
+ priority: 'secondary',
2532
+ type: 'view',
2533
+ scope: AXPEntityCommandScope.Individual,
2534
+ },
2535
+ {
2536
+ title: 't("delete", { scope: "common" })',
2537
+ command: 'delete-entity',
2538
+ priority: 'secondary',
2539
+ type: 'delete',
2540
+ scope: AXPEntityCommandScope.Individual,
2541
+ },
2542
+ ],
2543
+ views: [
2544
+ {
2545
+ name: 'all',
2546
+ title: 't("allItem", { scope: "common" })',
2547
+ fixed: true,
2548
+ columns: [],
2549
+ conditions: [],
2550
+ sorts: [],
2551
+ },
2552
+ ],
2553
+ },
2554
+ },
2555
+ },
2556
+ };
2557
+ return entityDef;
2558
+ }
2559
+
2560
+ class AXMAppPromotionService extends AXMEntityCrudServiceImpl {
2561
+ }
2562
+ class AXMPromotionServiceImpl extends AXMEntityCrudServiceImpl {
2563
+ constructor() {
2564
+ super(`${RootConfig.module.name}.${RootConfig.entities.promotion.name}`);
2565
+ }
2566
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPromotionServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2567
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPromotionServiceImpl }); }
2568
+ }
2569
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPromotionServiceImpl, decorators: [{
2570
+ type: Injectable
2571
+ }], ctorParameters: () => [] });
2572
+
2573
+ class AXMPromotionSlotComponent {
2574
+ constructor() {
2575
+ this.notificationChannelService = inject(AXMAppPromotionService);
2576
+ this.listData = signal([]);
2577
+ this.fileStorage = inject(AXPFileStorageService);
2578
+ }
2579
+ async ngOnInit() {
2580
+ const channels = await this.notificationChannelService.query({
2581
+ skip: 0,
2582
+ take: 10000,
2583
+ // filter: {
2584
+ // field: 'type',
2585
+ // operator: { type: 'equal' },
2586
+ // value: 'promotion',
2587
+ // },
2588
+ });
2589
+ const filteredItems = channels.items.filter((x) => x.placement?.name == this.location);
2590
+ const mappedItems = await Promise.all(filteredItems.map(async (item) => {
2591
+ if (item.imageId != null) {
2592
+ const image = await this.fileStorage.getInfo(item.imageId);
2593
+ return {
2594
+ ...item,
2595
+ image: image,
2596
+ };
2597
+ }
2598
+ else {
2599
+ return item;
2600
+ }
2601
+ }));
2602
+ this.listData.set(mappedItems);
2603
+ }
2604
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPromotionSlotComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2605
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXMPromotionSlotComponent, isStandalone: true, selector: "acorex-platform-promotion-slot", ngImport: i0, template: "@for (item of listData(); track item.id) { @if (item.contentType?.name == 'media') {\n<img\n [src]=\"item.image?.url ?? ''\"\n class=\"ax-h-24 ax-m-1 ax-w-full ax-border ax-bg-primary {{\n item.shape?.name == 'circle' ? 'ax-rounded-full' : 'ax-rounded-none'\n }}\"\n/>\n} @if(item.contentType?.name == 'text'){\n<div class=\"ax-m-1 ax-px-6 ax-p-4 ax-border ax-bg-primary ax-rounded-lg\">\n <h1 class=\"ax-text-base/6\" [innerHTML]=\"item.body | safe : 'html'\"></h1>\n</div>\n\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: AXSafePipe, name: "safe" }] }); }
2606
+ }
2607
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPromotionSlotComponent, decorators: [{
2608
+ type: Component,
2609
+ args: [{ selector: 'acorex-platform-promotion-slot', imports: [CommonModule, AXSafePipe], template: "@for (item of listData(); track item.id) { @if (item.contentType?.name == 'media') {\n<img\n [src]=\"item.image?.url ?? ''\"\n class=\"ax-h-24 ax-m-1 ax-w-full ax-border ax-bg-primary {{\n item.shape?.name == 'circle' ? 'ax-rounded-full' : 'ax-rounded-none'\n }}\"\n/>\n} @if(item.contentType?.name == 'text'){\n<div class=\"ax-m-1 ax-px-6 ax-p-4 ax-border ax-bg-primary ax-rounded-lg\">\n <h1 class=\"ax-text-base/6\" [innerHTML]=\"item.body | safe : 'html'\"></h1>\n</div>\n\n} }\n" }]
2610
+ }] });
2611
+
2612
+ async function promotionEntityFactory(injector) {
2613
+ const dataService = injector.get(AXMAppPromotionService);
2614
+ const i18n = RootConfig.config.i18n;
2615
+ const entityDef = {
2616
+ module: RootConfig.module.name,
2617
+ name: RootConfig.entities.promotion.name,
2618
+ source: '',
2619
+ title: RootConfig.entities.promotion.title,
2620
+ formats: {
2621
+ individual: RootConfig.entities.promotion.title,
2622
+ plural: RootConfig.entities.promotion.titlePlural,
2623
+ },
2624
+ relatedEntities: [],
2625
+ groups: [
2626
+ {
2627
+ id: 'promotion',
2628
+ title: 'Promotion',
2629
+ },
2630
+ ],
2631
+ properties: [
2632
+ {
2633
+ name: 'title',
2634
+ title: `t("title", { scope: "common" })`,
2635
+ groupId: 'promotion',
2636
+ schema: {
2637
+ dataType: 'string',
2638
+ interface: {
2639
+ type: AXPWidgetsCatalog.text,
2640
+ },
2641
+ },
2642
+ validations: [
2643
+ {
2644
+ rule: 'required',
2645
+ },
2646
+ ],
2647
+ },
2648
+ {
2649
+ name: 'body',
2650
+ title: `t("body", { scope: "${i18n}" })`,
2651
+ groupId: 'promotion',
2652
+ schema: {
2653
+ dataType: 'string',
2654
+ interface: {
2655
+ type: AXPWidgetsCatalog.richText,
2656
+ },
2657
+ },
2658
+ validations: [
2659
+ {
2660
+ rule: 'required',
2661
+ },
2662
+ ],
2663
+ },
2664
+ {
2665
+ name: 'imageId',
2666
+ title: `t("body", { scope: "${i18n}" })`,
2667
+ groupId: 'promotion',
2668
+ schema: {
2669
+ dataType: 'string',
2670
+ interface: {
2671
+ type: AXPWidgetsCatalog.file,
2672
+ options: {
2673
+ multiple: false,
2674
+ },
2675
+ },
2676
+ },
2677
+ },
2678
+ {
2679
+ name: 'contentType',
2680
+ title: `t("contentType", { scope: "${i18n}" })`,
2681
+ groupId: 'promotion',
2682
+ schema: {
2683
+ dataType: 'string',
2684
+ interface: {
2685
+ type: AXPWidgetsCatalog.select,
2686
+ options: {
2687
+ valueField: 'name',
2688
+ textField: 'title',
2689
+ dataSource: [
2690
+ { title: 'Media', name: 'media' },
2691
+ { title: 'Text', name: 'text' },
2692
+ ],
2693
+ direction: 'horizontal',
2694
+ multiple: false,
2695
+ },
2696
+ },
2697
+ },
2698
+ validations: [
2699
+ {
2700
+ rule: 'required',
2701
+ },
2702
+ ],
2703
+ },
2704
+ {
2705
+ name: 'shape',
2706
+ title: `t("shape", { scope: "${i18n}" })`,
2707
+ groupId: 'promotion',
2708
+ schema: {
2709
+ dataType: 'string',
2710
+ interface: {
2711
+ type: AXPWidgetsCatalog.select,
2712
+ options: {
2713
+ valueField: 'name',
2714
+ textField: 'title',
2715
+ dataSource: [
2716
+ { title: 'Circle', name: 'circle' },
2717
+ { title: 'Square', name: 'square' },
2718
+ ],
2719
+ direction: 'horizontal',
2720
+ multiple: false,
2721
+ },
2722
+ },
2723
+ },
2724
+ validations: [
2725
+ {
2726
+ rule: 'required',
2727
+ },
2728
+ ],
2729
+ },
2730
+ {
2731
+ name: 'placement',
2732
+ title: `t("placement", { scope: "${i18n}" })`,
2733
+ groupId: 'promotion',
2734
+ schema: {
2735
+ dataType: 'string',
2736
+ interface: {
2737
+ type: AXPWidgetsCatalog.select,
2738
+ options: {
2739
+ valueField: 'name',
2740
+ textField: 'title',
2741
+ dataSource: [
2742
+ { title: 'Side Menu Footer', name: 'side-menu-footer' },
2743
+ { title: 'Side Menu Header', name: 'side-menu-header' },
2744
+ ],
2745
+ direction: 'horizontal',
2746
+ multiple: false,
2747
+ },
2748
+ },
2749
+ },
2750
+ validations: [
2751
+ {
2752
+ rule: 'required',
2753
+ },
2754
+ ],
2755
+ },
2756
+ ],
2757
+ columns: [{ name: 'title' }, { name: 'body' }, { name: 'contentType' }, { name: 'shape' }, { name: 'placement' }],
2758
+ commands: {
2759
+ create: {
2760
+ execute: async (data) => {
2761
+ console.log(data);
2762
+ const res = await dataService.insertOne(data);
2763
+ return { id: res };
2764
+ },
2765
+ },
2766
+ delete: {
2767
+ execute: async (id) => {
2768
+ return await dataService.deleteOne(id);
2769
+ },
2770
+ },
2771
+ update: {
2772
+ execute: async (data) => {
2773
+ return await dataService.updateOne(data.id, data);
2774
+ },
2775
+ },
2776
+ },
2777
+ queries: {
2778
+ byKey: {
2779
+ execute: async (id) => {
2780
+ return await dataService.getOne(id);
2781
+ },
2782
+ type: AXPEntityQueryType.Single,
2783
+ },
2784
+ list: {
2785
+ execute: async (e) => {
2786
+ return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
2787
+ },
2788
+ type: AXPEntityQueryType.List,
2789
+ },
2790
+ },
2791
+ interfaces: {
2792
+ master: {
2793
+ create: {
2794
+ sections: [
2795
+ {
2796
+ id: 'promotion',
2797
+ },
2798
+ ],
2799
+ properties: [
2800
+ {
2801
+ name: 'title',
2802
+ layout: {
2803
+ positions: {
2804
+ lg: {
2805
+ colSpan: 6,
2806
+ order: 1,
2807
+ },
2808
+ },
1793
2809
  },
1794
2810
  },
1795
2811
  {
1796
- name: 'dataType',
2812
+ name: 'body',
2813
+ layout: {
2814
+ positions: {
2815
+ lg: {
2816
+ colSpan: 12,
2817
+ order: 5,
2818
+ },
2819
+ },
2820
+ },
2821
+ },
2822
+ {
2823
+ name: 'imageId',
2824
+ layout: {
2825
+ positions: {
2826
+ lg: {
2827
+ colSpan: 12,
2828
+ order: 6,
2829
+ },
2830
+ },
2831
+ },
2832
+ },
2833
+ {
2834
+ name: 'contentType',
2835
+ layout: {
2836
+ positions: {
2837
+ lg: {
2838
+ colSpan: 6,
2839
+ order: 2,
2840
+ },
2841
+ },
2842
+ },
2843
+ },
2844
+ {
2845
+ name: 'shape',
2846
+ layout: {
2847
+ positions: {
2848
+ lg: {
2849
+ colSpan: 6,
2850
+ order: 3,
2851
+ },
2852
+ },
2853
+ },
2854
+ },
2855
+ {
2856
+ name: 'placement',
1797
2857
  layout: {
1798
2858
  positions: {
1799
2859
  lg: {
1800
2860
  colSpan: 6,
2861
+ order: 4,
1801
2862
  },
1802
2863
  },
1803
2864
  },
1804
2865
  },
1805
2866
  ],
1806
2867
  },
1807
- single: {
1808
- title: '{{title}}',
2868
+ update: {
1809
2869
  sections: [
1810
2870
  {
1811
- id: 'section',
2871
+ id: 'promotion',
1812
2872
  },
1813
2873
  ],
1814
2874
  properties: [
@@ -1818,32 +2878,88 @@ async function globalVariableEntityFactory(injector) {
1818
2878
  positions: {
1819
2879
  lg: {
1820
2880
  colSpan: 6,
2881
+ order: 1,
1821
2882
  },
1822
2883
  },
1823
2884
  },
1824
2885
  },
1825
2886
  {
1826
- name: 'name',
2887
+ name: 'body',
2888
+ layout: {
2889
+ positions: {
2890
+ lg: {
2891
+ colSpan: 12,
2892
+ order: 5,
2893
+ },
2894
+ },
2895
+ },
2896
+ },
2897
+ {
2898
+ name: 'imageId',
2899
+ layout: {
2900
+ positions: {
2901
+ lg: {
2902
+ colSpan: 12,
2903
+ order: 6,
2904
+ },
2905
+ },
2906
+ },
2907
+ },
2908
+ {
2909
+ name: 'contentType',
1827
2910
  layout: {
1828
2911
  positions: {
1829
2912
  lg: {
1830
2913
  colSpan: 6,
2914
+ order: 2,
1831
2915
  },
1832
2916
  },
1833
2917
  },
1834
2918
  },
1835
2919
  {
1836
- name: 'value',
2920
+ name: 'shape',
1837
2921
  layout: {
1838
2922
  positions: {
1839
2923
  lg: {
1840
2924
  colSpan: 6,
2925
+ order: 3,
1841
2926
  },
1842
2927
  },
1843
2928
  },
1844
2929
  },
1845
2930
  {
1846
- name: 'dataType',
2931
+ name: 'placement',
2932
+ layout: {
2933
+ positions: {
2934
+ lg: {
2935
+ colSpan: 6,
2936
+ order: 4,
2937
+ },
2938
+ },
2939
+ },
2940
+ },
2941
+ ],
2942
+ },
2943
+ single: {
2944
+ title: '{{title}}',
2945
+ sections: [
2946
+ {
2947
+ id: 'promotion',
2948
+ },
2949
+ ],
2950
+ properties: [
2951
+ {
2952
+ name: 'title',
2953
+ layout: {
2954
+ positions: {
2955
+ lg: {
2956
+ colSpan: 6,
2957
+ },
2958
+ },
2959
+ },
2960
+ },
2961
+ {
2962
+ name: 'body',
1847
2963
  layout: {
1848
2964
  positions: {
1849
2965
  lg: {
@@ -1852,6 +2968,50 @@ async function globalVariableEntityFactory(injector) {
1852
2968
  },
1853
2969
  },
1854
2970
  },
2971
+ {
2972
+ name: 'imageId',
2973
+ layout: {
2974
+ positions: {
2975
+ lg: {
2976
+ colSpan: 12,
2977
+ order: 2,
2978
+ },
2979
+ },
2980
+ },
2981
+ },
2982
+ {
2983
+ name: 'contentType',
2984
+ layout: {
2985
+ positions: {
2986
+ lg: {
2987
+ colSpan: 4,
2988
+ order: 4,
2989
+ },
2990
+ },
2991
+ },
2992
+ },
2993
+ {
2994
+ name: 'shape',
2995
+ layout: {
2996
+ positions: {
2997
+ lg: {
2998
+ colSpan: 4,
2999
+ order: 5,
3000
+ },
3001
+ },
3002
+ },
3003
+ },
3004
+ {
3005
+ name: 'placement',
3006
+ layout: {
3007
+ positions: {
3008
+ lg: {
3009
+ colSpan: 4,
3010
+ order: 6,
3011
+ },
3012
+ },
3013
+ },
3014
+ },
1855
3015
  ],
1856
3016
  actions: [],
1857
3017
  },
@@ -1872,16 +3032,16 @@ async function globalVariableEntityFactory(injector) {
1872
3032
  scope: AXPEntityCommandScope.Selected,
1873
3033
  },
1874
3034
  {
1875
- title: 't("deleteItems", { scope: "common" })',
3035
+ title: 't("detail", { scope: "common" })',
1876
3036
  command: 'open-entity',
1877
- priority: 'secondary',
3037
+ priority: 'primary',
1878
3038
  type: 'view',
1879
3039
  scope: AXPEntityCommandScope.Individual,
1880
3040
  },
1881
3041
  {
1882
3042
  title: 't("delete", { scope: "common" })',
1883
3043
  command: 'delete-entity',
1884
- priority: 'secondary',
3044
+ priority: 'primary',
1885
3045
  type: 'delete',
1886
3046
  scope: AXPEntityCommandScope.Individual,
1887
3047
  },
@@ -1889,7 +3049,7 @@ async function globalVariableEntityFactory(injector) {
1889
3049
  views: [
1890
3050
  {
1891
3051
  name: 'all',
1892
- title: 't("allItem", { scope: "common" })',
3052
+ title: 't("all", { scope: "common" })',
1893
3053
  fixed: true,
1894
3054
  columns: [],
1895
3055
  conditions: [],
@@ -1905,6 +3065,7 @@ async function globalVariableEntityFactory(injector) {
1905
3065
 
1906
3066
  var index = /*#__PURE__*/Object.freeze({
1907
3067
  __proto__: null,
3068
+ AXMAppPromotionService: AXMAppPromotionService,
1908
3069
  AXMAppTermService: AXMAppTermService,
1909
3070
  AXMAppTermServiceImpl: AXMAppTermServiceImpl,
1910
3071
  AXMAppVersionService: AXMAppVersionService,
@@ -1913,17 +3074,23 @@ var index = /*#__PURE__*/Object.freeze({
1913
3074
  AXMChangeLogPopupAction: AXMChangeLogPopupAction,
1914
3075
  AXMChangeLogUpdateSettingAction: AXMChangeLogUpdateSettingAction,
1915
3076
  AXMChangeLogWorkflow: AXMChangeLogWorkflow,
3077
+ AXMDataSourceService: AXMDataSourceService,
3078
+ AXMDataSourceServiceImpl: AXMDataSourceServiceImpl,
1916
3079
  AXMGlobalVariablesService: AXMGlobalVariablesService,
1917
3080
  AXMGlobalVariablesServiceImpl: AXMGlobalVariablesServiceImpl,
1918
3081
  AXMListTermsComponent: AXMListTermsComponent,
1919
3082
  AXMNewTermWorkflow: AXMNewTermWorkflow,
1920
3083
  AXMNotifyAppComponent: AXMNotifyAppComponent,
1921
3084
  AXMNotifyNewTermPopupAction: AXMNotifyNewTermPopupAction,
3085
+ AXMPromotionServiceImpl: AXMPromotionServiceImpl,
3086
+ AXMPromotionSlotComponent: AXMPromotionSlotComponent,
1922
3087
  AXMTermUpdateSettingAction: AXMTermUpdateSettingAction,
1923
3088
  AppTermAndVersionCheck: AppTermAndVersionCheck,
1924
3089
  appTermEntityEntityFactory: appTermEntityEntityFactory,
1925
3090
  appVersionEntityEntityFactory: appVersionEntityEntityFactory,
1926
- globalVariableEntityFactory: globalVariableEntityFactory
3091
+ dataSourceEntityFactory: dataSourceEntityFactory,
3092
+ globalVariableEntityFactory: globalVariableEntityFactory,
3093
+ promotionEntityFactory: promotionEntityFactory
1927
3094
  });
1928
3095
 
1929
3096
  class AXMEntityLoader {
@@ -1956,6 +3123,16 @@ class AXMEntityLoader {
1956
3123
  resolve(entity(this.injector));
1957
3124
  break;
1958
3125
  }
3126
+ case RootConfig.entities.promotion.name: {
3127
+ const entity = (await Promise.resolve().then(function () { return index; })).promotionEntityFactory;
3128
+ resolve(entity(this.injector));
3129
+ break;
3130
+ }
3131
+ case RootConfig.entities.dataSource.name: {
3132
+ const entity = (await Promise.resolve().then(function () { return index; })).dataSourceEntityFactory;
3133
+ resolve(entity(this.injector));
3134
+ break;
3135
+ }
1959
3136
  default:
1960
3137
  resolve(null);
1961
3138
  }
@@ -2036,6 +3213,24 @@ class AXMMenuProvider {
2036
3213
  // requiredPermission: '',
2037
3214
  },
2038
3215
  },
3216
+ {
3217
+ priority: 9005,
3218
+ text: RootConfig.entities.promotion.title,
3219
+ path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.promotion.name),
3220
+ icon: RootConfig.entities.promotion.icon,
3221
+ data: {
3222
+ // requiredPermission: '',
3223
+ },
3224
+ },
3225
+ {
3226
+ priority: 9004,
3227
+ text: RootConfig.entities.dataSource.title,
3228
+ path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.dataSource.name),
3229
+ icon: RootConfig.entities.dataSource.icon,
3230
+ data: {
3231
+ // requiredPermission: '',
3232
+ },
3233
+ },
2039
3234
  ],
2040
3235
  },
2041
3236
  ]);
@@ -2054,6 +3249,31 @@ class AXMMenuProvider {
2054
3249
  }
2055
3250
  }
2056
3251
 
3252
+ class AXMDynamicDataSourceProvider {
3253
+ constructor() {
3254
+ this.dataSourceService = inject(AXMDataSourceService);
3255
+ }
3256
+ async items() {
3257
+ return (await this.dataSourceService.query({
3258
+ skip: 0,
3259
+ take: 1000,
3260
+ })).items.map((item) => {
3261
+ return {
3262
+ ...item,
3263
+ source: () => {
3264
+ console.log(item);
3265
+ if (item.sourceType.name == 'static') {
3266
+ return convertArrayToDataSource(item.sourceStatic);
3267
+ }
3268
+ else {
3269
+ return convertArrayToDataSource([]);
3270
+ }
3271
+ },
3272
+ };
3273
+ });
3274
+ }
3275
+ }
3276
+
2057
3277
  function routesFactory() {
2058
3278
  const config = inject(AXP_ENTITY_CONFIG_TOKEN);
2059
3279
  const routes = [
@@ -2076,7 +3296,7 @@ class AXMPlatformManagementModule {
2076
3296
  */
2077
3297
  constructor(appVersionCheck) { }
2078
3298
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPlatformManagementModule, deps: [{ token: AppTermAndVersionCheck }], target: i0.ɵɵFactoryTarget.NgModule }); }
2079
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXMPlatformManagementModule, imports: [AXMPlatformManagementCommonModule, i2$4.AXPWorkflowModule] }); }
3299
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.3", ngImport: i0, type: AXMPlatformManagementModule, imports: [AXMPlatformManagementCommonModule, i2$4.AXPWorkflowModule, i1$1.AXPComponentSlotModule] }); }
2080
3300
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPlatformManagementModule, providers: [
2081
3301
  {
2082
3302
  provide: ROUTES,
@@ -2095,6 +3315,14 @@ class AXMPlatformManagementModule {
2095
3315
  provide: AXMAppTermService,
2096
3316
  useClass: AXMAppTermServiceImpl,
2097
3317
  },
3318
+ {
3319
+ provide: AXMAppPromotionService,
3320
+ useClass: AXMPromotionServiceImpl,
3321
+ },
3322
+ {
3323
+ provide: AXMDataSourceService,
3324
+ useClass: AXMDataSourceServiceImpl,
3325
+ },
2098
3326
  {
2099
3327
  provide: AXP_ENTITY_DEFINITION_LOADER,
2100
3328
  useClass: AXMEntityLoader,
@@ -2105,6 +3333,11 @@ class AXMPlatformManagementModule {
2105
3333
  useClass: AXMMenuProvider,
2106
3334
  multi: true,
2107
3335
  },
3336
+ {
3337
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
3338
+ useClass: AXMDynamicDataSourceProvider,
3339
+ multi: true,
3340
+ },
2108
3341
  AppTermAndVersionCheck,
2109
3342
  ], imports: [AXMPlatformManagementCommonModule,
2110
3343
  AXPWorkflowModule.forChild({
@@ -2118,6 +3351,27 @@ class AXMPlatformManagementModule {
2118
3351
  'change-log-version': AXMChangeLogWorkflow,
2119
3352
  'new-term': AXMNewTermWorkflow,
2120
3353
  },
3354
+ }),
3355
+ AXPComponentSlotModule.forChild({
3356
+ 'side-menu-footer': [
3357
+ {
3358
+ name: 'side-menu-footer',
3359
+ component: AXMPromotionSlotComponent,
3360
+ options: {
3361
+ location: 'side-menu-footer',
3362
+ },
3363
+ },
3364
+ ],
3365
+ 'side-menu-header': [
3366
+ {
3367
+ name: 'side-menu-header',
3368
+ component: AXMPromotionSlotComponent,
3369
+ priority: 2,
3370
+ options: {
3371
+ location: 'side-menu-header',
3372
+ },
3373
+ },
3374
+ ],
2121
3375
  })] }); }
2122
3376
  }
2123
3377
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXMPlatformManagementModule, decorators: [{
@@ -2137,6 +3391,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2137
3391
  'new-term': AXMNewTermWorkflow,
2138
3392
  },
2139
3393
  }),
3394
+ AXPComponentSlotModule.forChild({
3395
+ 'side-menu-footer': [
3396
+ {
3397
+ name: 'side-menu-footer',
3398
+ component: AXMPromotionSlotComponent,
3399
+ options: {
3400
+ location: 'side-menu-footer',
3401
+ },
3402
+ },
3403
+ ],
3404
+ 'side-menu-header': [
3405
+ {
3406
+ name: 'side-menu-header',
3407
+ component: AXMPromotionSlotComponent,
3408
+ priority: 2,
3409
+ options: {
3410
+ location: 'side-menu-header',
3411
+ },
3412
+ },
3413
+ ],
3414
+ }),
2140
3415
  ],
2141
3416
  exports: [],
2142
3417
  declarations: [],
@@ -2158,6 +3433,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2158
3433
  provide: AXMAppTermService,
2159
3434
  useClass: AXMAppTermServiceImpl,
2160
3435
  },
3436
+ {
3437
+ provide: AXMAppPromotionService,
3438
+ useClass: AXMPromotionServiceImpl,
3439
+ },
3440
+ {
3441
+ provide: AXMDataSourceService,
3442
+ useClass: AXMDataSourceServiceImpl,
3443
+ },
2161
3444
  {
2162
3445
  provide: AXP_ENTITY_DEFINITION_LOADER,
2163
3446
  useClass: AXMEntityLoader,
@@ -2168,6 +3451,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2168
3451
  useClass: AXMMenuProvider,
2169
3452
  multi: true,
2170
3453
  },
3454
+ {
3455
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
3456
+ useClass: AXMDynamicDataSourceProvider,
3457
+ multi: true,
3458
+ },
2171
3459
  AppTermAndVersionCheck,
2172
3460
  ],
2173
3461
  }]
@@ -2177,5 +3465,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
2177
3465
  * Generated bundle index. Do not edit.
2178
3466
  */
2179
3467
 
2180
- export { AXMAppTermService, AXMAppTermServiceImpl, AXMAppVersionService, AXMAppVersionServiceImpl, AXMAppVersionSlotComponent, AXMChangeLogPopupAction, AXMChangeLogUpdateSettingAction, AXMChangeLogWorkflow, AXMCommonModuleEntityProvider, AXMGlobalVariablesService, AXMGlobalVariablesServiceImpl, AXMListTermsComponent, AXMNewTermWorkflow, AXMNotifyAppComponent, AXMNotifyNewTermPopupAction, AXMPlatformManagementModule, AXMTermUpdateSettingAction, AppTermAndVersionCheck, RootConfig, appTermEntityEntityFactory, appVersionEntityEntityFactory, globalVariableEntityFactory };
3468
+ export { AXMAppPromotionService, AXMAppTermService, AXMAppTermServiceImpl, AXMAppVersionService, AXMAppVersionServiceImpl, AXMAppVersionSlotComponent, AXMChangeLogPopupAction, AXMChangeLogUpdateSettingAction, AXMChangeLogWorkflow, AXMCommonModuleEntityProvider, AXMDataSourceService, AXMDataSourceServiceImpl, AXMGlobalVariablesService, AXMGlobalVariablesServiceImpl, AXMListTermsComponent, AXMNewTermWorkflow, AXMNotifyAppComponent, AXMNotifyNewTermPopupAction, AXMPlatformManagementModule, AXMPromotionServiceImpl, AXMPromotionSlotComponent, AXMTermUpdateSettingAction, AppTermAndVersionCheck, RootConfig, appTermEntityEntityFactory, appVersionEntityEntityFactory, dataSourceEntityFactory, globalVariableEntityFactory, promotionEntityFactory };
2181
3469
  //# sourceMappingURL=acorex-modules-platform-management.mjs.map