@acorex/platform 18.2.2 → 18.2.4

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 (324) hide show
  1. package/common/lib/app/operators.d.ts +1 -0
  2. package/common/lib/common.module.d.ts +6 -7
  3. package/common/lib/data/filter-middleware.service.d.ts +28 -0
  4. package/common/lib/data/index.d.ts +3 -1
  5. package/common/lib/data/operators.service.d.ts +14 -0
  6. package/common/lib/layout/index.d.ts +0 -2
  7. package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -2
  8. package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +1 -0
  9. package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +0 -2
  10. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +0 -2
  11. package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +0 -2
  12. package/common/lib/settings/setting-definition.provider.d.ts +6 -6
  13. package/common/lib/settings/settings.types.d.ts +18 -9
  14. package/esm2022/common/lib/app/operators.mjs +16 -1
  15. package/esm2022/common/lib/common.module.mjs +23 -12
  16. package/esm2022/common/lib/data/filter-middleware.service.mjs +53 -0
  17. package/esm2022/common/lib/data/index.mjs +4 -2
  18. package/esm2022/common/lib/data/operators.service.mjs +15 -0
  19. package/esm2022/common/lib/layout/index.mjs +1 -3
  20. package/esm2022/common/lib/layout/menu/menu.service.mjs +2 -2
  21. package/esm2022/common/lib/layout/sticky.directive.mjs +15 -11
  22. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +7 -8
  23. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +47 -25
  24. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +6 -7
  25. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +6 -7
  26. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +6 -7
  27. package/esm2022/common/lib/settings/setting-definition.provider.mjs +141 -187
  28. package/esm2022/common/lib/settings/settings.types.mjs +2 -7
  29. package/esm2022/common/lib/utils/data-generator.mjs +1 -1
  30. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  31. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +22 -11
  32. package/esm2022/layout/builder/lib/builder/widget.types.mjs +11 -6
  33. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +2 -7
  34. package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +27 -32
  35. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +8 -6
  36. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +4 -3
  37. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +39 -12
  38. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -3
  39. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +3 -3
  40. package/esm2022/layout/entity/lib/entity.module.mjs +1 -6
  41. package/esm2022/layout/entity/lib/index.mjs +5 -4
  42. package/esm2022/layout/setting/acorex-platform-layout-setting.mjs +5 -0
  43. package/esm2022/layout/setting/index.mjs +2 -0
  44. package/esm2022/layout/setting/lib/convert-setting-data.mjs +59 -0
  45. package/esm2022/layout/setting/lib/setting.viewmodel.mjs +132 -0
  46. package/esm2022/layouts/lib/admin/admin.module.mjs +17 -5
  47. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
  48. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +4 -3
  49. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +8 -23
  50. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +2 -6
  51. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -5
  52. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +4 -8
  53. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +12 -10
  54. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
  55. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +1 -3
  56. package/esm2022/themes/default/index.mjs +2 -1
  57. package/esm2022/themes/default/lib/default.module.mjs +83 -39
  58. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +18 -24
  59. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +21 -24
  60. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +18 -12
  61. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +6 -8
  62. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +6 -8
  63. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +1 -1
  64. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +11 -38
  65. package/esm2022/themes/default/lib/layouts/setting-layout/index.mjs +3 -0
  66. package/esm2022/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.mjs +28 -0
  67. package/esm2022/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.mjs +42 -0
  68. package/esm2022/themes/shared/lib/services/theme.service.mjs +183 -19
  69. package/esm2022/widgets/lib/properties/layout.props.mjs +13 -13
  70. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.mjs +20 -0
  71. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.mjs +18 -0
  72. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.mjs +24 -0
  73. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.mjs +20 -0
  74. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.mjs +19 -0
  75. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.mjs +22 -0
  76. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.mjs +32 -0
  77. package/esm2022/widgets/lib/widgets/advance/cron-job/index.mjs +8 -0
  78. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +4 -9
  79. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +2 -9
  80. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +6 -7
  81. package/esm2022/widgets/lib/widgets.module.mjs +5 -2
  82. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  83. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs → acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs} +3 -4
  84. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs.map → acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs.map} +1 -1
  85. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs → acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs} +4 -5
  86. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs.map +1 -0
  87. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs → acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs} +3 -4
  88. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs → acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs} +4 -5
  90. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs.map → acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs.map} +1 -1
  91. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs → acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs} +4 -5
  92. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs.map +1 -0
  93. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs → acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs} +4 -5
  94. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs.map → acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs.map} +1 -1
  95. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs → acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs} +4 -5
  96. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs.map +1 -0
  97. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs → acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs} +10 -13
  98. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs.map +1 -0
  99. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs → acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs} +49 -28
  100. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs.map +1 -0
  101. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs → acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs} +4 -5
  102. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs.map → acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs.map} +1 -1
  103. package/fesm2022/{acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs → acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs} +4 -5
  104. package/fesm2022/acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs.map +1 -0
  105. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs → acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs} +9 -11
  106. package/fesm2022/acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs.map +1 -0
  107. package/fesm2022/{acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs → acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs} +4 -5
  108. package/fesm2022/{acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs.map → acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs.map} +1 -1
  109. package/fesm2022/{acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs → acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs} +4 -5
  110. package/fesm2022/acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs.map +1 -0
  111. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs → acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs} +4 -5
  112. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs.map → acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs.map} +1 -1
  113. package/fesm2022/{acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs → acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs} +4 -5
  114. package/fesm2022/acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs.map +1 -0
  115. package/fesm2022/{acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs → acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs} +4 -5
  116. package/fesm2022/{acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs.map → acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs.map} +1 -1
  117. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs → acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs} +3 -4
  118. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs.map → acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs.map} +1 -1
  119. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs → acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs} +4 -5
  120. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs.map +1 -0
  121. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs → acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs} +3 -4
  122. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs.map → acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs.map} +1 -1
  123. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs → acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs} +4 -5
  124. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs.map +1 -0
  125. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs → acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs} +4 -5
  126. package/fesm2022/acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs.map +1 -0
  127. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs → acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs} +4 -5
  128. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs.map → acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs.map} +1 -1
  129. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs → acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs} +3 -4
  130. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs.map +1 -0
  131. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs → acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs} +4 -5
  132. package/fesm2022/acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs.map +1 -0
  133. package/fesm2022/{acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs → acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs} +4 -5
  134. package/fesm2022/acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs.map +1 -0
  135. package/fesm2022/{acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs → acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs} +4 -5
  136. package/fesm2022/acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs.map +1 -0
  137. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs → acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs} +4 -5
  138. package/fesm2022/acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs.map +1 -0
  139. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs → acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs} +4 -5
  140. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs.map +1 -0
  141. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs → acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs} +4 -5
  142. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs.map → acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs.map} +1 -1
  143. package/fesm2022/{acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs → acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs} +4 -5
  144. package/fesm2022/acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs.map +1 -0
  145. package/fesm2022/{acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs → acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs} +4 -5
  146. package/fesm2022/acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs.map +1 -0
  147. package/fesm2022/{acorex-platform-common-number-widget-view.component-ROrdklif.mjs → acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs} +4 -5
  148. package/fesm2022/acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs.map +1 -0
  149. package/fesm2022/{acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs → acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs} +4 -5
  150. package/fesm2022/{acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs.map → acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs.map} +1 -1
  151. package/fesm2022/{acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs → acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs} +4 -5
  152. package/fesm2022/acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs.map +1 -0
  153. package/fesm2022/{acorex-platform-common-password-widget-view.component-rpjAeimk.mjs → acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs} +4 -4
  154. package/fesm2022/{acorex-platform-common-password-widget-view.component-rpjAeimk.mjs.map → acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs.map} +1 -1
  155. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs → acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs} +4 -5
  156. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs.map → acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs.map} +1 -1
  157. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs → acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs} +8 -10
  158. package/fesm2022/acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs.map +1 -0
  159. package/fesm2022/{acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs → acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs} +4 -5
  160. package/fesm2022/{acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs.map → acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs.map} +1 -1
  161. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs → acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs} +4 -5
  162. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs.map → acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs.map} +1 -1
  163. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs → acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs} +4 -5
  164. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs.map +1 -0
  165. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs → acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs} +4 -5
  166. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs.map +1 -0
  167. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs → acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs} +4 -5
  168. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs.map → acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs.map} +1 -1
  169. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs → acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs} +4 -5
  170. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs.map +1 -0
  171. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs → acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs} +3 -4
  172. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs.map +1 -0
  173. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs → acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs} +4 -5
  174. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs.map +1 -0
  175. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs → acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs} +3 -4
  176. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs.map} +1 -1
  177. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs → acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs} +4 -5
  178. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs.map +1 -0
  179. package/fesm2022/{acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs → acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs} +4 -5
  180. package/fesm2022/acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs.map +1 -0
  181. package/fesm2022/{acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs → acorex-platform-common-text-widget-column.component-DVczwvKA.mjs} +4 -5
  182. package/fesm2022/{acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs.map → acorex-platform-common-text-widget-column.component-DVczwvKA.mjs.map} +1 -1
  183. package/fesm2022/{acorex-platform-common-text-widget-edit.component-feJTTnye.mjs → acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs} +9 -12
  184. package/fesm2022/acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs.map +1 -0
  185. package/fesm2022/{acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs → acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs} +4 -5
  186. package/fesm2022/{acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs.map → acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs.map} +1 -1
  187. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs → acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs} +4 -5
  188. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs.map → acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs.map} +1 -1
  189. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs → acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs} +4 -5
  190. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs.map +1 -0
  191. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs → acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs} +4 -5
  192. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs.map → acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs.map} +1 -1
  193. package/fesm2022/acorex-platform-common.mjs +846 -981
  194. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  195. package/fesm2022/acorex-platform-layout-builder.mjs +28 -11
  196. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  197. package/fesm2022/acorex-platform-layout-designer.mjs +26 -36
  198. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  199. package/fesm2022/acorex-platform-layout-entity.mjs +843 -819
  200. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  201. package/fesm2022/acorex-platform-layout-setting.mjs +197 -0
  202. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -0
  203. package/fesm2022/acorex-platform-layouts.mjs +37 -46
  204. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  205. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs → acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs} +5 -5
  206. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs.map} +1 -1
  207. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs +310 -0
  208. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs.map +1 -0
  209. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs → acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs} +5 -5
  210. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs.map} +1 -1
  211. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs → acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs} +19 -21
  212. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs.map +1 -0
  213. package/fesm2022/acorex-platform-themes-default.mjs +173 -135
  214. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  215. package/fesm2022/acorex-platform-themes-shared.mjs +184 -20
  216. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  217. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs → acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs} +2 -1
  218. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs.map → acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs.map} +1 -1
  219. package/fesm2022/acorex-platform-widgets.mjs +181 -34
  220. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  221. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  222. package/layout/builder/lib/builder/widget-column-renderer.d.ts +1 -1
  223. package/layout/builder/lib/builder/widget.types.d.ts +1 -2
  224. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +1 -0
  225. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +2 -2
  226. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +7 -2
  227. package/layout/entity/lib/index.d.ts +4 -3
  228. package/layout/setting/README.md +3 -0
  229. package/layout/setting/index.d.ts +1 -0
  230. package/layout/setting/lib/convert-setting-data.d.ts +21 -0
  231. package/layout/setting/lib/setting.viewmodel.d.ts +39 -0
  232. package/layouts/lib/admin/admin.module.d.ts +6 -3
  233. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +42 -9
  234. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +0 -2
  235. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +0 -2
  236. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +4 -2
  237. package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +0 -1
  238. package/package.json +12 -12
  239. package/themes/default/index.d.ts +1 -0
  240. package/themes/default/lib/default.module.d.ts +3 -4
  241. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +43 -8
  242. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +42 -4
  243. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +3 -2
  244. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +42 -3
  245. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +42 -2
  246. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +42 -11
  247. package/themes/default/lib/layouts/setting-layout/index.d.ts +2 -0
  248. package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +12 -0
  249. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +7 -0
  250. package/themes/shared/lib/components/theme-slot.component.d.ts +31 -5
  251. package/themes/shared/lib/services/theme.service.d.ts +45 -5
  252. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.d.ts +6 -0
  253. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.d.ts +6 -0
  254. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.d.ts +7 -0
  255. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.d.ts +6 -0
  256. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.d.ts +6 -0
  257. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.d.ts +7 -0
  258. package/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.d.ts +7 -0
  259. package/widgets/lib/widgets/advance/cron-job/index.d.ts +7 -0
  260. package/workflow/lib/workflow.service.d.ts +1 -1
  261. package/common/lib/layout/layout.service.d.ts +0 -19
  262. package/common/lib/layout/theme/store/admin-layout.actions.d.ts +0 -7
  263. package/common/lib/layout/theme/store/admin-layout.effects.d.ts +0 -9
  264. package/common/lib/layout/theme/store/admin-layout.reducers.d.ts +0 -19
  265. package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +0 -4
  266. package/common/lib/layout/theme/store/admin-layout.state.d.ts +0 -11
  267. package/common/lib/layout/theme/store/index.d.ts +0 -5
  268. package/esm2022/common/lib/layout/layout.service.mjs +0 -79
  269. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +0 -11
  270. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +0 -21
  271. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +0 -64
  272. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +0 -7
  273. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +0 -13
  274. package/esm2022/common/lib/layout/theme/store/index.mjs +0 -6
  275. package/esm2022/mocks/acorex-platform-mocks.mjs +0 -5
  276. package/esm2022/mocks/index.mjs +0 -7
  277. package/esm2022/mocks/lib/mocks.module.mjs +0 -15
  278. package/esm2022/mocks/lib/services/mocker.service.mjs +0 -114
  279. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +0 -183
  280. package/esm2022/themes/default/lib/layout.routes.mjs +0 -20
  281. package/fesm2022/acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs.map +0 -1
  282. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs.map +0 -1
  283. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs.map +0 -1
  284. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs.map +0 -1
  285. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs.map +0 -1
  286. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs.map +0 -1
  287. package/fesm2022/acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs.map +0 -1
  288. package/fesm2022/acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs.map +0 -1
  289. package/fesm2022/acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs.map +0 -1
  290. package/fesm2022/acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs.map +0 -1
  291. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs.map +0 -1
  292. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs.map +0 -1
  293. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs.map +0 -1
  294. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs.map +0 -1
  295. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs.map +0 -1
  296. package/fesm2022/acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs.map +0 -1
  297. package/fesm2022/acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs.map +0 -1
  298. package/fesm2022/acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs.map +0 -1
  299. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs.map +0 -1
  300. package/fesm2022/acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs.map +0 -1
  301. package/fesm2022/acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs.map +0 -1
  302. package/fesm2022/acorex-platform-common-number-widget-view.component-ROrdklif.mjs.map +0 -1
  303. package/fesm2022/acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs.map +0 -1
  304. package/fesm2022/acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs.map +0 -1
  305. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs.map +0 -1
  306. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs.map +0 -1
  307. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs.map +0 -1
  308. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs.map +0 -1
  309. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs.map +0 -1
  310. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs.map +0 -1
  311. package/fesm2022/acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs.map +0 -1
  312. package/fesm2022/acorex-platform-common-text-widget-edit.component-feJTTnye.mjs.map +0 -1
  313. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs.map +0 -1
  314. package/fesm2022/acorex-platform-mocks.mjs +0 -319
  315. package/fesm2022/acorex-platform-mocks.mjs.map +0 -1
  316. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs +0 -306
  317. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs.map +0 -1
  318. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs.map +0 -1
  319. package/mocks/README.md +0 -3
  320. package/mocks/index.d.ts +0 -3
  321. package/mocks/lib/mocks.module.d.ts +0 -7
  322. package/mocks/lib/services/mocker.service.d.ts +0 -29
  323. package/mocks/lib/storage/storage.mock.service.d.ts +0 -25
  324. package/themes/default/lib/layout.routes.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-workflow.mjs","sources":["../../../../libs/platform/workflow/src/lib/errors.types.ts","../../../../libs/platform/workflow/src/lib/workflow-event-dispatcher.service.ts","../../../../libs/platform/workflow/src/lib/workflow-registery.service.ts","../../../../libs/platform/workflow/src/lib/workflow.types.ts","../../../../libs/platform/workflow/src/lib/workflow.service.ts","../../../../libs/platform/workflow/src/lib/actions/start-workflow.action.ts","../../../../libs/platform/workflow/src/lib/workflow.module.ts","../../../../libs/platform/workflow/src/acorex-platform-workflow.ts"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message: string, public inner: Error | null = null) {\n super(message);\n this.name = 'AXPWorkflowError';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AXPWorkflowEvent } from './workflow.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowEventService {\n private eventSubject = new Subject<AXPWorkflowEvent>();\n\n dispatch(event: AXPWorkflowEvent): void {\n this.eventSubject.next(event);\n }\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventSubject.asObservable();\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from './workflow.types';\n\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPWorkflowRegistryService {\n private functionsMap = new Map<string, Type<AXPWorkflowFunction>>();\n private actionsMap = new Map<string, Type<AXPWorkflowAction>>();\n private workflowsMap = new Map<string, AXPWorkflow>();\n\n registerWorkflow(name: string, workflow: AXPWorkflow): void {\n this.workflowsMap.set(name, workflow);\n }\n\n getWorkflow(name: string): AXPWorkflow | undefined {\n return this.workflowsMap.get(name);\n }\n\n registerAction(name: string, action: Type<AXPWorkflowAction>): void {\n this.actionsMap.set(name, action);\n }\n\n getAction(name: string): Type<AXPWorkflowAction> | undefined {\n return this.actionsMap.get(name);\n }\n\n registerFunction(name: string, func: Type<AXPWorkflowFunction>): void {\n this.functionsMap.set(name, func);\n }\n\n getFunction(name: string): Type<AXPWorkflowFunction> | undefined {\n return this.functionsMap.get(name);\n }\n\n getFunctionNames(): string[] {\n return Array.from(this.functionsMap.keys());\n }\n}","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get, set } from 'lodash-es';\n\nexport interface AXPWorkflow {\n steps: { [stepName: string]: AXPWorkflowStep };\n startStepId: string;\n}\n\n\nexport class AXPWorkflowContext {\n\n constructor(initialData: any = {}) {\n this.variables = cloneDeep(initialData);\n }\n\n private variables: any = {};\n private stepOutputs: Map<string, any> = new Map();\n\n setVariable(key: string, value: any): void {\n set(this.variables, key, value);\n }\n\n\n setVariables(context: any = {}) {\n this.variables = { ...this.variables, ...context };\n }\n\n getVariable<T = any>(key: string): T {\n return get(this.variables, key);\n }\n\n setOutput(key: string, output: any): void {\n this.stepOutputs.set(key, output);\n }\n\n setOutputs(values: Map<string, any>): void {\n this.stepOutputs = new Map([...this.stepOutputs, ...values])\n }\n\n getOutput<T = any>(key: string): T {\n return this.stepOutputs.get(key);\n }\n}\n\nexport type AXPWorkflowActionInput = any;\n\nexport type AXPWorkflowConditionType = 'AND' | 'OR' | 'SINGLE';\n\nexport interface AXPWorkflowCondition {\n type: AXPWorkflowConditionType;\n conditions?: AXPWorkflowCondition[]; // Nested conditions\n expression?: string; // Used if type is 'SINGLE'\n}\n\nexport interface AXPWorkflowNextStep {\n conditions: AXPWorkflowCondition[];\n nextStepId: string;\n}\n\nexport interface AXPWorkflowStep {\n id?: string;\n action: AXPWorkflowAction | string;\n input?: AXPWorkflowActionInput;\n nextSteps?: AXPWorkflowNextStep[];\n conditions?: AXPWorkflowCondition[];\n}\n@Injectable()\nexport abstract class AXPWorkflowAction {\n private eventService = inject(AXPWorkflowEventService);\n\n protected dispatch(event: AXPWorkflowEvent): void {\n this.eventService.dispatch(event);\n }\n\n abstract execute(context: AXPWorkflowContext): Promise<void>;\n}\n\n@Injectable()\nexport abstract class AXPWorkflowFunction {\n abstract execute(...args: any[]): Promise<any> | any;\n}\n\nexport interface AXPWorkflowEvent<T = any> {\n type: string;\n payload?: T;\n}\n\n\n\nexport function createWorkFlowEvent<T>(type: string) {\n const eventCreator = (payload: T) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\n\nexport function ofType<T extends { type: string }>(...allowedTypes: Array<{ type: string }>) {\n return filter((event: T) => allowedTypes.some((type) => event.type === type.type));\n}\n","import { Injectable, Injector, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowCondition,\n AXPWorkflowContext,\n AXPWorkflowEvent,\n AXPWorkflowFunction,\n AXPWorkflowNextStep,\n AXPWorkflowStep,\n} from './workflow.types';\nimport { cloneDeep, set } from 'lodash-es';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowService {\n private eventService = inject(AXPWorkflowEventService);\n\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventService.events$;\n }\n\n constructor(private registryService: AXPWorkflowRegistryService, private injector: Injector) { }\n\n async execute(workflow: AXPWorkflow | string, initialContext: AXPWorkflowContext | any | null = null): Promise<AXPWorkflowContext> {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext ? initialContext : new AXPWorkflowContext(initialContext ?? {});\n // Initialize context with initial variables\n\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n if (currentStep.input) {\n let inputs: any = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n Object.assign(action, inputs);\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n } catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error as Error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n } else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n\n //TODO : replace with AXDataGenerator\n private uuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n\n private getActionInstance(actionName: string): AXPWorkflowAction {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType,);\n }\n\n private getWorkflowInstance(workflowName: string): AXPWorkflow {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n\n private async determineNextStep(\n currentStep: AXPWorkflowStep,\n context: AXPWorkflowContext\n ): Promise<AXPWorkflowNextStep | null> {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n\n private async evaluateCondition(conditions: AXPWorkflowCondition[], context: AXPWorkflowContext): Promise<boolean> {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n\n // Check if every condition is true\n return results.every((result) => result);\n }\n\n private async evaluateSingleCondition(\n condition: AXPWorkflowCondition,\n context: AXPWorkflowContext\n ): Promise<boolean> {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context)) as boolean;\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n\n private async evaluateExpression(templateExpression: string, context: AXPWorkflowContext): Promise<Boolean> {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n } catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n\n async processInputs(obj: any, inputs: any, pathPrefix: string = '', context: any = {}): Promise<void> {\n if (!obj)\n return;\n\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n } else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n\n private createFunctionScope(): any {\n const scope: any = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return scope;\n }\n\n private getFunctionInstance(functionName: string): AXPWorkflowFunction {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction, AXPWorkflowContext } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n\n private workflowService = inject(AXPWorkflowService)\n private workflow: string;\n private context: any;\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context)\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e: unknown) {\n throw e;\n }\n\n }\n}","import { Inject, ModuleWithProviders, NgModule, Optional, Type } from \"@angular/core\";\nimport { AXPWorkflowRegistryService } from \"./workflow-registery.service\";\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from \"./workflow.types\";\nimport { AXPStartWorkflowAction } from \"./actions/start-workflow.action\";\n\n\nexport interface AXPWorkflowModuleConfigs {\n functions?: {\n [name: string]: Type<AXPWorkflowFunction>\n },\n actions?: {\n [name: string]: Type<AXPWorkflowAction>\n },\n workflows?: {\n [name: string]: AXPWorkflow\n }\n}\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n})\nexport class AXPWorkflowModule {\n\n static forRoot(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ]\n };\n }\n\n static forChild(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {})\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPWorkflowModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-workflow.mjs","sources":["../../../../libs/platform/workflow/src/lib/errors.types.ts","../../../../libs/platform/workflow/src/lib/workflow-event-dispatcher.service.ts","../../../../libs/platform/workflow/src/lib/workflow-registery.service.ts","../../../../libs/platform/workflow/src/lib/workflow.types.ts","../../../../libs/platform/workflow/src/lib/workflow.service.ts","../../../../libs/platform/workflow/src/lib/actions/start-workflow.action.ts","../../../../libs/platform/workflow/src/lib/workflow.module.ts","../../../../libs/platform/workflow/src/acorex-platform-workflow.ts"],"sourcesContent":["export class AXPWorkflowError extends Error {\n constructor(message: string, public inner: Error | null = null) {\n super(message);\n this.name = 'AXPWorkflowError';\n }\n}","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\nimport { AXPWorkflowEvent } from './workflow.types';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowEventService {\n private eventSubject = new Subject<AXPWorkflowEvent>();\n\n dispatch(event: AXPWorkflowEvent): void {\n this.eventSubject.next(event);\n }\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventSubject.asObservable();\n }\n}\n","import { Injectable, Type } from '@angular/core';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from './workflow.types';\n\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AXPWorkflowRegistryService {\n private functionsMap = new Map<string, Type<AXPWorkflowFunction>>();\n private actionsMap = new Map<string, Type<AXPWorkflowAction>>();\n private workflowsMap = new Map<string, AXPWorkflow>();\n\n registerWorkflow(name: string, workflow: AXPWorkflow): void {\n this.workflowsMap.set(name, workflow);\n }\n\n getWorkflow(name: string): AXPWorkflow | undefined {\n return this.workflowsMap.get(name);\n }\n\n registerAction(name: string, action: Type<AXPWorkflowAction>): void {\n this.actionsMap.set(name, action);\n }\n\n getAction(name: string): Type<AXPWorkflowAction> | undefined {\n return this.actionsMap.get(name);\n }\n\n registerFunction(name: string, func: Type<AXPWorkflowFunction>): void {\n this.functionsMap.set(name, func);\n }\n\n getFunction(name: string): Type<AXPWorkflowFunction> | undefined {\n return this.functionsMap.get(name);\n }\n\n getFunctionNames(): string[] {\n return Array.from(this.functionsMap.keys());\n }\n}","import { Injectable, inject } from '@angular/core';\nimport { filter } from 'rxjs';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { cloneDeep, get, set } from 'lodash-es';\n\nexport interface AXPWorkflow {\n steps: { [stepName: string]: AXPWorkflowStep };\n startStepId: string;\n}\n\n\nexport class AXPWorkflowContext {\n\n constructor(initialData: any = {}) {\n this.variables = cloneDeep(initialData);\n }\n\n private variables: any = {};\n private stepOutputs: Map<string, any> = new Map();\n\n setVariable(key: string, value: any): void {\n set(this.variables, key, value);\n }\n\n\n setVariables(context: any = {}) {\n this.variables = { ...this.variables, ...context };\n }\n\n getVariable<T = any>(key: string): T {\n return get(this.variables, key);\n }\n\n setOutput(key: string, output: any): void {\n this.stepOutputs.set(key, output);\n }\n\n setOutputs(values: Map<string, any>): void {\n this.stepOutputs = new Map([...this.stepOutputs, ...values])\n }\n\n getOutput<T = any>(key: string): T {\n return this.stepOutputs.get(key);\n }\n}\n\nexport type AXPWorkflowActionInput = any;\n\nexport type AXPWorkflowConditionType = 'AND' | 'OR' | 'SINGLE';\n\nexport interface AXPWorkflowCondition {\n type: AXPWorkflowConditionType;\n conditions?: AXPWorkflowCondition[]; // Nested conditions\n expression?: string; // Used if type is 'SINGLE'\n}\n\nexport interface AXPWorkflowNextStep {\n conditions: AXPWorkflowCondition[];\n nextStepId: string;\n}\n\nexport interface AXPWorkflowStep {\n id?: string;\n action: AXPWorkflowAction | string;\n input?: AXPWorkflowActionInput;\n nextSteps?: AXPWorkflowNextStep[];\n conditions?: AXPWorkflowCondition[];\n}\n@Injectable()\nexport abstract class AXPWorkflowAction {\n private eventService = inject(AXPWorkflowEventService);\n\n protected dispatch(event: AXPWorkflowEvent): void {\n this.eventService.dispatch(event);\n }\n\n abstract execute(context: AXPWorkflowContext): Promise<void>;\n}\n\n@Injectable()\nexport abstract class AXPWorkflowFunction {\n abstract execute(...args: any[]): Promise<any> | any;\n}\n\nexport interface AXPWorkflowEvent<T = any> {\n type: string;\n payload?: T;\n}\n\n\n\nexport function createWorkFlowEvent<T>(type: string) {\n const eventCreator = (payload: T) => ({ type, payload });\n eventCreator.type = type;\n return eventCreator;\n}\n\nexport function ofType<T extends { type: string }>(...allowedTypes: Array<{ type: string }>) {\n return filter((event: T) => allowedTypes.some((type) => event.type === type.type));\n}\n","import { Injectable, Injector, inject } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { AXPWorkflowError } from './errors.types';\nimport { AXPWorkflowEventService } from './workflow-event-dispatcher.service';\nimport { AXPWorkflowRegistryService } from './workflow-registery.service';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowCondition,\n AXPWorkflowContext,\n AXPWorkflowEvent,\n AXPWorkflowFunction,\n AXPWorkflowNextStep,\n AXPWorkflowStep,\n} from './workflow.types';\nimport { cloneDeep, set } from 'lodash-es';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPWorkflowService {\n private eventService = inject(AXPWorkflowEventService);\n\n\n get events$(): Observable<AXPWorkflowEvent> {\n return this.eventService.events$;\n }\n\n constructor(private registryService: AXPWorkflowRegistryService, private injector: Injector) { }\n\n async execute(workflow: AXPWorkflow | string, initialContext: AXPWorkflowContext | any | null = null): Promise<AXPWorkflowContext> {\n // Instantiate or retrieve the workflow\n const wk = typeof workflow === 'string' ? this.getWorkflowInstance(workflow) : workflow;\n\n let currentStepId = wk.startStepId;\n const context = initialContext instanceof AXPWorkflowContext ? initialContext : new AXPWorkflowContext(initialContext ?? {});\n // Initialize context with initial variables\n\n while (currentStepId) {\n const currentStep = wk.steps[currentStepId];\n if (!currentStep) {\n throw new AXPWorkflowError(`Step '${currentStepId}' not found in the workflow steps.`);\n }\n\n // Instantiate or retrieve the action\n const action = typeof currentStep.action === 'string' ? this.getActionInstance(currentStep.action) : currentStep.action;\n if (currentStep.input) {\n let inputs: any = {};\n await this.processInputs(cloneDeep(currentStep.input), inputs, '', context);\n Object.assign(action, inputs);\n }\n try {\n await new Promise((resolve) => setTimeout(async () => {\n await action.execute(context);\n resolve(0);\n }, 0));\n } catch (error) {\n console.error(error);\n throw new AXPWorkflowError('Workflow Error', error as Error);\n }\n // Determine the next step based on the conditions\n const nextStepInfo = await this.determineNextStep(currentStep, context);\n if (nextStepInfo) {\n currentStepId = nextStepInfo.nextStepId;\n } else {\n break; // Exit the loop if no next step is determined\n }\n }\n return context;\n }\n\n //TODO : replace with AXDataGenerator\n private uuid(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (char) => {\n const random = (Math.random() * 16) | 0;\n const value = char === 'x' ? random : (random & 0x3) | 0x8;\n return value.toString(16);\n });\n }\n\n private getActionInstance(actionName: string): AXPWorkflowAction {\n const actionType = this.registryService.getAction(actionName);\n if (!actionType) {\n throw new AXPWorkflowError(`Action type '${actionName}' not found in the registry.`);\n }\n return this.injector.get(actionType,);\n }\n\n private getWorkflowInstance(workflowName: string): AXPWorkflow {\n const workflowType = this.registryService.getWorkflow(workflowName);\n if (!workflowType) {\n throw new AXPWorkflowError(`Workflow type '${workflowName}' not found in the registry.`);\n }\n return workflowType;\n }\n\n private async determineNextStep(\n currentStep: AXPWorkflowStep,\n context: AXPWorkflowContext\n ): Promise<AXPWorkflowNextStep | null> {\n if (!currentStep.nextSteps) {\n return null;\n }\n for (const nextStep of currentStep.nextSteps) {\n if (await this.evaluateCondition(nextStep.conditions, context)) {\n return nextStep;\n }\n }\n return null;\n }\n\n private async evaluateCondition(conditions: AXPWorkflowCondition[], context: AXPWorkflowContext): Promise<boolean> {\n if (!conditions || conditions.length === 0) {\n return true; // If no conditions, the step proceeds\n }\n\n // Map each condition to a promise using evaluateSingleCondition\n const conditionPromises = conditions.map((condition) => this.evaluateSingleCondition(condition, context));\n\n // Wait for all promises to resolve\n const results = await Promise.all(conditionPromises);\n\n // Check if every condition is true\n return results.every((result) => result);\n }\n\n private async evaluateSingleCondition(\n condition: AXPWorkflowCondition,\n context: AXPWorkflowContext\n ): Promise<boolean> {\n switch (condition.type) {\n case 'SINGLE':\n return (!condition.expression ? true : await this.evaluateExpression(condition.expression, context)) as boolean;\n case 'AND':\n // Evaluate all conditions with 'AND' logic\n const andConditions = condition.conditions ?? [];\n const andResults = await Promise.all(andConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return andResults.every((result) => result);\n\n case 'OR':\n // Evaluate all conditions with 'OR' logic\n const orConditions = condition.conditions ?? [];\n const orResults = await Promise.all(orConditions.map((cond) => this.evaluateSingleCondition(cond, context)));\n return orResults.some((result) => result);\n\n default:\n throw new AXPWorkflowError(`Unsupported condition type: ${condition.type}`);\n }\n }\n\n private async evaluateExpression(templateExpression: string, context: AXPWorkflowContext): Promise<Boolean> {\n try {\n let expression = '';\n if (typeof templateExpression === 'string' && templateExpression.trim().includes('{{')) {\n const expressionMatch = templateExpression.match(/\\{\\{\\s*(.*?)\\s*\\}\\}/);\n if (!expressionMatch) {\n throw Error(`No valid expression found in \"${templateExpression}\"`);\n }\n expression = expressionMatch[1];\n }\n else {\n expression = templateExpression;\n }\n // Create a scope that includes context and registered functions\n const scope = { context, ...this.createFunctionScope() };\n // Evaluating the expression within the created scope\n const sandbox = new Function('scope', `return (async function() { with (scope) { return ${expression}; } })();`);\n const result = await sandbox(scope);\n return result;\n } catch (error) {\n console.error('Error evaluating expression:', error);\n return false;\n }\n }\n\n private async processInputs(obj: any, inputs: any, pathPrefix: string = '', context: any = {}): Promise<void> {\n if (!obj)\n return;\n\n for await (const i of Object.entries(obj)) {\n const key = i[0];\n const value = i[1];\n const currentPath = pathPrefix ? `${pathPrefix}.${key}` : key;\n if (typeof value === 'string' && value.trim().includes('{{')) {\n const expValue = await this.evaluateExpression(value, context);\n set(inputs, currentPath, expValue);\n }\n else if (typeof value === 'object' && value !== null && (value.constructor === Object || Array.isArray(value))) {\n // Recursively handle nested objects\n this.processInputs(value, inputs, currentPath, context);\n } else {\n // Apply static values directly\n set(inputs, currentPath, value);\n }\n }\n }\n\n private createFunctionScope(): any {\n const scope: any = {};\n this.registryService.getFunctionNames().forEach((name) => {\n scope[name] = this.getFunctionInstance(name).execute;\n });\n return scope;\n }\n\n private getFunctionInstance(functionName: string): AXPWorkflowFunction {\n const functionType = this.registryService.getFunction(functionName);\n if (!functionType) {\n throw new AXPWorkflowError(`Function type '${functionName}' not found in the registry.`);\n }\n return this.injector.get(functionType);\n }\n}\n","import { inject, Injectable } from \"@angular/core\";\nimport { AXPWorkflowAction, AXPWorkflowContext } from \"../workflow.types\";\nimport { AXPWorkflowService } from \"../workflow.service\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class AXPStartWorkflowAction extends AXPWorkflowAction {\n\n private workflowService = inject(AXPWorkflowService)\n private workflow: string;\n private context: any;\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n //console.log(\"start WK current context\", context);\n //console.log(\"start WK input context\", this.context);\n if (this.context)\n context.setVariables(this.context)\n //console.log(\"start WK merged context\", context);\n try {\n await this.workflowService.execute(this.workflow, context);\n }\n catch (e: unknown) {\n throw e;\n }\n\n }\n}","import { Inject, ModuleWithProviders, NgModule, Optional, Type } from \"@angular/core\";\nimport { AXPWorkflowRegistryService } from \"./workflow-registery.service\";\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowFunction } from \"./workflow.types\";\nimport { AXPStartWorkflowAction } from \"./actions/start-workflow.action\";\n\n\nexport interface AXPWorkflowModuleConfigs {\n functions?: {\n [name: string]: Type<AXPWorkflowFunction>\n },\n actions?: {\n [name: string]: Type<AXPWorkflowAction>\n },\n workflows?: {\n [name: string]: AXPWorkflow\n }\n}\n\n@NgModule({\n imports: [],\n exports: [],\n declarations: [],\n})\nexport class AXPWorkflowModule {\n\n static forRoot(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? { AXPStartWorkflowAction }),\n ...Object.values(config?.functions ?? {}),\n ]\n };\n }\n\n static forChild(config?: AXPWorkflowModuleConfigs): ModuleWithProviders<AXPWorkflowModule> {\n return {\n ngModule: AXPWorkflowModule,\n providers: [\n {\n provide: 'AXPWorkflowModuleFactory',\n useFactory: (registry: AXPWorkflowRegistryService) => () => {\n registry.registerAction(\"start-workflow\", AXPStartWorkflowAction);\n //\n if (config?.functions) {\n for (const [key, type] of Object.entries(config.functions)) {\n registry.registerFunction(key, type);\n }\n }\n //\n if (config?.actions) {\n for (const [key, type] of Object.entries(config.actions)) {\n registry.registerAction(key, type);\n }\n }\n //\n if (config?.workflows) {\n for (const [key, type] of Object.entries(config.workflows)) {\n registry.registerWorkflow(key, type);\n }\n }\n },\n deps: [AXPWorkflowRegistryService],\n multi: true\n },\n ...Object.values(config?.actions ?? {}),\n ...Object.values(config?.functions ?? {})\n ]\n };\n }\n\n /**\n * @ignore\n */\n constructor(@Optional() @Inject('AXPWorkflowModuleFactory') instances: any[]) {\n instances?.forEach(f => {\n f();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.AXPWorkflowRegistryService"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AXDataTableColumnComponent } from '@acorex/components/data-table';
2
2
  import { Injector, TemplateRef } from '@angular/core';
3
- import { AXPWidgetColumnNode } from './widget.types';
4
3
  import { AXPWidgetRegistryService } from './widget-registery.service';
4
+ import { AXPWidgetColumnNode } from './widget.types';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare class AXPWidgetColumnRendererComponent extends AXDataTableColumnComponent {
7
7
  protected widgetRegistery: AXPWidgetRegistryService;
@@ -111,6 +111,7 @@ export interface AXPWidgetTypesMap {
111
111
  widgetSelector: 'widget-selector';
112
112
  template: 'template';
113
113
  templateDesigner: 'template-designer';
114
+ cronJob: 'cron-job';
114
115
  }
115
116
  export interface AXPWidgetNodeToken {
116
117
  config: AXPWidgetConfig;
@@ -205,9 +206,7 @@ export declare abstract class AXPContainerWidgetComponent<T> extends AXPWidgetCo
205
206
  export type AXPDataSource = string | AXDataSource | any[];
206
207
  export declare abstract class AXPDataListWidgetComponent extends AXPWidgetComponent<any> {
207
208
  private dataService;
208
- protected rawDataSource: import("@angular/core").Signal<AXPDataSource>;
209
209
  protected dataSource: import("@angular/core").WritableSignal<AXDataSource<unknown>>;
210
- protected items: import("@angular/core").Signal<any[]>;
211
210
  protected textField: import("@angular/core").Signal<string>;
212
211
  protected valueField: import("@angular/core").Signal<string>;
213
212
  private rf;
@@ -9,6 +9,7 @@ export declare class AXPEntityDetailListViewModel {
9
9
  private detailEntity;
10
10
  private formatService;
11
11
  private workflow;
12
+ private filterOperatorMiddleware;
12
13
  dataSource: AXDataSource<unknown>;
13
14
  constructor(injector: Injector, detailEntityConfig: AXPRelatedEntity, parent: {
14
15
  entity: AXPEntity;
@@ -1,12 +1,12 @@
1
1
  import { Injector } from "@angular/core";
2
2
  import { AXPWidgetNode } from "@acorex/platform/layout/builder";
3
- import { AXPEntity, AXPEntityPropertyGroup, AXPGridLayoutOptions, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntitySectionView } from "@acorex/platform/common";
3
+ import { AXPEntity, AXPGridLayoutOptions, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntitySectionView } from "@acorex/platform/common";
4
4
  import * as i0 from "@angular/core";
5
5
  export declare class AXPEntityCreateViewSectionViewModel {
6
6
  private entity;
7
7
  private section;
8
8
  constructor(entity: AXPEntity, section: AXPEntitySectionView);
9
- group: AXPEntityPropertyGroup;
9
+ group: import("@acorex/platform/common").AXPEntityPropertyGroup;
10
10
  name: import("@angular/core").WritableSignal<string>;
11
11
  title: import("@angular/core").Signal<string>;
12
12
  description: import("@angular/core").Signal<string | null | undefined>;
@@ -29,12 +29,17 @@ export declare class AXPEntityMasterListViewModel {
29
29
  private readonly formatService;
30
30
  private readonly session;
31
31
  private readonly workflow;
32
+ private readonly settings;
33
+ private readonly filterOperatorMiddleware;
34
+ private settingListViewKey;
35
+ private settingSelectedViewKey;
32
36
  private readonly destroyed;
33
37
  events$: Subject<{
34
38
  action: string;
35
39
  }>;
36
40
  dataSource: AXDataSource<unknown>;
37
41
  constructor(injector: Injector, config: AXPEntity);
42
+ applySettings(): Promise<void>;
38
43
  selectedItems: import("@angular/core").WritableSignal<any[]>;
39
44
  hasSelectedItems: import("@angular/core").Signal<boolean>;
40
45
  clearSelection(): void;
@@ -56,7 +61,7 @@ export declare class AXPEntityMasterListViewModel {
56
61
  visibleColumnCount: () => number;
57
62
  columns: import("@angular/core").WritableSignal<AXPEntityListViewColumnViewModel[]>;
58
63
  resetColumns(): void;
59
- applyColumns(): void;
64
+ onColumnsChanged(columns: AXPEntityListViewColumnViewModel[]): Promise<void>;
60
65
  applyViewColumns(): void;
61
66
  sortableFields: () => {
62
67
  name: string;
@@ -73,7 +78,7 @@ export declare class AXPEntityMasterListViewModel {
73
78
  addSort(): void;
74
79
  removeSort(name: string): void;
75
80
  applyViewSorts(): void;
76
- setView(viewName?: string | null): void;
81
+ setView(viewName?: string | null): Promise<void>;
77
82
  views: import("@angular/core").Signal<AXPEntityMasterListViewQueryViewModel[]>;
78
83
  view: import("@angular/core").WritableSignal<AXPEntityMasterListViewQueryViewModel>;
79
84
  executeCommand(commandName: string, data?: any): Promise<void>;
@@ -1,9 +1,10 @@
1
- export * from './entity-master-single.viewmodel';
1
+ export * from './entity-detail-list.viewmodel';
2
2
  export * from './entity-master-create.viewmodel';
3
- export * from './entity-master-update.viewmodel';
4
3
  export * from './entity-master-list.viewmodel';
5
- export * from './entity-detail-list.viewmodel';
4
+ export * from './entity-master-single.viewmodel';
5
+ export * from './entity-master-update.viewmodel';
6
6
  export * from './entity-registery.service';
7
7
  export * from './entity.config';
8
8
  export * from './entity.module';
9
9
  export * from './entity.service';
10
+ export * from './entity.viewmodel';
@@ -0,0 +1,3 @@
1
+ # @acorex/platform/setting
2
+
3
+ Secondary entry point of `@acorex/platform`. It can be used by importing from `@acorex/platform/setting`.
@@ -0,0 +1 @@
1
+ export * from './lib/setting.viewmodel';
@@ -0,0 +1,21 @@
1
+ import { AXTreeViewSchema } from '@acorex/components/tree-view/lib/tree-view.class';
2
+ import { AXPSettingDefinitionGroup } from '@acorex/platform/common';
3
+ /**
4
+ * Converts a list of AXPSettingDefinitionGroup into a tree structure of AXTreeViewSchema.
5
+ * This function processes groups and their nested sub-groups, recursively creating a tree.
6
+ *
7
+ * @param groups - Array of top-level setting groups to be converted into tree view schema.
8
+ * @param parentId - The parent ID for nested groups, passed down recursively. (Optional, default is undefined)
9
+ *
10
+ * @returns An array of AXTreeViewSchema representing the hierarchical structure of groups.
11
+ */
12
+ export declare function convertToTreeViewSchema(groups: AXPSettingDefinitionGroup[], parentId?: string | number): AXTreeViewSchema[];
13
+ /**
14
+ * Recursively searches for a specific `id` in a tree structure and updates its `active` property to `true`.
15
+ * Additionally, ensures all other nodes have their `active` property set to `false`.
16
+ *
17
+ * @param tree - The tree structure to search, represented as an array of AXTreeViewSchema nodes.
18
+ * @param targetId - The `id` of the node to activate.
19
+ * @returns The updated tree structure with the target node activated and others deactivated.
20
+ */
21
+ export declare function setActiveByValueField(tree: AXTreeViewSchema[], targetId: string | number): AXTreeViewSchema[];
@@ -0,0 +1,39 @@
1
+ import { AXTreeItemClickBaseEvent, AXTreeViewSchema } from '@acorex/components/tree-view/lib/tree-view.class';
2
+ import { AXPGroupDetails } from '@acorex/platform/common';
3
+ import { OnDestroy } from '@angular/core';
4
+ import { ActivatedRoute } from '@angular/router';
5
+ import { Subscription } from 'rxjs';
6
+ import * as i0 from "@angular/core";
7
+ export declare class AXPSettingsViewModel implements OnDestroy {
8
+ private readonly router;
9
+ private readonly settingService;
10
+ private readonly platform;
11
+ private readonly toastService;
12
+ private activatedRoute;
13
+ subscription: Subscription;
14
+ data: import("@angular/core").WritableSignal<import("@acorex/platform/common").AXPSettingDefinitionGroup[] | null>;
15
+ isMobile: import("@angular/core").WritableSignal<boolean>;
16
+ fullRoute: string;
17
+ activatedGroup: import("@angular/core").WritableSignal<string | undefined>;
18
+ dataDetails: import("@angular/core").Signal<AXPGroupDetails | null>;
19
+ formattedData: import("@angular/core").WritableSignal<AXTreeViewSchema[]>;
20
+ constructor();
21
+ initializeService(activatedRoute: ActivatedRoute): Promise<void>;
22
+ ngOnDestroy(): void;
23
+ getData(): Promise<void>;
24
+ fetchGroupDetails(groupName: string): AXPGroupDetails | null;
25
+ private updateGroupParam;
26
+ onChooseGroup(item: AXTreeItemClickBaseEvent): void;
27
+ context: import("@angular/core").WritableSignal<Record<any, any>>;
28
+ previousContext: import("@angular/core").WritableSignal<Record<any, any>>;
29
+ setContext(value: any): void;
30
+ isSaving: import("@angular/core").WritableSignal<boolean>;
31
+ canCancel: import("@angular/core").Signal<boolean>;
32
+ canSave: import("@angular/core").Signal<boolean>;
33
+ onSaveSettings(): Promise<void>;
34
+ onCancelSettings(): void;
35
+ private isObjectEmpty;
36
+ private areObjectsEqual;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPSettingsViewModel, never>;
38
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPSettingsViewModel>;
39
+ }
@@ -1,8 +1,11 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "./entity-layout/entity-list-view/list-view.module";
3
- import * as i2 from "@acorex/platform/workflow";
2
+ import * as i1 from "@acorex/components/drawer";
3
+ import * as i2 from "@angular/common";
4
+ import * as i3 from "@acorex/components/decorators";
5
+ import * as i4 from "./entity-layout/entity-list-view/list-view.module";
6
+ import * as i5 from "@acorex/platform/workflow";
4
7
  export declare class AXPAdminLayoutModule {
5
8
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPAdminLayoutModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPAdminLayoutModule, never, [typeof i1.AXPListViewModule, typeof i2.AXPWorkflowModule], never>;
9
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPAdminLayoutModule, never, [typeof i1.AXDrawerModule, typeof i2.CommonModule, typeof i3.AXDecoratorModule, typeof i4.AXPListViewModule, typeof i5.AXPWorkflowModule], never>;
7
10
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPAdminLayoutModule>;
8
11
  }
@@ -9,27 +9,60 @@ import * as i0 from "@angular/core";
9
9
  export declare class AXPEntityDetailsViewComponent {
10
10
  private actions$;
11
11
  private unsubscriber;
12
- private popupService;
13
12
  private sessionService;
14
13
  private activeRoute;
15
- private router;
16
14
  private location;
17
- private cdr;
18
- private platform;
19
15
  private workflow;
20
16
  protected loader: AXPEntityDetailViewLoader;
21
17
  drawer: AXDrawerComponent;
22
- private store;
23
- protected isSM: import("rxjs").Observable<boolean>;
24
- protected isOpen: import("rxjs").Observable<boolean>;
18
+ protected store: {
19
+ currentTheme: import("@angular/core").Signal<import("@acorex/platform/themes/shared").AXPThemeVariant>;
20
+ systemTheme: import("@angular/core").Signal<import("@acorex/platform/themes/shared").AXPThemeVariant>;
21
+ screenSize: import("@angular/core").Signal<import("@acorex/platform/themes/shared").AXPScreenSize>;
22
+ deviceType: import("@angular/core").Signal<import("@acorex/platform/themes/shared").AXPDeviceType>;
23
+ isTouchDevice: import("@angular/core").Signal<boolean>;
24
+ overlayLoading: import("@angular/core").Signal<boolean>;
25
+ navigationLoading: import("@angular/core").Signal<boolean>;
26
+ overlayLoadingTaskCount: import("@angular/core").Signal<number>;
27
+ navigationLoadingTaskCount: import("@angular/core").Signal<number>;
28
+ sideMenuState: import("@angular/core").Signal<import("@acorex/platform/themes/shared").AXPSideMenuState>;
29
+ isDarkMode: import("@angular/core").Signal<boolean>;
30
+ isLightMode: import("@angular/core").Signal<boolean>;
31
+ isSystemMode: import("@angular/core").Signal<boolean>;
32
+ isSideMenuOpen: import("@angular/core").Signal<boolean>;
33
+ isSmall: import("@angular/core").Signal<boolean>;
34
+ isMedium: import("@angular/core").Signal<boolean>;
35
+ isLarge: import("@angular/core").Signal<boolean>;
36
+ isMobileDevice: import("@angular/core").Signal<boolean>;
37
+ isTabletDevice: import("@angular/core").Signal<boolean>;
38
+ isDesktopDevice: import("@angular/core").Signal<boolean>;
39
+ isTouchScreen: import("@angular/core").Signal<boolean>;
40
+ isOverlayLoading: import("@angular/core").Signal<boolean>;
41
+ isNavigationLoading: import("@angular/core").Signal<boolean>;
42
+ changeTheme: (theme: import("@acorex/platform/themes/shared").AXPThemeVariant) => void;
43
+ openSideMenu: () => void;
44
+ closeSideMenu: () => void;
45
+ toggleSideMenu: () => void;
46
+ setNavigationLoading: (value: boolean) => void;
47
+ setOverlayLoading: (value: boolean) => void;
48
+ } & import("@ngrx/signals").StateSource<{
49
+ currentTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
50
+ systemTheme: import("@acorex/platform/themes/shared").AXPThemeVariant;
51
+ screenSize: import("@acorex/platform/themes/shared").AXPScreenSize;
52
+ deviceType: import("@acorex/platform/themes/shared").AXPDeviceType;
53
+ isTouchDevice: boolean;
54
+ overlayLoading: boolean;
55
+ navigationLoading: boolean;
56
+ overlayLoadingTaskCount: number;
57
+ navigationLoadingTaskCount: number;
58
+ sideMenuState: import("@acorex/platform/themes/shared").AXPSideMenuState;
59
+ }>;
25
60
  protected canDelete: boolean;
26
61
  protected canCreate: boolean;
27
62
  protected canUpdate: boolean;
28
63
  protected context: WritableSignal<any>;
29
64
  constructor(actions$: Actions, unsubscriber: AXUnsubscriber);
30
65
  protected handleMenuClick(e: AXHtmlEvent, item: AXPEntityViewChildSectionConfig): void;
31
- protected handleCollapsedChange(value: boolean): void;
32
- protected handleDrawerClick(): void;
33
66
  private setSection;
34
67
  protected handleSectionEdit(section: AXPEntityViewChildSectionConfig): Promise<void>;
35
68
  protected isActive(item: AXPEntityViewChildSectionConfig): boolean;
@@ -6,9 +6,7 @@ import { AXPListViewLoader } from '../../list-view.config';
6
6
  import { AXPEntityListDisplayColumnConfig } from '@acorex/platform/common';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class AXPListViewOptionsColumnsComponent implements OnInit {
9
- private store;
10
9
  loader: AXPListViewLoader;
11
- protected isSM: Observable<boolean>;
12
10
  protected columns$: Observable<AXPEntityListDisplayColumnConfig[]>;
13
11
  onClosed: EventEmitter<void>;
14
12
  ngOnInit(): void;
@@ -13,7 +13,6 @@ export declare class AXPEntityListViewComponent {
13
13
  private unsubscriber;
14
14
  protected platform: AXPlatform;
15
15
  protected cdr: ChangeDetectorRef;
16
- private store;
17
16
  private workflow;
18
17
  private layout;
19
18
  private route;
@@ -47,7 +46,6 @@ export declare class AXPEntityListViewComponent {
47
46
  ngAfterViewInit(): void;
48
47
  _getInlineConditionTitles(): void;
49
48
  _handleViewsPopover(): void;
50
- handleDrawerClick(): void;
51
49
  toggleSearchBox(): void;
52
50
  private dropdownRowItems;
53
51
  private inlineRowItems;
@@ -1,5 +1,5 @@
1
1
  import { AXDataSource } from '@acorex/components/common';
2
- import { AXPEntityConfig, AXPEntityListColumnConfig, AXPEntityListConditionConfig, AXPEntityListDisplayColumnConfig, AXPEntityListSortConfig, AXPEntityListViewConfig, AXPEntityPropertyConfig, AXPSchemaRegistryService } from '@acorex/platform/common';
2
+ import { AXPEntityConfig, AXPEntityListColumnConfig, AXPEntityListConditionConfig, AXPEntityListDisplayColumnConfig, AXPEntityListSortConfig, AXPEntityListViewConfig, AXPEntityPropertyConfig, AXPFilterOperatorMiddlewareService, AXPSchemaRegistryService } from '@acorex/platform/common';
3
3
  import { InjectionToken } from '@angular/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
@@ -45,10 +45,11 @@ export interface AXPListViewLoader {
45
45
  export declare class AXPListViewLoaderDefault implements AXPListViewLoader {
46
46
  private config;
47
47
  private schemaService;
48
+ private filterOperatorMiddleware;
48
49
  private _config;
49
50
  private _dataSource;
50
51
  private _inlineFilterItems;
51
- constructor(config: AXPEntityConfig, schemaService: AXPSchemaRegistryService);
52
+ constructor(config: AXPEntityConfig, schemaService: AXPSchemaRegistryService, filterOperatorMiddleware: AXPFilterOperatorMiddlewareService);
52
53
  get entity(): AXPEntityConfig;
53
54
  get dataSource(): AXDataSource;
54
55
  private get props();
@@ -105,6 +106,7 @@ export declare class AXPListViewLoaderFactory {
105
106
  private entityService;
106
107
  private schemaService;
107
108
  private layout;
109
+ private readonly filterOperatorMiddleware;
108
110
  create(moduleName: string, entityName: string): Promise<AXPListViewLoader>;
109
111
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPListViewLoaderFactory, never>;
110
112
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPListViewLoaderFactory>;
@@ -6,7 +6,6 @@ export declare class AXPEntityQuickViewComponent extends AXBasePageComponent {
6
6
  private actions$;
7
7
  private entity;
8
8
  protected root: AXPEntityViewRootSectionConfig;
9
- private store;
10
9
  private workflow;
11
10
  protected canDelete: boolean;
12
11
  protected canCreate: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "18.2.2",
3
+ "version": "18.2.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=18.0.0",
6
6
  "@angular/core": ">=18.0.0",
@@ -57,11 +57,11 @@
57
57
  "esm": "./esm2022/layouts/acorex-platform-layouts.mjs",
58
58
  "default": "./fesm2022/acorex-platform-layouts.mjs"
59
59
  },
60
- "./mocks": {
61
- "types": "./mocks/index.d.ts",
62
- "esm2022": "./esm2022/mocks/acorex-platform-mocks.mjs",
63
- "esm": "./esm2022/mocks/acorex-platform-mocks.mjs",
64
- "default": "./fesm2022/acorex-platform-mocks.mjs"
60
+ "./native": {
61
+ "types": "./native/index.d.ts",
62
+ "esm2022": "./esm2022/native/acorex-platform-native.mjs",
63
+ "esm": "./esm2022/native/acorex-platform-native.mjs",
64
+ "default": "./fesm2022/acorex-platform-native.mjs"
65
65
  },
66
66
  "./core": {
67
67
  "types": "./core/index.d.ts",
@@ -69,12 +69,6 @@
69
69
  "esm": "./esm2022/core/acorex-platform-core.mjs",
70
70
  "default": "./fesm2022/acorex-platform-core.mjs"
71
71
  },
72
- "./native": {
73
- "types": "./native/index.d.ts",
74
- "esm2022": "./esm2022/native/acorex-platform-native.mjs",
75
- "esm": "./esm2022/native/acorex-platform-native.mjs",
76
- "default": "./fesm2022/acorex-platform-native.mjs"
77
- },
78
72
  "./widgets": {
79
73
  "types": "./widgets/index.d.ts",
80
74
  "esm2022": "./esm2022/widgets/acorex-platform-widgets.mjs",
@@ -105,6 +99,12 @@
105
99
  "esm": "./esm2022/layout/entity/acorex-platform-layout-entity.mjs",
106
100
  "default": "./fesm2022/acorex-platform-layout-entity.mjs"
107
101
  },
102
+ "./layout/setting": {
103
+ "types": "./layout/setting/index.d.ts",
104
+ "esm2022": "./esm2022/layout/setting/acorex-platform-layout-setting.mjs",
105
+ "esm": "./esm2022/layout/setting/acorex-platform-layout-setting.mjs",
106
+ "default": "./fesm2022/acorex-platform-layout-setting.mjs"
107
+ },
108
108
  "./themes/default": {
109
109
  "types": "./themes/default/index.d.ts",
110
110
  "esm2022": "./esm2022/themes/default/acorex-platform-themes-default.mjs",
@@ -1,3 +1,4 @@
1
1
  export * from './lib/default.module';
2
2
  export * from './lib/layouts/entity-layouts';
3
3
  export * from './lib/layouts/root-layout';
4
+ export * from './lib/layouts/setting-layout';
@@ -1,9 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
- import * as i1 from "@angular/router";
3
- import * as i2 from "@acorex/platform/common";
4
- import * as i3 from "@acorex/platform/themes/shared";
2
+ import * as i1 from "@acorex/platform/common";
3
+ import * as i2 from "@acorex/platform/themes/shared";
5
4
  export declare class AXPDefaultThemeModule {
6
5
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPDefaultThemeModule, never>;
7
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXPDefaultThemeModule, never, [typeof i1.RouterModule, typeof i2.AXPCommonModule, typeof i3.AXPThemesSharedModule], never>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXPDefaultThemeModule, never, [typeof i1.AXPCommonModule, typeof i2.AXPThemesSharedModule], never>;
8
7
  static ɵinj: i0.ɵɵInjectorDeclaration<AXPDefaultThemeModule>;
9
8
  }