@acorex/platform 18.0.9 → 18.0.10

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 (828) hide show
  1. package/auth/lib/application/application.types.d.ts +3 -3
  2. package/auth/lib/auth.strategy.d.ts +5 -0
  3. package/auth/lib/errors.types.d.ts +4 -4
  4. package/auth/lib/session.service.d.ts +4 -3
  5. package/common/lib/app/application.types.d.ts +6 -12
  6. package/common/lib/schema/entity/entity.class.d.ts +2 -1
  7. package/common/lib/schema/schema.types.d.ts +2 -1
  8. package/common/lib/schema/widget/widget-base.d.ts +1 -1
  9. package/common/lib/schema/widget/widget-token.d.ts +1 -1
  10. package/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.d.ts +1 -1
  11. package/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.d.ts +2 -2
  12. package/common/lib/schema/widgets/text/text-widget-column.component.d.ts +1 -1
  13. package/common/lib/schema/widgets/text/text-widget-view.component.d.ts +1 -1
  14. package/core/README.md +4 -0
  15. package/core/index.d.ts +1 -0
  16. package/core/lib/types.d.ts +12 -0
  17. package/esm2022/auth/lib/application/application.types.mjs +1 -1
  18. package/esm2022/auth/lib/auth-registry.service.mjs +3 -3
  19. package/esm2022/auth/lib/auth.module.mjs +4 -4
  20. package/esm2022/auth/lib/auth.strategy.mjs +1 -1
  21. package/esm2022/auth/lib/feature/feature.directive.mjs +3 -3
  22. package/esm2022/auth/lib/permission/permission.directive.mjs +3 -3
  23. package/esm2022/auth/lib/session.service.mjs +58 -16
  24. package/esm2022/common/lib/app/application.types.mjs +1 -1
  25. package/esm2022/common/lib/common.module.mjs +4 -4
  26. package/esm2022/common/lib/errors/error-handler-registry.service.mjs +3 -3
  27. package/esm2022/common/lib/errors/global-error-handler.mjs +5 -5
  28. package/esm2022/common/lib/layout/component-slot/component-slot-loader.service.mjs +3 -3
  29. package/esm2022/common/lib/layout/component-slot/component-slot-registery.service.mjs +3 -3
  30. package/esm2022/common/lib/layout/component-slot/component-slot.directive.mjs +3 -3
  31. package/esm2022/common/lib/layout/component-slot/component-slot.module.mjs +4 -4
  32. package/esm2022/common/lib/layout/grid-layout/grid-layout.directive.mjs +3 -3
  33. package/esm2022/common/lib/layout/layout.service.mjs +3 -3
  34. package/esm2022/common/lib/layout/logo/logo.component.mjs +3 -3
  35. package/esm2022/common/lib/layout/sticky.directive.mjs +3 -3
  36. package/esm2022/common/lib/layout/theme/components/slots/footer-text-slot.component.mjs +3 -3
  37. package/esm2022/common/lib/layout/theme/components/slots/navbar-slot.component.mjs +3 -3
  38. package/esm2022/common/lib/layout/theme/components/slots/theme-slot.component.mjs +5 -5
  39. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +3 -3
  40. package/esm2022/common/lib/schema/entity/entity-registery.service.mjs +3 -3
  41. package/esm2022/common/lib/schema/entity/entity.class.mjs +1 -1
  42. package/esm2022/common/lib/schema/schema-registery.service.mjs +3 -3
  43. package/esm2022/common/lib/schema/schema.module.mjs +4 -4
  44. package/esm2022/common/lib/schema/schema.types.mjs +1 -1
  45. package/esm2022/common/lib/schema/widget/widget-base.mjs +10 -10
  46. package/esm2022/common/lib/schema/widget/widget-column-renderer.mjs +3 -3
  47. package/esm2022/common/lib/schema/widget/widget-filter-renderer.mjs +3 -3
  48. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +3 -3
  49. package/esm2022/common/lib/schema/widget/widget-token.mjs +1 -1
  50. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +3 -3
  51. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-view.component.mjs +3 -3
  52. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-column.component.mjs +3 -3
  53. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-edit.component.mjs +3 -3
  54. package/esm2022/common/lib/schema/widgets/checkbox/checkbox-widget-view.component.mjs +3 -3
  55. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +5 -5
  56. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +4 -4
  57. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +5 -5
  58. package/esm2022/common/lib/schema/widgets/common-widgets.module.mjs +4 -4
  59. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-column.component.mjs +3 -3
  60. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +5 -5
  61. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +3 -3
  62. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-view.component.mjs +4 -4
  63. package/esm2022/common/lib/schema/widgets/email/email-widget-column.component.mjs +3 -3
  64. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +5 -5
  65. package/esm2022/common/lib/schema/widgets/email/email-widget-view.component.mjs +3 -3
  66. package/esm2022/common/lib/schema/widgets/file/file-widget-column.component.mjs +3 -3
  67. package/esm2022/common/lib/schema/widgets/file/file-widget-edit.component.mjs +5 -5
  68. package/esm2022/common/lib/schema/widgets/file/file-widget-filter.component.mjs +3 -3
  69. package/esm2022/common/lib/schema/widgets/file/file-widget-view.component.mjs +5 -5
  70. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +4 -4
  71. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-filter.component.mjs +3 -3
  72. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +3 -3
  73. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-column.component.mjs +3 -3
  74. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +3 -3
  75. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +5 -5
  76. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-view.component.mjs +3 -3
  77. package/esm2022/common/lib/schema/widgets/map/map-widget-edit.component.mjs +3 -3
  78. package/esm2022/common/lib/schema/widgets/map/map-widget-view.component.mjs +3 -3
  79. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-column.component.mjs +3 -3
  80. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-edit.component.mjs +5 -5
  81. package/esm2022/common/lib/schema/widgets/messenger/messenger-widget-view.component.mjs +3 -3
  82. package/esm2022/common/lib/schema/widgets/number/number-widget-edit.component.mjs +3 -3
  83. package/esm2022/common/lib/schema/widgets/number/number-widget-view.component.mjs +3 -3
  84. package/esm2022/common/lib/schema/widgets/password/change-password.component.mjs +5 -5
  85. package/esm2022/common/lib/schema/widgets/password/password-widget-column.component.mjs +3 -3
  86. package/esm2022/common/lib/schema/widgets/password/password-widget-edit.component.mjs +3 -3
  87. package/esm2022/common/lib/schema/widgets/password/password-widget-view.component.mjs +4 -4
  88. package/esm2022/common/lib/schema/widgets/phone/phone-widget-column.component.mjs +3 -3
  89. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +5 -5
  90. package/esm2022/common/lib/schema/widgets/phone/phone-widget-view.component.mjs +3 -3
  91. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-column.component.mjs +3 -3
  92. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-edit.component.mjs +3 -3
  93. package/esm2022/common/lib/schema/widgets/rich-text/rich-text-widget-view.component.mjs +3 -3
  94. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-column.component.mjs +3 -3
  95. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-edit.component.mjs +3 -3
  96. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-filter.component.mjs +3 -3
  97. package/esm2022/common/lib/schema/widgets/selection-list/selection-list-widget-view.component.mjs +3 -3
  98. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-edit.component.mjs +5 -5
  99. package/esm2022/common/lib/schema/widgets/signature-pad/signature-pad-widget-view.component.mjs +3 -3
  100. package/esm2022/common/lib/schema/widgets/text/largetext-widget-edit.component.mjs +3 -3
  101. package/esm2022/common/lib/schema/widgets/text/text-widget-column.component.mjs +3 -3
  102. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +4 -4
  103. package/esm2022/common/lib/schema/widgets/text/text-widget-view.component.mjs +3 -3
  104. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-column.component.mjs +3 -3
  105. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-edit.component.mjs +3 -3
  106. package/esm2022/common/lib/schema/widgets/toggle/toggle-widget-view.component.mjs +3 -3
  107. package/esm2022/common/lib/settings/settings.service.mjs +3 -3
  108. package/esm2022/common/lib/store/common.effects.mjs +3 -3
  109. package/esm2022/common/lib/utils/clipboard-service.mjs +3 -3
  110. package/esm2022/common/lib/utils/pdf.service.mjs +3 -3
  111. package/esm2022/common/lib/utils/router-util.service.mjs +3 -3
  112. package/esm2022/common/lib/workflows/common.workflow.mjs +9 -9
  113. package/esm2022/common/lib/workflows/error-handler.mjs +3 -3
  114. package/esm2022/core/acorex-platform-core.mjs +5 -0
  115. package/esm2022/core/index.mjs +2 -0
  116. package/esm2022/core/lib/types.mjs +2 -0
  117. package/esm2022/layout/builder/lib/builder/builder.module.mjs +4 -4
  118. package/esm2022/layout/builder/lib/builder/builder.service.mjs +18 -4
  119. package/esm2022/layout/builder/lib/builder/layout.types.mjs +29 -1
  120. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +12 -5
  121. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +3 -3
  122. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +3 -3
  123. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +28 -10
  124. package/esm2022/layout/builder/lib/builder/widget.types.mjs +77 -19
  125. package/esm2022/layout/designer/acorex-platform-layout-designer.mjs +5 -0
  126. package/esm2022/layout/designer/index.mjs +3 -0
  127. package/esm2022/layout/designer/lib/components/widget-property-viewer.component.mjs +86 -0
  128. package/esm2022/layout/designer/lib/designer.module.mjs +36 -0
  129. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +3 -3
  130. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +4 -5
  131. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +5 -7
  132. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +3 -3
  133. package/esm2022/layout/entity/lib/entity-registery.service.mjs +3 -3
  134. package/esm2022/layout/entity/lib/entity.module.mjs +4 -4
  135. package/esm2022/layout/entity/lib/entity.viewmodel.mjs +2 -3
  136. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-column.component.mjs +3 -3
  137. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-designer.component.mjs +3 -3
  138. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +6 -6
  139. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-filter.component.mjs +3 -3
  140. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-print.component.mjs +3 -3
  141. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.component.mjs +5 -5
  142. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +57 -8
  143. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +4 -5
  144. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +3 -3
  145. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +6 -6
  146. package/esm2022/layout/entity/lib/workflows/show-details.workflow.mjs +3 -3
  147. package/esm2022/layout/entity/lib/workflows/show-list.workflow.mjs +3 -3
  148. package/esm2022/layouts/lib/admin/admin.module.mjs +4 -4
  149. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.component.mjs +4 -4
  150. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
  151. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +3 -3
  152. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +4 -4
  153. package/esm2022/layouts/lib/admin/entity-layout/entity-import-view/entity-import-view.component.mjs +4 -4
  154. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +4 -4
  155. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +3 -3
  156. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +3 -3
  157. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.mjs +3 -3
  158. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.mjs +3 -3
  159. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  160. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +3 -3
  161. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.module.mjs +4 -4
  162. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.component.mjs +4 -4
  163. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
  164. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +3 -3
  165. package/esm2022/layouts/lib/admin/entity-layout/workflows/create-entity.workflow.mjs +3 -3
  166. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +6 -6
  167. package/esm2022/layouts/lib/admin/entity-layout/workflows/import-entity.workflow.mjs +3 -3
  168. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +3 -3
  169. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-section.workflow.mjs +3 -3
  170. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-details.workflow.mjs +3 -3
  171. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-list.workflow.mjs +3 -3
  172. package/esm2022/layouts/lib/admin/entity-layout/workflows/show-quick-view.workflow.mjs +3 -3
  173. package/esm2022/layouts/lib/layout.module.mjs +4 -4
  174. package/esm2022/mocks/lib/mocks.module.mjs +4 -4
  175. package/esm2022/mocks/lib/services/mocker.service.mjs +3 -3
  176. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +4 -4
  177. package/esm2022/native/lib/native.module.mjs +4 -4
  178. package/esm2022/native/lib/native.service.mjs +3 -3
  179. package/esm2022/themes/default/lib/default.module.mjs +4 -4
  180. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +3 -3
  181. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +5 -5
  182. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +5 -5
  183. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +4 -4
  184. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-sorting/list-view-option-sorting.component.mjs +4 -4
  185. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +5 -5
  186. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +5 -5
  187. package/esm2022/themes/default/lib/layouts/root-layout/components/footer/footer.component.mjs +3 -3
  188. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +3 -3
  189. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +3 -3
  190. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +4 -4
  191. package/esm2022/themes/default/lib/pages/errors/error-401/error-401.component.mjs +4 -4
  192. package/esm2022/themes/default/lib/pages/errors/error-404/error-404.component.mjs +3 -3
  193. package/esm2022/themes/default/lib/pages/errors/error-offline/error-offline.component.mjs +3 -3
  194. package/esm2022/widgets/index.mjs +3 -1
  195. package/esm2022/widgets/lib/properties/editors.props.mjs +65 -0
  196. package/esm2022/widgets/lib/properties/groups.mjs +21 -0
  197. package/esm2022/widgets/lib/properties/index.mjs +4 -0
  198. package/esm2022/widgets/lib/properties/table-column.props.mjs +16 -0
  199. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget-view.component.mjs +33 -0
  200. package/esm2022/widgets/lib/widgets/actions/button-widget/button-widget.config.mjs +9 -0
  201. package/esm2022/widgets/lib/widgets/actions/button-widget/index.mjs +3 -0
  202. package/esm2022/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-column.component.mjs +4 -4
  203. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +45 -0
  204. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +54 -0
  205. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +15 -0
  206. package/esm2022/widgets/lib/widgets/editors/checkbox/index.mjs +3 -0
  207. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-column.component.mjs +19 -0
  208. package/esm2022/widgets/lib/{editors/password-box-widget/password-box-widget-column.component.mjs → widgets/editors/contact-widget/contact-widget-designer.component.mjs} +5 -5
  209. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-edit.component.mjs +267 -0
  210. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-filter.component.mjs +20 -0
  211. package/esm2022/widgets/lib/{editors/select-box-widget/select-box-widget-filter.component.mjs → widgets/editors/contact-widget/contact-widget-print.component.mjs} +5 -5
  212. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget-view.component.mjs +20 -0
  213. package/esm2022/widgets/lib/widgets/editors/contact-widget/contact-widget.config.mjs +24 -0
  214. package/esm2022/widgets/lib/widgets/editors/contact-widget/index.mjs +8 -0
  215. package/esm2022/widgets/lib/widgets/editors/contact-widget/popup-component.mjs +78 -0
  216. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +44 -0
  217. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +19 -0
  218. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +122 -0
  219. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +20 -0
  220. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +19 -0
  221. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +45 -0
  222. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/date-time-box-widget.config.mjs +24 -0
  223. package/esm2022/widgets/lib/widgets/editors/date-time-box-widget/index.mjs +8 -0
  224. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-column.component.mjs +66 -0
  225. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-designer.component.mjs +19 -0
  226. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-edit.component.mjs +228 -0
  227. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-filter.component.mjs +20 -0
  228. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-print.component.mjs +19 -0
  229. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget-view.component.mjs +111 -0
  230. package/esm2022/widgets/lib/widgets/editors/email-box-widget/email-box-widget.config.mjs +24 -0
  231. package/esm2022/widgets/lib/widgets/editors/email-box-widget/index.mjs +8 -0
  232. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-column.component.mjs +19 -0
  233. package/esm2022/widgets/lib/{editors/signature-pad-widget/signature-pad-widget-column.component.mjs → widgets/editors/file-box-widget/file-box-widget-designer.component.mjs} +5 -5
  234. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-edit.component.mjs +118 -0
  235. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-filter.component.mjs +20 -0
  236. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-print.component.mjs +19 -0
  237. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget-view.component.mjs +213 -0
  238. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.config.mjs +24 -0
  239. package/esm2022/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.mjs +3 -0
  240. package/esm2022/widgets/lib/widgets/editors/file-box-widget/index.mjs +9 -0
  241. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-column.component.mjs +19 -0
  242. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-designer.component.mjs +19 -0
  243. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-edit.component.mjs +172 -0
  244. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-filter.component.mjs +20 -0
  245. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-print.component.mjs +19 -0
  246. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-types.mjs +2 -0
  247. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget-view.component.mjs +159 -0
  248. package/esm2022/widgets/lib/widgets/editors/gallery-widget/gallery-widget.config.mjs +24 -0
  249. package/esm2022/widgets/lib/widgets/editors/gallery-widget/index.mjs +8 -0
  250. package/esm2022/widgets/lib/widgets/editors/large-text-widget/index.mjs +8 -0
  251. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-column.component.mjs +23 -0
  252. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-designer.component.mjs +19 -0
  253. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-edit.component.mjs +55 -0
  254. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-filter.component.mjs +20 -0
  255. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-print.component.mjs +19 -0
  256. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget-view.component.mjs +31 -0
  257. package/esm2022/widgets/lib/widgets/editors/large-text-widget/large-text-widget.config.mjs +33 -0
  258. package/esm2022/widgets/lib/widgets/editors/link-widget/index.mjs +8 -0
  259. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-column.component.mjs +19 -0
  260. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-designer.component.mjs +19 -0
  261. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-edit.component.mjs +390 -0
  262. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-filter.component.mjs +20 -0
  263. package/esm2022/widgets/lib/{editors/map-box-widget/map-box-widget-column.component.mjs → widgets/editors/link-widget/link-widget-print.component.mjs} +5 -5
  264. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget-view.component.mjs +120 -0
  265. package/esm2022/widgets/lib/widgets/editors/link-widget/link-widget.config.mjs +24 -0
  266. package/esm2022/widgets/lib/widgets/editors/map-box-widget/index.mjs +8 -0
  267. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-column.component.mjs +19 -0
  268. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-designer.component.mjs +19 -0
  269. package/esm2022/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-edit.component.mjs +4 -4
  270. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-filter.component.mjs +20 -0
  271. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget-print.component.mjs +19 -0
  272. package/esm2022/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-view.component.mjs +4 -4
  273. package/esm2022/widgets/lib/widgets/editors/map-box-widget/map-box-widget.config.mjs +24 -0
  274. package/esm2022/widgets/lib/widgets/editors/number-box-widget/index.mjs +8 -0
  275. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-column.component.mjs +38 -0
  276. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-designer.component.mjs +19 -0
  277. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-edit.component.mjs +138 -0
  278. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-filter.component.mjs +20 -0
  279. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-print.component.mjs +19 -0
  280. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget-view.component.mjs +53 -0
  281. package/esm2022/widgets/lib/widgets/editors/number-box-widget/number-box-widget.config.mjs +31 -0
  282. package/esm2022/widgets/lib/widgets/editors/password-box-widget/index.mjs +8 -0
  283. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-column.component.mjs +19 -0
  284. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-designer.component.mjs +19 -0
  285. package/esm2022/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-edit.component.mjs +4 -4
  286. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-filter.component.mjs +20 -0
  287. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-print.component.mjs +19 -0
  288. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget-view.component.mjs +73 -0
  289. package/esm2022/widgets/lib/widgets/editors/password-box-widget/password-box-widget.config.mjs +24 -0
  290. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/index.mjs +8 -0
  291. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-column.component.mjs +66 -0
  292. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-designer.component.mjs +19 -0
  293. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-edit.component.mjs +220 -0
  294. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-filter.component.mjs +20 -0
  295. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-print.component.mjs +19 -0
  296. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget-view.component.mjs +113 -0
  297. package/esm2022/widgets/lib/widgets/editors/phone-box-widget/phone-box-widget.config.mjs +37 -0
  298. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/index.mjs +8 -0
  299. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-column.component.mjs +23 -0
  300. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-designer.component.mjs +19 -0
  301. package/esm2022/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-edit.component.mjs +4 -4
  302. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-filter.component.mjs +20 -0
  303. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-print.component.mjs +19 -0
  304. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget-view.component.mjs +39 -0
  305. package/esm2022/widgets/lib/widgets/editors/rich-text-widget/rich-text-widget.config.mjs +24 -0
  306. package/esm2022/widgets/lib/widgets/editors/select-box-widget/index.mjs +8 -0
  307. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-column.component.mjs +19 -0
  308. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-designer.component.mjs +19 -0
  309. package/esm2022/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-edit.component.mjs +4 -4
  310. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-filter.component.mjs +19 -0
  311. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-print.component.mjs +19 -0
  312. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget-view.component.mjs +60 -0
  313. package/esm2022/widgets/lib/widgets/editors/select-box-widget/select-box-widget.config.mjs +24 -0
  314. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/index.mjs +8 -0
  315. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-column.component.mjs +41 -0
  316. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-designer.component.mjs +19 -0
  317. package/esm2022/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-edit.component.mjs +4 -4
  318. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-filter.component.mjs +20 -0
  319. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-print.component.mjs +19 -0
  320. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget-view.component.mjs +41 -0
  321. package/esm2022/widgets/lib/widgets/editors/selection-list-widget/selection-list-widget.config.mjs +24 -0
  322. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/index.mjs +8 -0
  323. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-column.component.mjs +19 -0
  324. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +19 -0
  325. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +140 -0
  326. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +20 -0
  327. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +19 -0
  328. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +42 -0
  329. package/esm2022/widgets/lib/widgets/editors/signature-pad-widget/signature-pad-widget.config.mjs +24 -0
  330. package/esm2022/widgets/lib/widgets/editors/text-box-widget/index.mjs +8 -0
  331. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-column.component.mjs +20 -0
  332. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-designer.component.mjs +19 -0
  333. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-edit.component.mjs +121 -0
  334. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-filter.component.mjs +20 -0
  335. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-print.component.mjs +19 -0
  336. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget-view.component.mjs +40 -0
  337. package/esm2022/widgets/lib/widgets/editors/text-box-widget/text-box-widget.config.mjs +37 -0
  338. package/esm2022/widgets/lib/widgets/editors/toggle-widget/index.mjs +8 -0
  339. package/esm2022/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-column.component.mjs +4 -4
  340. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-designer.component.mjs +19 -0
  341. package/esm2022/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-edit.component.mjs +4 -5
  342. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-filter.component.mjs +20 -0
  343. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget-print.component.mjs +19 -0
  344. package/esm2022/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-view.component.mjs +4 -4
  345. package/esm2022/widgets/lib/widgets/editors/toggle-widget/toggle-widget.config.mjs +24 -0
  346. package/esm2022/widgets/lib/widgets/index.mjs +24 -0
  347. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.component.mjs +34 -0
  348. package/esm2022/widgets/lib/widgets/layout/block-widget/block-widget.config.mjs +9 -0
  349. package/esm2022/widgets/lib/widgets/layout/block-widget/index.mjs +3 -0
  350. package/esm2022/widgets/lib/widgets/layout/repeater-widget/index.mjs +8 -0
  351. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-column.component.mjs +19 -0
  352. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.mjs +19 -0
  353. package/esm2022/widgets/lib/{editors/large-text-widget/large-text-widget-filter.component.mjs → widgets/layout/repeater-widget/repeater-widget-edit.component.mjs} +5 -5
  354. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-filter.component.mjs +20 -0
  355. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.mjs +19 -0
  356. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.mjs +52 -0
  357. package/esm2022/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.mjs +24 -0
  358. package/esm2022/widgets/lib/widgets.module.mjs +10 -24
  359. package/esm2022/workflow/lib/actions/start-workflow.action.mjs +3 -3
  360. package/esm2022/workflow/lib/workflow-event-dispatcher.service.mjs +3 -3
  361. package/esm2022/workflow/lib/workflow-registery.service.mjs +3 -3
  362. package/esm2022/workflow/lib/workflow.module.mjs +4 -4
  363. package/esm2022/workflow/lib/workflow.service.mjs +3 -3
  364. package/esm2022/workflow/lib/workflow.types.mjs +6 -6
  365. package/fesm2022/acorex-platform-auth.mjs +70 -28
  366. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  367. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs → acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs} +4 -4
  368. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-BtnVjoMi.mjs.map → acorex-platform-common-avatar-widget-edit.component-CfqY7kKi.mjs.map} +1 -1
  369. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs → acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs} +4 -4
  370. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-0-hGLYLK.mjs.map → acorex-platform-common-avatar-widget-view.component-DXC7INdQ.mjs.map} +1 -1
  371. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs → acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs} +5 -5
  372. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-CMkjO_x1.mjs.map → acorex-platform-common-boolean-widget-filter.component-DLGnsXy4.mjs.map} +1 -1
  373. package/fesm2022/{acorex-platform-common-change-password.component-CULJjn0l.mjs → acorex-platform-common-change-password.component-BBPFxmB6.mjs} +5 -5
  374. package/fesm2022/{acorex-platform-common-change-password.component-CULJjn0l.mjs.map → acorex-platform-common-change-password.component-BBPFxmB6.mjs.map} +1 -1
  375. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs → acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs} +4 -4
  376. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-C91gG8nm.mjs.map → acorex-platform-common-checkbox-widget-column.component-Ch2bdAjo.mjs.map} +1 -1
  377. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs → acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs} +4 -4
  378. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-_jtT03Vn.mjs.map → acorex-platform-common-checkbox-widget-edit.component-DOGMfGby.mjs.map} +1 -1
  379. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs → acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs} +4 -4
  380. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-BDAtJB1B.mjs.map → acorex-platform-common-checkbox-widget-view.component-BhGOtblX.mjs.map} +1 -1
  381. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs → acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs} +4 -4
  382. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-5ljYmtHI.mjs.map → acorex-platform-common-dateTime-widget-column.component-BkUDt0Kj.mjs.map} +1 -1
  383. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs → acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs} +5 -5
  384. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DdqtbOY1.mjs.map → acorex-platform-common-dateTime-widget-edit.component-DEqsapFH.mjs.map} +1 -1
  385. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs → acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs} +4 -4
  386. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-BjtIJkeC.mjs.map → acorex-platform-common-dateTime-widget-filter.component-CqddjYjP.mjs.map} +1 -1
  387. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs → acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs} +4 -4
  388. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-BKUPKE9M.mjs.map +1 -0
  389. package/fesm2022/{acorex-platform-common-email-widget-column.component-DlPoexcx.mjs → acorex-platform-common-email-widget-column.component-BOer2nZi.mjs} +4 -4
  390. package/fesm2022/{acorex-platform-common-email-widget-column.component-DlPoexcx.mjs.map → acorex-platform-common-email-widget-column.component-BOer2nZi.mjs.map} +1 -1
  391. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs → acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs} +5 -5
  392. package/fesm2022/{acorex-platform-common-email-widget-edit.component-CLl0gmdM.mjs.map → acorex-platform-common-email-widget-edit.component-BoKsGiEI.mjs.map} +1 -1
  393. package/fesm2022/{acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs → acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs} +4 -4
  394. package/fesm2022/{acorex-platform-common-email-widget-view.component-C4M7KGUS.mjs.map → acorex-platform-common-email-widget-view.component-BZtK5dMd.mjs.map} +1 -1
  395. package/fesm2022/{acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs → acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs} +4 -4
  396. package/fesm2022/{acorex-platform-common-file-widget-column.component-CwFzLLHt.mjs.map → acorex-platform-common-file-widget-column.component-DpcUmwAT.mjs.map} +1 -1
  397. package/fesm2022/{acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs → acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs} +5 -5
  398. package/fesm2022/{acorex-platform-common-file-widget-edit.component-ZXhaXwWN.mjs.map → acorex-platform-common-file-widget-edit.component-CNLXguLn.mjs.map} +1 -1
  399. package/fesm2022/{acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs → acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs} +4 -4
  400. package/fesm2022/{acorex-platform-common-file-widget-filter.component-DqYmxdx_.mjs.map → acorex-platform-common-file-widget-filter.component-Dwt-LYWG.mjs.map} +1 -1
  401. package/fesm2022/{acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs → acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs} +5 -5
  402. package/fesm2022/{acorex-platform-common-file-widget-view.component-B0C9oJLT.mjs.map → acorex-platform-common-file-widget-view.component-CjDhjHQR.mjs.map} +1 -1
  403. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs → acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs} +5 -5
  404. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DB0-6pik.mjs.map → acorex-platform-common-gallery-widget-edit.component-CzKFKaPH.mjs.map} +1 -1
  405. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs → acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs} +4 -4
  406. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Btrq4HP9.mjs.map → acorex-platform-common-gallery-widget-filter.component-B-KxKtY4.mjs.map} +1 -1
  407. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs → acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs} +4 -4
  408. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-Bp5cEEiY.mjs.map → acorex-platform-common-gallery-widget-view.component-ca-JB8qW.mjs.map} +1 -1
  409. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs → acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs} +4 -4
  410. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-DJhPlQ0G.mjs.map → acorex-platform-common-largetext-widget-edit.component-CrqPJ58V.mjs.map} +1 -1
  411. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs → acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs} +4 -4
  412. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CtvP7V_w.mjs.map → acorex-platform-common-lookup-widget-column.component-BEZNLQZi.mjs.map} +1 -1
  413. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs → acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs} +4 -4
  414. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-JjtWsg2g.mjs.map → acorex-platform-common-lookup-widget-edit.component-D50jPeKP.mjs.map} +1 -1
  415. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs → acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs} +5 -5
  416. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-B4C5JB_p.mjs.map → acorex-platform-common-lookup-widget-filter.component-CZHDDnR3.mjs.map} +1 -1
  417. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs → acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs} +4 -4
  418. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BHqYDEuU.mjs.map → acorex-platform-common-lookup-widget-view.component-CQCvJxgi.mjs.map} +1 -1
  419. package/fesm2022/{acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs → acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs} +4 -4
  420. package/fesm2022/{acorex-platform-common-map-widget-edit.component-BjrRrklq.mjs.map → acorex-platform-common-map-widget-edit.component-OanYRQ3B.mjs.map} +1 -1
  421. package/fesm2022/{acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs → acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs} +4 -4
  422. package/fesm2022/{acorex-platform-common-map-widget-view.component-C5gL9-oB.mjs.map → acorex-platform-common-map-widget-view.component-BWdndMYJ.mjs.map} +1 -1
  423. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs → acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs} +4 -4
  424. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BQSYcyso.mjs.map → acorex-platform-common-messenger-widget-column.component-BHP6R3OI.mjs.map} +1 -1
  425. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs → acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs} +5 -5
  426. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BjqtP0ls.mjs.map → acorex-platform-common-messenger-widget-edit.component-B7ycb6tX.mjs.map} +1 -1
  427. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs → acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs} +4 -4
  428. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-B4Yt68Vn.mjs.map → acorex-platform-common-messenger-widget-view.component-Dz5X-FS5.mjs.map} +1 -1
  429. package/fesm2022/{acorex-platform-common-number-widget-edit.component-D9dC514F.mjs → acorex-platform-common-number-widget-edit.component-bTHacO49.mjs} +4 -4
  430. package/fesm2022/{acorex-platform-common-number-widget-edit.component-D9dC514F.mjs.map → acorex-platform-common-number-widget-edit.component-bTHacO49.mjs.map} +1 -1
  431. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs → acorex-platform-common-number-widget-filter.component-CFqNphMw.mjs} +5 -5
  432. package/fesm2022/{acorex-platform-common-number-widget-filter.component-BkKeBL6p.mjs.map → acorex-platform-common-number-widget-filter.component-CFqNphMw.mjs.map} +1 -1
  433. package/fesm2022/{acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs → acorex-platform-common-number-widget-view.component-CP5aboLU.mjs} +4 -4
  434. package/fesm2022/{acorex-platform-common-number-widget-view.component-DD0tkoc4.mjs.map → acorex-platform-common-number-widget-view.component-CP5aboLU.mjs.map} +1 -1
  435. package/fesm2022/{acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs → acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs} +4 -4
  436. package/fesm2022/{acorex-platform-common-password-widget-column.component-C0-x1_Np.mjs.map → acorex-platform-common-password-widget-column.component-CGxTbd_S.mjs.map} +1 -1
  437. package/fesm2022/{acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs → acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs} +4 -4
  438. package/fesm2022/{acorex-platform-common-password-widget-edit.component-BbYqIGEP.mjs.map → acorex-platform-common-password-widget-edit.component-CHQ_Kp4t.mjs.map} +1 -1
  439. package/fesm2022/{acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs → acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs} +6 -6
  440. package/fesm2022/{acorex-platform-common-password-widget-view.component-B6vGWi9I.mjs.map → acorex-platform-common-password-widget-view.component-BQ9jlt6g.mjs.map} +1 -1
  441. package/fesm2022/{acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs → acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs} +4 -4
  442. package/fesm2022/{acorex-platform-common-phone-widget-column.component-uAeAPCog.mjs.map → acorex-platform-common-phone-widget-column.component-RJp6wHul.mjs.map} +1 -1
  443. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs → acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs} +5 -5
  444. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Dj_tdhZw.mjs.map → acorex-platform-common-phone-widget-edit.component-BB5wTbjd.mjs.map} +1 -1
  445. package/fesm2022/{acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs → acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs} +4 -4
  446. package/fesm2022/{acorex-platform-common-phone-widget-view.component-D_A5NXzA.mjs.map → acorex-platform-common-phone-widget-view.component-SIzFWfjV.mjs.map} +1 -1
  447. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs → acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs} +4 -4
  448. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-DDJn1WqG.mjs.map → acorex-platform-common-rich-text-widget-column.component-Ced0WqvI.mjs.map} +1 -1
  449. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs → acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs} +4 -4
  450. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-f30-VPMJ.mjs.map → acorex-platform-common-rich-text-widget-edit.component-CnH3MjYz.mjs.map} +1 -1
  451. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs → acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs} +4 -4
  452. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Y214kMe4.mjs.map → acorex-platform-common-rich-text-widget-view.component-BIRyPRtw.mjs.map} +1 -1
  453. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs → acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs} +4 -4
  454. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-4uQzk7WQ.mjs.map → acorex-platform-common-selection-list-widget-column.component-DxeK2RPc.mjs.map} +1 -1
  455. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs → acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs} +4 -4
  456. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-BY7A969M.mjs.map → acorex-platform-common-selection-list-widget-edit.component-CBLEeILz.mjs.map} +1 -1
  457. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs → acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs} +4 -4
  458. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-hbxBcirf.mjs.map → acorex-platform-common-selection-list-widget-filter.component-B01t7mso.mjs.map} +1 -1
  459. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs → acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs} +4 -4
  460. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-HzxEiWgp.mjs.map → acorex-platform-common-selection-list-widget-view.component-QJMp11dd.mjs.map} +1 -1
  461. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs → acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs} +5 -5
  462. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-C6VI3F_S.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-BQiY7RIp.mjs.map} +1 -1
  463. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs → acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs} +4 -4
  464. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CEiBtv9t.mjs.map → acorex-platform-common-signature-pad-widget-view.component-CEhRqgEn.mjs.map} +1 -1
  465. package/fesm2022/{acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs → acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs} +5 -5
  466. package/fesm2022/{acorex-platform-common-string-widget-filter.component-BZiyRHfg.mjs.map → acorex-platform-common-string-widget-filter.component--L4PeRCB.mjs.map} +1 -1
  467. package/fesm2022/{acorex-platform-common-text-widget-column.component-qXusAevm.mjs → acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs} +4 -4
  468. package/fesm2022/{acorex-platform-common-text-widget-column.component-qXusAevm.mjs.map → acorex-platform-common-text-widget-column.component-D-mLfzKJ.mjs.map} +1 -1
  469. package/fesm2022/{acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs → acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs} +5 -5
  470. package/fesm2022/{acorex-platform-common-text-widget-edit.component-DSwPteMX.mjs.map → acorex-platform-common-text-widget-edit.component-CN7OyTfJ.mjs.map} +1 -1
  471. package/fesm2022/{acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs → acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs} +4 -4
  472. package/fesm2022/{acorex-platform-common-text-widget-view.component-CKg9nvbY.mjs.map → acorex-platform-common-text-widget-view.component-B-R4-5Ra.mjs.map} +1 -1
  473. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs → acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs} +4 -4
  474. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-_IrciAj-.mjs.map → acorex-platform-common-toggle-widget-column.component-B5NFRPgX.mjs.map} +1 -1
  475. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs → acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs} +4 -4
  476. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-CDG62BJN.mjs.map → acorex-platform-common-toggle-widget-edit.component-CLWHwf8V.mjs.map} +1 -1
  477. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs → acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs} +4 -4
  478. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-B5JwQ8X-.mjs.map → acorex-platform-common-toggle-widget-view.component-Di2S7vub.mjs.map} +1 -1
  479. package/fesm2022/acorex-platform-common.mjs +168 -168
  480. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  481. package/fesm2022/acorex-platform-core.mjs +4 -0
  482. package/fesm2022/acorex-platform-core.mjs.map +1 -0
  483. package/fesm2022/acorex-platform-layout-builder.mjs +169 -43
  484. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  485. package/fesm2022/acorex-platform-layout-designer.mjs +125 -0
  486. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -0
  487. package/fesm2022/acorex-platform-layout-entity.mjs +116 -76
  488. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  489. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs → acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs} +4 -4
  490. package/fesm2022/{acorex-platform-layouts-entity-create-view.component-DgPPnU8S.mjs.map → acorex-platform-layouts-entity-create-view.component-B2XtNJo1.mjs.map} +1 -1
  491. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs → acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs} +4 -4
  492. package/fesm2022/{acorex-platform-layouts-entity-import-view.component-V50y5Jjs.mjs.map → acorex-platform-layouts-entity-import-view.component-CZpEcVi9.mjs.map} +1 -1
  493. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs → acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs} +4 -4
  494. package/fesm2022/{acorex-platform-layouts-entity-modify-view.component-Bwz4yVpK.mjs.map → acorex-platform-layouts-entity-modify-view.component-CjofXJku.mjs.map} +1 -1
  495. package/fesm2022/acorex-platform-layouts.mjs +80 -80
  496. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  497. package/fesm2022/acorex-platform-mocks.mjs +10 -10
  498. package/fesm2022/acorex-platform-mocks.mjs.map +1 -1
  499. package/fesm2022/acorex-platform-native.mjs +7 -7
  500. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs → acorex-platform-themes-default-entity-master-create-view.component-D1vzPrng.mjs} +5 -5
  501. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-qOxuoK6c.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-D1vzPrng.mjs.map} +1 -1
  502. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs → acorex-platform-themes-default-entity-master-modify-view.component-DCE6c3Is.mjs} +5 -5
  503. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BJcpG94Q.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-DCE6c3Is.mjs.map} +1 -1
  504. package/fesm2022/{acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs} +4 -4
  505. package/fesm2022/{acorex-platform-themes-default-error-401.component-BeQ4_BgW.mjs.map → acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs.map} +1 -1
  506. package/fesm2022/{acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs} +4 -4
  507. package/fesm2022/{acorex-platform-themes-default-error-404.component-BYDiT6Ns.mjs.map → acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs.map} +1 -1
  508. package/fesm2022/{acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs} +4 -4
  509. package/fesm2022/{acorex-platform-themes-default-error-offline.component-DUtW3w_g.mjs.map → acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs.map} +1 -1
  510. package/fesm2022/acorex-platform-themes-default.mjs +41 -41
  511. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  512. package/fesm2022/{acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs → acorex-platform-widgets-checkbox-widget-column.component-CJUV6lFi.mjs} +4 -4
  513. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CJUV6lFi.mjs.map +1 -0
  514. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs → acorex-platform-widgets-checkbox-widget-view.component-T-tXqoMd.mjs} +4 -4
  515. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-T-tXqoMd.mjs.map +1 -0
  516. package/fesm2022/acorex-platform-widgets.mjs +1141 -793
  517. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  518. package/fesm2022/acorex-platform-workflow.mjs +22 -22
  519. package/layout/builder/lib/builder/builder.service.d.ts +10 -0
  520. package/layout/builder/lib/builder/layout.types.d.ts +1 -30
  521. package/layout/builder/lib/builder/widget-renderer.component.d.ts +4 -2
  522. package/layout/builder/lib/builder/widget.types.d.ts +58 -23
  523. package/layout/designer/README.md +4 -0
  524. package/layout/designer/index.d.ts +2 -0
  525. package/layout/designer/lib/components/widget-property-viewer.component.d.ts +41 -0
  526. package/layout/designer/lib/designer.module.d.ts +12 -0
  527. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +2 -1
  528. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +12 -0
  529. package/package.json +19 -8
  530. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +3 -3
  531. package/widgets/index.d.ts +2 -0
  532. package/widgets/lib/properties/editors.props.d.ts +6 -0
  533. package/widgets/lib/properties/groups.d.ts +5 -0
  534. package/widgets/lib/properties/index.d.ts +3 -0
  535. package/widgets/lib/properties/table-column.props.d.ts +2 -0
  536. package/widgets/lib/widgets/actions/button-widget/button-widget-view.component.d.ts +11 -0
  537. package/widgets/lib/widgets/actions/button-widget/button-widget.config.d.ts +2 -0
  538. package/widgets/lib/widgets/actions/button-widget/index.d.ts +2 -0
  539. package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget-edit.component.d.ts +1 -1
  540. package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-column.component.d.ts +1 -1
  541. package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-edit.component.d.ts +1 -1
  542. package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-edit.component.d.ts +1 -1
  543. package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-edit.component.d.ts +8 -3
  544. package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-view.component.d.ts +16 -4
  545. package/widgets/lib/widgets/editors/file-box-widget/file-box-widget.service.d.ts +12 -0
  546. package/widgets/lib/{editors → widgets/editors}/file-box-widget/index.d.ts +4 -3
  547. package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget-edit.component.d.ts +4 -2
  548. package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-edit.component.d.ts +1 -1
  549. package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-edit.component.d.ts +1 -1
  550. package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-view.component.d.ts +1 -1
  551. package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-edit.component.d.ts +1 -1
  552. package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-view.component.d.ts +1 -1
  553. package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-edit.component.d.ts +1 -1
  554. package/widgets/lib/widgets/index.d.ts +21 -0
  555. package/widgets/lib/widgets/layout/repeater-widget/index.d.ts +7 -0
  556. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-column.component.d.ts +6 -0
  557. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-designer.component.d.ts +6 -0
  558. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-edit.component.d.ts +6 -0
  559. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-filter.component.d.ts +6 -0
  560. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-print.component.d.ts +6 -0
  561. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget-view.component.d.ts +11 -0
  562. package/widgets/lib/widgets/layout/repeater-widget/repeater-widget.config.d.ts +2 -0
  563. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-edit.component.mjs +0 -45
  564. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget-view.component.mjs +0 -54
  565. package/esm2022/widgets/lib/editors/checkbox/checkbox-widget.config.mjs +0 -15
  566. package/esm2022/widgets/lib/editors/checkbox/index.mjs +0 -3
  567. package/esm2022/widgets/lib/editors/contact-widget/contact-widget-column.component.mjs +0 -19
  568. package/esm2022/widgets/lib/editors/contact-widget/contact-widget-designer.component.mjs +0 -19
  569. package/esm2022/widgets/lib/editors/contact-widget/contact-widget-edit.component.mjs +0 -267
  570. package/esm2022/widgets/lib/editors/contact-widget/contact-widget-filter.component.mjs +0 -20
  571. package/esm2022/widgets/lib/editors/contact-widget/contact-widget-print.component.mjs +0 -19
  572. package/esm2022/widgets/lib/editors/contact-widget/contact-widget-view.component.mjs +0 -20
  573. package/esm2022/widgets/lib/editors/contact-widget/contact-widget.config.mjs +0 -24
  574. package/esm2022/widgets/lib/editors/contact-widget/index.mjs +0 -8
  575. package/esm2022/widgets/lib/editors/contact-widget/popup-component.mjs +0 -78
  576. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-column.component.mjs +0 -44
  577. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-designer.component.mjs +0 -19
  578. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-edit.component.mjs +0 -122
  579. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-filter.component.mjs +0 -20
  580. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-print.component.mjs +0 -19
  581. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget-view.component.mjs +0 -45
  582. package/esm2022/widgets/lib/editors/date-time-box-widget/date-time-box-widget.config.mjs +0 -24
  583. package/esm2022/widgets/lib/editors/date-time-box-widget/index.mjs +0 -8
  584. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-column.component.mjs +0 -66
  585. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-designer.component.mjs +0 -19
  586. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-edit.component.mjs +0 -228
  587. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-filter.component.mjs +0 -20
  588. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-print.component.mjs +0 -19
  589. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget-view.component.mjs +0 -111
  590. package/esm2022/widgets/lib/editors/email-box-widget/email-box-widget.config.mjs +0 -24
  591. package/esm2022/widgets/lib/editors/email-box-widget/index.mjs +0 -8
  592. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-column.component.mjs +0 -19
  593. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-designer.component.mjs +0 -19
  594. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-edit.component.mjs +0 -189
  595. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-filter.component.mjs +0 -20
  596. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-print.component.mjs +0 -19
  597. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget-view.component.mjs +0 -147
  598. package/esm2022/widgets/lib/editors/file-box-widget/file-box-widget.config.mjs +0 -24
  599. package/esm2022/widgets/lib/editors/file-box-widget/index.mjs +0 -8
  600. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-column.component.mjs +0 -19
  601. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-designer.component.mjs +0 -19
  602. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-edit.component.mjs +0 -172
  603. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-filter.component.mjs +0 -20
  604. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-print.component.mjs +0 -19
  605. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-types.mjs +0 -2
  606. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget-view.component.mjs +0 -159
  607. package/esm2022/widgets/lib/editors/gallery-widget/gallery-widget.config.mjs +0 -24
  608. package/esm2022/widgets/lib/editors/gallery-widget/index.mjs +0 -8
  609. package/esm2022/widgets/lib/editors/large-text-widget/index.mjs +0 -8
  610. package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-column.component.mjs +0 -23
  611. package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-designer.component.mjs +0 -19
  612. package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-edit.component.mjs +0 -47
  613. package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-print.component.mjs +0 -19
  614. package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget-view.component.mjs +0 -31
  615. package/esm2022/widgets/lib/editors/large-text-widget/large-text-widget.config.mjs +0 -24
  616. package/esm2022/widgets/lib/editors/link-widget/index.mjs +0 -8
  617. package/esm2022/widgets/lib/editors/link-widget/link-widget-column.component.mjs +0 -19
  618. package/esm2022/widgets/lib/editors/link-widget/link-widget-designer.component.mjs +0 -19
  619. package/esm2022/widgets/lib/editors/link-widget/link-widget-edit.component.mjs +0 -391
  620. package/esm2022/widgets/lib/editors/link-widget/link-widget-filter.component.mjs +0 -20
  621. package/esm2022/widgets/lib/editors/link-widget/link-widget-print.component.mjs +0 -19
  622. package/esm2022/widgets/lib/editors/link-widget/link-widget-view.component.mjs +0 -120
  623. package/esm2022/widgets/lib/editors/link-widget/link-widget.config.mjs +0 -24
  624. package/esm2022/widgets/lib/editors/map-box-widget/index.mjs +0 -8
  625. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-designer.component.mjs +0 -19
  626. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-filter.component.mjs +0 -20
  627. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget-print.component.mjs +0 -19
  628. package/esm2022/widgets/lib/editors/map-box-widget/map-box-widget.config.mjs +0 -24
  629. package/esm2022/widgets/lib/editors/number-box-widget/index.mjs +0 -8
  630. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-column.component.mjs +0 -38
  631. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-designer.component.mjs +0 -19
  632. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-edit.component.mjs +0 -138
  633. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-filter.component.mjs +0 -20
  634. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-print.component.mjs +0 -19
  635. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget-view.component.mjs +0 -53
  636. package/esm2022/widgets/lib/editors/number-box-widget/number-box-widget.config.mjs +0 -27
  637. package/esm2022/widgets/lib/editors/password-box-widget/index.mjs +0 -8
  638. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-designer.component.mjs +0 -19
  639. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-filter.component.mjs +0 -20
  640. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-print.component.mjs +0 -19
  641. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget-view.component.mjs +0 -73
  642. package/esm2022/widgets/lib/editors/password-box-widget/password-box-widget.config.mjs +0 -24
  643. package/esm2022/widgets/lib/editors/phone-box-widget/index.mjs +0 -8
  644. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-column.component.mjs +0 -66
  645. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-designer.component.mjs +0 -19
  646. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-edit.component.mjs +0 -220
  647. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-filter.component.mjs +0 -20
  648. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-print.component.mjs +0 -19
  649. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget-view.component.mjs +0 -113
  650. package/esm2022/widgets/lib/editors/phone-box-widget/phone-box-widget.config.mjs +0 -24
  651. package/esm2022/widgets/lib/editors/rich-text-widget/index.mjs +0 -8
  652. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-column.component.mjs +0 -23
  653. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-designer.component.mjs +0 -19
  654. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-filter.component.mjs +0 -20
  655. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-print.component.mjs +0 -19
  656. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget-view.component.mjs +0 -39
  657. package/esm2022/widgets/lib/editors/rich-text-widget/rich-text-widget.config.mjs +0 -24
  658. package/esm2022/widgets/lib/editors/select-box-widget/index.mjs +0 -8
  659. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-column.component.mjs +0 -19
  660. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-designer.component.mjs +0 -19
  661. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-print.component.mjs +0 -19
  662. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget-view.component.mjs +0 -60
  663. package/esm2022/widgets/lib/editors/select-box-widget/select-box-widget.config.mjs +0 -24
  664. package/esm2022/widgets/lib/editors/selection-list-widget/index.mjs +0 -8
  665. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-column.component.mjs +0 -41
  666. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-designer.component.mjs +0 -19
  667. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-filter.component.mjs +0 -20
  668. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-print.component.mjs +0 -19
  669. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget-view.component.mjs +0 -41
  670. package/esm2022/widgets/lib/editors/selection-list-widget/selection-list-widget.config.mjs +0 -24
  671. package/esm2022/widgets/lib/editors/signature-pad-widget/index.mjs +0 -8
  672. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-designer.component.mjs +0 -19
  673. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-edit.component.mjs +0 -140
  674. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-filter.component.mjs +0 -20
  675. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-print.component.mjs +0 -19
  676. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget-view.component.mjs +0 -42
  677. package/esm2022/widgets/lib/editors/signature-pad-widget/signature-pad-widget.config.mjs +0 -24
  678. package/esm2022/widgets/lib/editors/text-box-widget/index.mjs +0 -8
  679. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-column.component.mjs +0 -20
  680. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-designer.component.mjs +0 -19
  681. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-edit.component.mjs +0 -121
  682. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-filter.component.mjs +0 -20
  683. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-print.component.mjs +0 -19
  684. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget-view.component.mjs +0 -40
  685. package/esm2022/widgets/lib/editors/text-box-widget/text-box-widget.config.mjs +0 -25
  686. package/esm2022/widgets/lib/editors/toggle-widget/index.mjs +0 -8
  687. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-designer.component.mjs +0 -19
  688. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-filter.component.mjs +0 -20
  689. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget-print.component.mjs +0 -19
  690. package/esm2022/widgets/lib/editors/toggle-widget/toggle-widget.config.mjs +0 -24
  691. package/esm2022/widgets/lib/layout/block-widget/block-widget.component.mjs +0 -39
  692. package/esm2022/widgets/lib/layout/block-widget/block-widget.config.mjs +0 -9
  693. package/esm2022/widgets/lib/layout/block-widget/index.mjs +0 -3
  694. package/fesm2022/acorex-platform-common-dateTime-widget-view.component-Dxmnor_-.mjs.map +0 -1
  695. package/fesm2022/acorex-platform-widgets-checkbox-widget-column.component-CFCwedxX.mjs.map +0 -1
  696. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-CCTIjDb0.mjs.map +0 -1
  697. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-column.component.d.ts +0 -0
  698. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-edit.component.d.ts +0 -0
  699. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget-view.component.d.ts +0 -0
  700. /package/widgets/lib/{editors → widgets/editors}/checkbox/checkbox-widget.config.d.ts +0 -0
  701. /package/widgets/lib/{editors → widgets/editors}/checkbox/index.d.ts +0 -0
  702. /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget-column.component.d.ts +0 -0
  703. /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget-designer.component.d.ts +0 -0
  704. /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget-filter.component.d.ts +0 -0
  705. /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget-print.component.d.ts +0 -0
  706. /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget-view.component.d.ts +0 -0
  707. /package/widgets/lib/{editors → widgets/editors}/contact-widget/contact-widget.config.d.ts +0 -0
  708. /package/widgets/lib/{editors → widgets/editors}/contact-widget/index.d.ts +0 -0
  709. /package/widgets/lib/{editors → widgets/editors}/contact-widget/popup-component.d.ts +0 -0
  710. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-designer.component.d.ts +0 -0
  711. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-filter.component.d.ts +0 -0
  712. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-print.component.d.ts +0 -0
  713. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget-view.component.d.ts +0 -0
  714. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/date-time-box-widget.config.d.ts +0 -0
  715. /package/widgets/lib/{editors → widgets/editors}/date-time-box-widget/index.d.ts +0 -0
  716. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-column.component.d.ts +0 -0
  717. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-designer.component.d.ts +0 -0
  718. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-filter.component.d.ts +0 -0
  719. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-print.component.d.ts +0 -0
  720. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget-view.component.d.ts +0 -0
  721. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/email-box-widget.config.d.ts +0 -0
  722. /package/widgets/lib/{editors → widgets/editors}/email-box-widget/index.d.ts +0 -0
  723. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-column.component.d.ts +0 -0
  724. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-designer.component.d.ts +0 -0
  725. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-filter.component.d.ts +0 -0
  726. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget-print.component.d.ts +0 -0
  727. /package/widgets/lib/{editors → widgets/editors}/file-box-widget/file-box-widget.config.d.ts +0 -0
  728. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-column.component.d.ts +0 -0
  729. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-designer.component.d.ts +0 -0
  730. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-edit.component.d.ts +0 -0
  731. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-filter.component.d.ts +0 -0
  732. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-print.component.d.ts +0 -0
  733. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-types.d.ts +0 -0
  734. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget-view.component.d.ts +0 -0
  735. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/gallery-widget.config.d.ts +0 -0
  736. /package/widgets/lib/{editors → widgets/editors}/gallery-widget/index.d.ts +0 -0
  737. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/index.d.ts +0 -0
  738. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget-column.component.d.ts +0 -0
  739. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget-designer.component.d.ts +0 -0
  740. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget-filter.component.d.ts +0 -0
  741. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget-print.component.d.ts +0 -0
  742. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget-view.component.d.ts +0 -0
  743. /package/widgets/lib/{editors → widgets/editors}/large-text-widget/large-text-widget.config.d.ts +0 -0
  744. /package/widgets/lib/{editors → widgets/editors}/link-widget/index.d.ts +0 -0
  745. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-column.component.d.ts +0 -0
  746. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-designer.component.d.ts +0 -0
  747. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-filter.component.d.ts +0 -0
  748. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-print.component.d.ts +0 -0
  749. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget-view.component.d.ts +0 -0
  750. /package/widgets/lib/{editors → widgets/editors}/link-widget/link-widget.config.d.ts +0 -0
  751. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/index.d.ts +0 -0
  752. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-column.component.d.ts +0 -0
  753. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-designer.component.d.ts +0 -0
  754. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-edit.component.d.ts +0 -0
  755. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-filter.component.d.ts +0 -0
  756. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-print.component.d.ts +0 -0
  757. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget-view.component.d.ts +0 -0
  758. /package/widgets/lib/{editors → widgets/editors}/map-box-widget/map-box-widget.config.d.ts +0 -0
  759. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/index.d.ts +0 -0
  760. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-column.component.d.ts +0 -0
  761. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-designer.component.d.ts +0 -0
  762. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-filter.component.d.ts +0 -0
  763. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-print.component.d.ts +0 -0
  764. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget-view.component.d.ts +0 -0
  765. /package/widgets/lib/{editors → widgets/editors}/number-box-widget/number-box-widget.config.d.ts +0 -0
  766. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/index.d.ts +0 -0
  767. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-column.component.d.ts +0 -0
  768. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-designer.component.d.ts +0 -0
  769. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-edit.component.d.ts +0 -0
  770. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-filter.component.d.ts +0 -0
  771. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget-print.component.d.ts +0 -0
  772. /package/widgets/lib/{editors → widgets/editors}/password-box-widget/password-box-widget.config.d.ts +0 -0
  773. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/index.d.ts +0 -0
  774. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-column.component.d.ts +0 -0
  775. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-designer.component.d.ts +0 -0
  776. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-filter.component.d.ts +0 -0
  777. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-print.component.d.ts +0 -0
  778. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget-view.component.d.ts +0 -0
  779. /package/widgets/lib/{editors → widgets/editors}/phone-box-widget/phone-box-widget.config.d.ts +0 -0
  780. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/index.d.ts +0 -0
  781. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-column.component.d.ts +0 -0
  782. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-designer.component.d.ts +0 -0
  783. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-edit.component.d.ts +0 -0
  784. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-filter.component.d.ts +0 -0
  785. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-print.component.d.ts +0 -0
  786. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget-view.component.d.ts +0 -0
  787. /package/widgets/lib/{editors → widgets/editors}/rich-text-widget/rich-text-widget.config.d.ts +0 -0
  788. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/index.d.ts +0 -0
  789. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-column.component.d.ts +0 -0
  790. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-designer.component.d.ts +0 -0
  791. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-edit.component.d.ts +0 -0
  792. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-filter.component.d.ts +0 -0
  793. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-print.component.d.ts +0 -0
  794. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget-view.component.d.ts +0 -0
  795. /package/widgets/lib/{editors → widgets/editors}/select-box-widget/select-box-widget.config.d.ts +0 -0
  796. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/index.d.ts +0 -0
  797. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-column.component.d.ts +0 -0
  798. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-designer.component.d.ts +0 -0
  799. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-edit.component.d.ts +0 -0
  800. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-filter.component.d.ts +0 -0
  801. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-print.component.d.ts +0 -0
  802. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget-view.component.d.ts +0 -0
  803. /package/widgets/lib/{editors → widgets/editors}/selection-list-widget/selection-list-widget.config.d.ts +0 -0
  804. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/index.d.ts +0 -0
  805. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-column.component.d.ts +0 -0
  806. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-designer.component.d.ts +0 -0
  807. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-edit.component.d.ts +0 -0
  808. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-filter.component.d.ts +0 -0
  809. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget-print.component.d.ts +0 -0
  810. /package/widgets/lib/{editors → widgets/editors}/signature-pad-widget/signature-pad-widget.config.d.ts +0 -0
  811. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/index.d.ts +0 -0
  812. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-column.component.d.ts +0 -0
  813. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-designer.component.d.ts +0 -0
  814. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-filter.component.d.ts +0 -0
  815. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-print.component.d.ts +0 -0
  816. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget-view.component.d.ts +0 -0
  817. /package/widgets/lib/{editors → widgets/editors}/text-box-widget/text-box-widget.config.d.ts +0 -0
  818. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/index.d.ts +0 -0
  819. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-column.component.d.ts +0 -0
  820. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-designer.component.d.ts +0 -0
  821. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-edit.component.d.ts +0 -0
  822. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-filter.component.d.ts +0 -0
  823. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-print.component.d.ts +0 -0
  824. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget-view.component.d.ts +0 -0
  825. /package/widgets/lib/{editors → widgets/editors}/toggle-widget/toggle-widget.config.d.ts +0 -0
  826. /package/widgets/lib/{layout → widgets/layout}/block-widget/block-widget.component.d.ts +0 -0
  827. /package/widgets/lib/{layout → widgets/layout}/block-widget/block-widget.config.d.ts +0 -0
  828. /package/widgets/lib/{layout → widgets/layout}/block-widget/index.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-layouts.mjs","sources":["../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-create-view/entity-create-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/create-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/delete-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/import-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/entity-list-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/entity-list-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/list-view.module.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/list-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/modify-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/show-quick-view.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/show-details.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/show-list.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-details-view/entity-details-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-details-view/entity-details-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-details-view/detail-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/custom-reuse.strategy.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/modify-section.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/admin.module.ts","../../../../libs/platform/layouts/src/lib/admin/entity.resolver.ts","../../../../libs/platform/layouts/src/lib/admin/admin.routes.ts","../../../../libs/platform/layouts/src/lib/layout.module.ts","../../../../libs/platform/layouts/src/acorex-platform-layouts.ts"],"sourcesContent":["import { AXLocation, AXStyleColorType, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPEntityListConditionConfig, AXPEntityListDisplayColumnConfig, AXPEntityListSortConfig, AXPEntityPropertyConfig, AXPFilterOperator, AXPSchemaRegistryService, EQ_OPER } from '@acorex/platform/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Signal,\n WritableSignal,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport { AXPListViewLoader } from '../../list-view.config';\n\n@Component({\n templateUrl: './entity-custom-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXUnsubscriber,\n },\n ],\n})\nexport class AXPEntityCreateCustomViewComponent extends AXBasePageComponent {\n private schemaRegistry = inject(AXPSchemaRegistryService);\n private toastService = inject(AXToastService);\n private dialogService = inject(AXDialogService);\n private subscriber = inject(AXUnsubscriber);\n\n @Input() loader!: AXPListViewLoader;\n @Input() mode: 'edit' | 'create' = 'create';\n @Input() selectedView: any = {};\n\n protected showNameInput: WritableSignal<boolean> = signal(false);\n protected props: WritableSignal<AXPEntityPropertyConfig[]> = signal([]);\n\n protected columns: WritableSignal<AXPEntityListDisplayColumnConfig[]> = signal([]);\n protected visibleColumns: Signal<AXPEntityListDisplayColumnConfig[]> = computed(() =>\n this.columns().filter((c) => c.visible)\n );\n protected conditions: WritableSignal<AXPEntityListConditionConfig[]> = signal([]);\n protected sorts: WritableSignal<AXPEntityListSortConfig[]> = signal([]);\n\n protected selectedConditionNames: string[] = [];\n protected viewNames: string[] = [];\n\n protected override ngOnInit(): void {\n this.props.set(cloneDeep(this.loader.entity.properties));\n this.columns.set(cloneDeep(this.selectedView.columns));\n this.conditions.set(cloneDeep(this.selectedView.conditions));\n this.sorts.set(cloneDeep(this.selectedView.sorts));\n this.loader.views$.pipe(this.subscriber.takeUntilDestroy).subscribe((views) => {\n this.viewNames = views.map((v) => v.name);\n });\n }\n\n //****************** Columns ******************//\n updateColumnItem(event: AXValueChangedEvent, colName: string) {\n if (event.isUserInteraction) {\n this.columns.update((prevCols) =>\n prevCols.map((col) => (col.name === colName ? { ...col, visible: event.value } : col))\n );\n }\n }\n\n //****************** Sorts ******************//\n updateSortItem(item: AXPEntityListSortConfig) {\n this.sorts.update((prevSorts) =>\n prevSorts.map((sort) => (sort.name === item.name ? { ...sort, dir: sort.dir == 'asc' ? 'desc' : 'asc' } : sort))\n );\n }\n addSortItem() {\n const sortNames = this.sorts().map((p) => p.name);\n console.log(this.props(), sortNames);\n const name = this.props().find((c) => !sortNames.includes(c.name))?.name || this.props()[0].name;\n this.sorts.update((prevSorts) => [...prevSorts, { name, dir: 'asc' } as AXPEntityListSortConfig]);\n }\n\n removeSortItem(item: AXPEntityListSortConfig) {\n this.sorts.update((prevSorts) => prevSorts.filter((sort) => item.name != sort.name));\n }\n\n //****************** Conditions ******************//\n protected getSchema(name: string) {\n return this.props().find((c) => c.name == name)?.schema ?? '';\n }\n\n protected getOperators(name: string): AXPFilterOperator[] {\n const schemaName = this.props().find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistry.resolve(schemaName)?.filterOptions?.operators ?? [];\n }\n\n protected getDefaultOperator(name: string): AXPFilterOperator {\n const schemaName = this.props().find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistry.resolve(schemaName)?.filterOptions?.default ?? EQ_OPER;\n }\n\n protected getOperatorTitle(schemaName: string, oprName: string): string {\n return this.getOperators(schemaName).find((c) => c.name == oprName)?.title || '';\n }\n protected resetSelectedFieldNames() {\n this.selectedConditionNames = this.conditions().map((c) => c.name);\n }\n protected addCondition() {\n const conditions = this.selectedConditionNames.map((c) => {\n const opr = this.getDefaultOperator(c);\n return {\n name: c,\n operator: opr.name,\n };\n });\n this.conditions.set(conditions as any);\n }\n\n removeCondition(item: AXPEntityListConditionConfig) {\n this.conditions.update((prevConditions) => prevConditions.filter((con) => con.name != item.name));\n }\n\n //****************** Common ******************//\n protected drop(type: 'columns' | 'conditions' | 'sorts', event: CdkDragDrop<unknown[]>) {\n switch (type) {\n case 'columns':\n this.columns.update((prevCols) => {\n const columns = prevCols;\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n return columns;\n });\n break;\n case 'sorts':\n this.sorts.update((prevSorts) => {\n const sorts = prevSorts;\n moveItemInArray(sorts, event.previousIndex, event.currentIndex);\n return sorts;\n });\n break;\n case 'conditions':\n this.conditions.update((prevConditions) => {\n const conditions = prevConditions;\n moveItemInArray(conditions, event.previousIndex, event.currentIndex);\n return conditions;\n });\n break;\n default:\n break;\n }\n }\n\n changeViewNameToggle() {\n this.showNameInput.update((prev) => !prev);\n }\n\n generateViewName(title: string) {\n return title.replace(/\\s+/g, '-').toLowerCase();\n }\n\n handleApplyClick() {\n const updatedView = {\n ...this.selectedView,\n name: this.generateViewName(this.selectedView.title),\n conditions: this.conditions(),\n columns: this.columns(),\n sorts: this.sorts(),\n };\n if (this.viewNames.includes(updatedView.name) && this.mode == 'create') {\n this.toastService.show({\n title: 'Invalid Title',\n content: 'The title you have chosen already exists. Please choose a different title for your custom view.',\n color: 'danger' as AXStyleColorType,\n location: 'bottom-center' as AXLocation,\n closeButton: true,\n timeOut: 3000,\n });\n } else {\n this.close({ save: true, updatedView });\n }\n }\n\n handleResetClick() {\n this.conditions.set(cloneDeep(this.selectedView.conditions));\n this.columns.set(cloneDeep(this.selectedView.columns));\n this.sorts.set(cloneDeep(this.selectedView.sorts));\n }\n handleDiscardClick() {\n this.close({ save: false });\n }\n handleCancelClick() {\n this.close({ save: false });\n }\n handleDeleteClick() {\n this.dialogService\n .confirm('Warning', 'Are you sure want to delete this view?', 'danger', 'horizontal')\n .then((data) => {\n if (data.result) {\n this.close({ delete: true, viewName: this.selectedView.name });\n }\n });\n }\n}\n","<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item [text]=\"('entity.columns' | translate | async) ?? 'Columns'\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\" cdkDropList (cdkDropListDropped)=\"drop('columns', $event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch class=\"ax-sm\" [(ngModel)]=\"item.visible\" (onValueChanged)=\"updateColumnItem($event, item.name)\"></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge class=\"ax-text-xs\" color=\"primary\" [look]=\"'twotone'\" [text]=\"getOperatorTitle(item.name, item.operator)\"></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"addCondition(); conditionsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\"> </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">{{ 'entity.no-sort' | translate | async }}</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">{{ 'entity.ask-sort' | translate | async }}</span>\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\"> </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon [class.ax-text-primary]=\"item.dir == 'asc'\" class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"></ax-icon>\n <ax-icon [class.ax-text-primary]=\"item.dir == 'desc'\" class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button [text]=\"'discard' | translate | async\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item [text]=\"('reset' | translate | async) ?? ' '\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button [text]=\"'cancel' | translate | async\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button [text]=\"mode === 'create' ? ('save' | translate | async) : ('save-changes' | translate | async)\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n</ax-footer>\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable, first, of } from 'rxjs';\nimport { AXPListViewLoader } from '../../list-view.config';\nimport { AXPAdminLayoutState, AXPEntityListDisplayColumnConfig, isSmallScreen } from '@acorex/platform/common';\n\n@Component({\n selector: 'axp-list-view-option-columns',\n templateUrl: './list-view-option-columns.component.html',\n})\nexport class AXPListViewOptionsColumnsComponent implements OnInit {\n private store = inject(Store<AXPAdminLayoutState>);\n\n @Input()\n public loader!: AXPListViewLoader;\n protected isSM = this.store.select(isSmallScreen());\n protected columns$: Observable<AXPEntityListDisplayColumnConfig[]> = of([]);\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n ngOnInit(): void {\n this.columns$ = this.loader.displayColumns$;\n }\n\n handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string) {\n if (e.isUserInteraction) {\n this.loader.setColumnVisibility(name, e.value!);\n }\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n this.columns$.pipe(first()).subscribe((columns) => {\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n });\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n protected handleResetClick() {\n this.loader.resetColumns();\n }\n\n protected handleApplyClick() {\n this.columns$.pipe(first()).subscribe((data) => {\n this.loader.updateColumns(data);\n });\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">{{ 'entity.columns' | translate | async }}</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n <ng-container *ngFor=\"let item of columns$ | async\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch class=\"ax-sm\" [ngModel]=\"item.visible\" (onValueChanged)=\"handleVisibilityChange($event, item.name)\"></ax-switch>\n </div>\n </ng-container>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPEntityListConditionConfig, AXPEntityPropertyConfig, AXPFilterOperator, AXPSchemaRegistryService, EQ_OPER } from '@acorex/platform/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { Observable, first, map, of } from 'rxjs';\nimport { AXPListViewLoader } from '../../list-view.config';\n\n@Component({\n selector: 'axp-list-view-option-conditions',\n templateUrl: './list-view-option-conditions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPListViewOptionConditionsComponent {\n constructor() { }\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n private schemaRegistery = inject(AXPSchemaRegistryService);\n private popopService: AXPopupService = inject(AXPopupService);\n\n protected isSM = false;\n\n @Input()\n public loader!: AXPListViewLoader;\n\n protected props$: Observable<AXPEntityPropertyConfig[]> = of([]);\n protected props: AXPEntityPropertyConfig[] = [];\n protected conditions$: Observable<AXPEntityListConditionConfig[]> = of([]);\n\n protected selectedFieldNames: string[] = [];\n\n onNameChange(item: any) {\n console.log('onName changed!', item);\n }\n ngOnInit() {\n this.props$ = this.loader.properties$.pipe(\n map((sorts) => sorts.filter((s) => s.canFilter != false))\n );\n this.conditions$ = this.loader.conditions$;\n this.conditions$.pipe(first()).subscribe((initialConditions) => {\n this.selectedFieldNames = initialConditions.map((i) => i.name);\n });\n\n this.props$.pipe(first()).subscribe((data) => {\n this.props = data;\n });\n }\n\n protected getOperators(name: string): AXPFilterOperator[] {\n const schemaName = this.props.find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistery.resolve(schemaName)?.filterOptions?.operators ?? [];\n }\n\n protected getDefaultOperator(name: string): AXPFilterOperator {\n const schemaName = this.props.find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistery.resolve(schemaName)?.filterOptions?.default ?? EQ_OPER;\n }\n\n protected getOperatorTitle(schemaName: string, oprName: string): string {\n return this.getOperators(schemaName).find((c) => c.name == oprName)?.title || '';\n }\n\n protected getSchema(name: string) {\n return this.props.find((c) => c.name == name)?.schema ?? '';\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n this.conditions$.pipe(first()).subscribe((conditions) => {\n console.log('conditions: ', conditions);\n moveItemInArray(conditions, event.previousIndex, event.currentIndex);\n });\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n\n protected handleRemoveCondition(item: AXPEntityListConditionConfig) {\n this.selectedFieldNames = this.selectedFieldNames.filter((i) => i !== item.name);\n this.loader.removeCondition(item);\n }\n\n protected resetSelectedFieldNames() {\n this.conditions$.pipe(first()).subscribe((initialConditions) => {\n this.selectedFieldNames = initialConditions.map((i) => i.name);\n });\n }\n\n protected handleResetClick() {\n this.loader.resetConditions();\n }\n\n protected onConfirmFields() {\n const fileds = this.selectedFieldNames.map((c) => {\n const opr = this.getDefaultOperator(c);\n return {\n name: c,\n opr: opr.name,\n };\n });\n this.loader.addCondition(fileds);\n }\n\n protected handleApplyClick() {\n this.conditions$.pipe(first()).subscribe((data) => {\n console.log(data);\n this.loader.updateConditions(data);\n });\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Filters</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div\n class=\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-py-4 ax-select-none\"\n [class.ax-h-[calc(100vh-310px)]]=\"!(conditions$ | async)?.length\"\n>\n @if(!(conditions$ | async)?.length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-max-h-[calc(100vh-310px)] ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions$ | async; track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <!-- <ax-text-box [(ngModel)]=\"item.value\"></ax-text-box> -->\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"handleRemoveCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if((conditions$ | async)?.length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n </div>\n <ax-popover\n #fieldsPopover\n [target]=\"addField\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n [offsetX]=\"15\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-72 2xl:ax-max-h-80 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedFieldNames\"\n [direction]=\"'vertical'\"\n [items]=\"props\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"onConfirmFields(); fieldsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\">\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\n\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXPFilterOperator } from '@acorex/platform/common';\n\n@Component({\n selector: 'axp-list-view-option-filter-operator',\n template: `\n <ax-select-box\n valueField=\"name\"\n [dataSource]=\"items\"\n textField=\"title\"\n [(ngModel)]=\"value\"\n *ngIf=\"visible\"\n >\n </ax-select-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { style: 'display: contents;' },\n})\nexport class AXPListViewOptionFilterOperatorComponent {\n @ViewChild(AXSelectBoxComponent)\n selectBox!: AXSelectBoxComponent;\n protected visible = false;\n\n private cdr = inject(ChangeDetectorRef);\n\n private _items: AXPFilterOperator[] = [];\n @Input()\n public get items(): AXPFilterOperator[] {\n return this._items;\n }\n public set items(v: AXPFilterOperator[]) {\n this.visible = false;\n this._items = v;\n setTimeout(() => {\n this.visible = true;\n this.cdr.markForCheck();\n setTimeout(() => {\n if (this.selectBox) {\n //this.selectBox.defaultValue = this.items[0]?.name;\n }\n });\n });\n }\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n private _value!: string;\n @Input()\n public get value(): string {\n return this._value;\n }\n public set value(v: string) {\n this._value = v;\n this.valueChange.emit(v);\n }\n}\n","import { AXPEntityListSortConfig, AXPEntityPropertyConfig } from '@acorex/platform/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Observable, first, map, of } from 'rxjs';\nimport { AXPListViewLoader } from '../../list-view.config';\n\n@Component({\n selector: 'axp-list-view-option-sorting',\n templateUrl: './list-view-option-sorting.component.html',\n})\nexport class AXPListViewOptionSortingComponent {\n protected isSM = false;\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n @Input()\n public loader!: AXPListViewLoader;\n\n protected props$: Observable<AXPEntityPropertyConfig[]> = of([]);\n protected sorts$: Observable<AXPEntityListSortConfig[]> = of([]);\n\n ngOnInit(): void {\n this.props$ = this.loader.properties$.pipe(map((sorts) => sorts.filter((s) => s.canSort != false)));\n this.loader.sorts$.subscribe((data) => {});\n this.sorts$ = this.loader.sorts$;\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n this.sorts$.pipe(first()).subscribe((sorts) => {\n moveItemInArray(sorts, event.previousIndex, event.currentIndex);\n });\n }\n\n protected changeItemSort(item: AXPEntityListSortConfig) {\n item.dir = item.dir == 'asc' ? 'desc' : 'asc';\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n protected handleResetClick() {\n this.loader.resetSort();\n }\n\n protected handleApplyClick() {\n this.sorts$.pipe(first()).subscribe((data) => {\n this.loader.updateSort(data);\n });\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">{{'entity.sort' | translate | async}}</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-p-4 ax-flex-col ax-justify-center ax-gap-4 ax-select-none\" [class.ax-h-[calc(100vh-310px)]]=\"!(sorts$ | async)?.length\">\n @if(!(sorts$ | async)?.length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">{{ 'entity.no-sort' | translate | async }}</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">{{ 'entity.ask-sort' | translate | async }}</span>\n </div>\n }\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-max-h-[calc(100vh-310px)] ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts$ | async\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"(props$ | async) ?? []\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\"> </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"changeItemSort(item)\">\n <ax-icon [class.ax-text-primary]=\"item.dir == 'asc'\" class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"></ax-icon>\n <ax-icon [class.ax-text-primary]=\"item.dir == 'desc'\" class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"loader.removeSort(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if((sorts$ | async)?.length){\n <ax-button (onClick)=\"loader.addSort()\" color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button (onClick)=\"loader.addSort()\" color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n </div>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import { AXFormatService } from '@acorex/core/format';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, map, of, switchMap } from 'rxjs';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\nimport { AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPEntityViewChildSectionConfig, AXPEntityViewConfig } from '@acorex/platform/common';\n\nexport interface AXPEntityCreateViewLoader {\n get entity(): AXPEntityConfig;\n get data(): any;\n\n get sections$(): Observable<AXPEntityViewChildSectionConfig[]>;\n get hasSections$(): Observable<boolean>;\n get isLast$(): Observable<boolean>;\n get isFirst$(): Observable<boolean>;\n get currentIndex$(): Observable<number>;\n get section$(): Observable<AXPEntityViewChildSectionConfig>;\n setSection(name: string): void;\n next(): Promise<void>;\n back(): Promise<void>;\n\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n isRequired(name: string): boolean;\n}\n\nexport class AXPEntityCreateLoaderDefault implements AXPEntityCreateViewLoader {\n private _config!: AXPEntityConfig;\n private _data: any = {};\n private _currentSection = 'default';\n\n constructor(private config: AXPEntityConfig, private store: Store, private formatService: AXFormatService) {\n this._currentSection = this.sections[0]?.name || 'default';\n }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get data(): any {\n return this._data;\n }\n\n private get view(): AXPEntityViewConfig {\n return this.entity.views.createView as AXPEntityViewConfig;\n }\n\n //****************** Sections ******************//\n\n private get sections(): AXPEntityViewChildSectionConfig[] {\n return this.view.root.sections?.length\n ? this.view.root.sections\n : [\n {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n },\n ];\n }\n\n private _sections$ = new BehaviorSubject<AXPEntityViewChildSectionConfig[]>(this.sections);\n\n public get sections$(): Observable<AXPEntityViewChildSectionConfig[]> {\n return this._sections$.pipe(defaultIfEmpty([]));\n }\n\n public get section$(): Observable<AXPEntityViewChildSectionConfig> {\n return this.sections$.pipe(\n switchMap((sections) => {\n const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];\n if (!section.sections?.length) {\n section.sections = [\n {\n name: 'default',\n title: 'Details',\n properties: section.properties,\n },\n ];\n }\n return of(section);\n })\n );\n }\n\n public get hasSections$(): Observable<boolean> {\n return this.sections$.pipe(map((c) => c.length > 1));\n }\n\n public get isLast$(): Observable<boolean> {\n return this.sections$.pipe(\n map((c) => this.sections.length - this.sections.findIndex((c) => c.name == this._currentSection) == 1)\n );\n }\n\n public get isFirst$(): Observable<boolean> {\n return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection) == 0));\n }\n\n public get currentIndex$(): Observable<number> {\n return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection)));\n }\n\n public setSection(name: string) {\n this._currentSection = name ?? 'default';\n const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n };\n const currentSections = this._sections$.value;\n const updatedSections = currentSections.map((section) => {\n if (section.name === updatedSection.name) {\n return updatedSection;\n } else {\n return section;\n }\n });\n this._sections$.next(updatedSections);\n }\n\n public next() {\n const nextIndex = this.sections.findIndex((c) => c.name == this._currentSection) + 1;\n if (nextIndex >= this.sections.length) {\n return Promise.resolve();\n } else {\n this.setSection(this.sections[nextIndex].name);\n return Promise.resolve();\n }\n }\n\n public back() {\n const prevIndex = this.sections.findIndex((c) => c.name == this._currentSection) - 1;\n if (prevIndex < 0) {\n return Promise.resolve();\n } else {\n this.setSection(this.sections[prevIndex].name);\n return Promise.resolve();\n }\n }\n\n //****************** Properties ******************//\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n public isRequired = (name: string): boolean => this.getProp(name)?.validationRules?.some(c => c.rule == 'required') || false;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityCreateViewLoaderFactory {\n private entityService = inject(AXPEntityRegistryService);\n private formatService = inject(AXFormatService);\n private layout = inject(AXPLayoutService);\n private store = inject(Store);\n\n public async create(moduleName: string, entityName: string): Promise<AXPEntityCreateViewLoader> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.dataSource.byKey) {\n this.layout.setNavigationLoading(false);\n return new AXPEntityCreateLoaderDefault(config, this.store, this.formatService);\n }\n return Promise.reject('cannot fetch ');\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityCreateViewLoaderFactory } from '../entity-create-view/entity-create-view.config';\n\nexport const AXPEntityCreateEvent = createWorkFlowEvent<{ module: string; entity: string }>('[Entity] Created!');\n\n@Injectable()\nexport class AXPEntityCreatePopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityCreateFactory = inject(AXPEntityCreateViewLoaderFactory);\n private translateService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entityName } = context.getVariable('payload');\n const entity = await this.entityRegistery.resolve(module, entityName);\n\n const com = await import('../entity-create-view/entity-create-view.component');\n const result = await this.popupService.open(com.AXPEntityCreateViewComponent, {\n title: this.translateService.translateSync('create-new') + ' ' + entity.title,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n loader: await this.entityCreateFactory.create(module, entityName),\n entity,\n },\n });\n if (result.data?.save) {\n context.setOutput('popupResult', true);\n context.setVariable('redirect', result.data.redirect);\n context.setVariable('id', result.data.recordId);\n }\n }\n}\n\nexport class AXPEntityCreateSubmittedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entity } = context.getVariable('payload');\n this.dispatch(AXPEntityCreateEvent({ entity, module }));\n }\n}\n\nexport const AXPCreateEntityWorkflow: AXPWorkflow = {\n startStepId: 'createPopup',\n steps: {\n createPopup: {\n id: 'createPopup',\n action: 'AXPEntityCreatePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Created',\n content: 'New Record has been successfully created.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'createSubmitted',\n },\n ],\n },\n createSubmitted: {\n id: 'createSubmitted',\n action: 'AXPEntityCreateSubmittedAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getVariable(\"redirect\") == true' }],\n nextStepId: 'showDetailView',\n },\n ],\n },\n showDetailView: {\n id: 'showDetailView',\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowContext,\n AXPWorkflowFunction,\n createWorkFlowEvent,\n} from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\nexport const AXPEntityDeletedEvent = createWorkFlowEvent<{ module: string; entity: string; id: string }>(\n '[Entity] Deleted'\n);\n\n@Injectable()\nexport class AXPEntityPerformDeleteAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private dialogService = inject(AXDialogService);\n private loadingDialog = inject(AXLoadingDialogService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const moduleName = context.getVariable('module');\n const entityName = context.getVariable('entity');\n const ids = context.getVariable('ids');\n const entity = await this.entityRegistery.resolve(moduleName, entityName);\n let deletedCount = 0;\n context.setVariable('deleteSuccessful', false);\n const dialog = this.loadingDialog.show({\n title: 'Deleting Record...',\n mode: 'determinate',\n status: 'Deleting...',\n progressValue: 0,\n text: `0/${ids.length}`,\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n\n if (entity.commands?.delete != null) {\n const wrappedPromises = (ids as any[])\n .map((id, i) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(entity.commands?.delete?.(id));\n }, i * 200);\n });\n })\n .map((p) =>\n p?.then(\n (value) => {\n deletedCount++;\n dialog.setProgressText(`${deletedCount}/${ids.length}`);\n dialog.setProgressValue((deletedCount / ids.length) * 100);\n return { status: 'fulfilled', value };\n },\n (reason) => ({ status: 'rejected', reason })\n )\n );\n\n const results = await Promise.all(wrappedPromises);\n const successfulPromises = results.filter((result) => result?.status === 'fulfilled').length;\n const failedPromises = results.filter((result) => result?.status === 'rejected').length;\n setTimeout(() => {\n dialog.close();\n }, 300);\n\n // Handle different scenarios for alerts\n if (successfulPromises > 0 && failedPromises === 0) {\n // All items deleted successfully\n await this.dialogService.alert(\n 'Deletion Successful',\n `${successfulPromises} item(s) has been deleted.`,\n 'success'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ module: moduleName, entity: entityName, id: ids }));\n } else if (successfulPromises > 0 && failedPromises > 0) {\n // Some items deleted successfully, some failed\n await this.dialogService.alert(\n 'Partial Deletion Completed',\n `${successfulPromises} item(s) deleted successfully. However, ${failedPromises} item(s) could not be deleted.`,\n 'warning'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ module: moduleName, entity: entityName, id: ids }));\n } else if (successfulPromises === 0 && failedPromises > 0) {\n // No items deleted, all failed\n await this.dialogService.alert(\n 'Deletion Failed',\n `No items were deleted. ${failedPromises} item(s) failed to delete.`,\n 'danger'\n );\n } else {\n // No items to delete (no successful or failed promises)\n await this.dialogService.alert('No Deletion Needed', 'No items were available to delete.', 'info');\n }\n } else {\n throw new Error(\n `The delete operation cannot be performed on ${entity.title}. This action might be restricted or not applicable for the selected item.`\n );\n }\n }\n}\n\n@Injectable()\nexport class AXPMyCustomFunc extends AXPWorkflowFunction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private dialogService = inject(AXDialogService);\n\n async execute(val: string): Promise<boolean> {\n return val == 'abc';\n }\n}\n\nexport const AXPDeleteEntityWorkflow: AXPWorkflow = {\n startStepId: 'confirmDelete',\n steps: {\n confirmDelete: {\n id: 'confirmDelete',\n action: 'AXPDialogConfirmAction',\n input: {\n title: 'Warning',\n message: `Are you sure want to delete selected item(s)?`,\n type: 'danger',\n },\n nextSteps: [\n {\n conditions: [\n {\n type: 'AND',\n conditions: [\n { type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' },\n { type: 'SINGLE', expression: 'await test(\"abc\")' },\n ],\n },\n ],\n nextStepId: 'performDelete',\n },\n ],\n },\n performDelete: {\n id: 'performDelete',\n action: 'AXPEntityPerformDeleteAction',\n },\n },\n};\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\nexport const AXPImportEntityEvent = createWorkFlowEvent<{ module: string; entity: string }>('[Entity] Imported!');\n\n@Injectable()\nexport class AXPEntityImportPopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entityName } = context.getVariable('payload');\n const entity = await this.entityRegistery.resolve(module, entityName);\n\n const com = await import('../entity-import-view/entity-import-view.component');\n const result = await this.popupService.open(com.AXPEntityImportViewComponent, {\n title: `Import ${entity.title}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n entity,\n },\n });\n if (result.data?.save) {\n context.setOutput('popupResult', true);\n context.setVariable('redirect', result.data.redirect);\n }\n }\n}\n\nexport class AXPEntityImportSubmittedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entity } = context.getVariable('payload');\n this.dispatch(AXPImportEntityEvent({ entity, module }));\n }\n}\n\nexport const AXPImportEntityWorkflow: AXPWorkflow = {\n startStepId: 'createPopup',\n steps: {\n createPopup: {\n id: 'createPopup',\n action: 'AXPEntityImportPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Imported',\n content: 'Your file has been uploaded successfully',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'importSubmitted',\n },\n ],\n },\n importSubmitted: {\n id: 'importSubmitted',\n action: 'AXPEntityImportSubmittedAction',\n },\n },\n};\n","import { AXActionSheetService } from '@acorex/components/action-sheet';\nimport { AXDataTableComponent, AXRowCommandItem, AXRowCommandItemClickEvent } from '@acorex/components/data-table';\nimport { AXDrawerComponent } from '@acorex/components/drawer';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Store } from '@ngrx/store';\n\nimport { AXClickEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDataTableRowDbClick } from '@acorex/components/data-table/lib/base-data-table.class';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AXPAdminLayoutState,\n AXPLayoutChildDrawerToggle,\n AXPLayoutService,\n AXP_MENU_LOADER,\n convertPropertiesToColumns,\n} from '@acorex/platform/common';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { AXPEntityCreateEvent } from '../../entity-layout/workflows/create-entity.workflow';\nimport { AXPEntityDeletedEvent } from '../../entity-layout/workflows/delete-entity.workflow';\nimport { AXPImportEntityEvent } from '../workflows/import-entity.workflow';\nimport { AXPEntityCreateCustomViewComponent } from './components/entity-custom-view/entity-custom-view.component';\nimport { AXPListViewLoader } from './list-view.config';\n\n@Component({\n templateUrl: 'entity-list-view.component.html',\n styleUrls: ['entity-list-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber],\n})\nexport class AXPEntityListViewComponent {\n private store = inject(Store<AXPAdminLayoutState>);\n private workflow = inject(AXPWorkflowService);\n private layout = inject(AXPLayoutService);\n private route = inject(ActivatedRoute);\n private manuLoader = inject(AXP_MENU_LOADER);\n\n protected loader = this.route.snapshot.data['loader'] as AXPListViewLoader;\n protected title: string = '';\n protected searchValue: string = '';\n protected searchBoxPlaceholder: string = '';\n protected searchBoxTitle: string = '';\n protected searchBoxCollapsed: boolean = true;\n\n protected publicViews$ = this.loader.publicViews$;\n protected customViews$ = this.loader.customViews$;\n protected hasCustomViews$ = this.loader.hasCustomViews$;\n protected view$ = this.loader.view$;\n //\n protected conditions$ = this.loader.conditions$;\n protected conditionsCount$ = this.loader.conditionsCount$;\n //\n protected columns$ = this.loader.displayColumns$;\n protected columnsCount$ = this.loader.displayColumnsCount$;\n //\n protected sort$ = this.loader.sorts$;\n protected sortCount$ = this.loader.sortsCount$;\n //\n protected dataSource = this.loader.dataSource;\n //\n protected canDelete = this.loader.entity.editOptions?.delete ?? true;\n protected canCreate = this.loader.entity.editOptions?.create ?? true;\n protected canUpdate = this.loader.entity.editOptions?.update ?? true;\n protected canImport = this.loader.entity.editOptions?.import ?? false;\n //\n protected focusedRow: any;\n //\n @ViewChild('viewsTemplate') viewsTemplate!: TemplateRef<unknown>;\n // @ViewChild('grid') grid!: AXDataTableComponent;\n @ViewChild('grid') grid!: AXDataTableComponent;\n @ViewChild('entityViewDrawer') entityViewDrawer!: AXDrawerComponent;\n\n private popupService = inject(AXPopupService);\n\n constructor(\n private actionSheetService: AXActionSheetService,\n private unsubscriber: AXUnsubscriber,\n protected platform: AXPlatform,\n protected cdr: ChangeDetectorRef\n ) {\n //TODO: namespace, module name issues\n this.title = this.manuLoader.currentMenuItem()?.text ?? this.loader.entity.formats?.list ?? this.loader.entity.formats?.default ?? 'Title';\n //\n\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent, AXPImportEntityEvent), this.unsubscriber.takeUntilDestroy)\n .subscribe((event) => {\n if (event.payload.entity == this.loader.entity.name && event.payload.module == this.loader.entity.module) {\n this.grid.selectedRows = [];\n this.grid?.refresh();\n }\n });\n //\n this.dataSource.onLoadingChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((value) => {\n this.layout.setNavigationLoading(value);\n });\n this._getInlineConditionTitles();\n }\n\n ngAfterViewInit() {\n this.loader.setDefaultView();\n }\n\n _getInlineConditionTitles() {\n const titles = this.loader.getInlineFilterTitles();\n this.searchBoxTitle = titles.join(', ');\n if (titles.length > 2) this.searchBoxPlaceholder = titles.slice(0, 2).join(', ') + ' ...';\n else this.searchBoxPlaceholder = titles.join(', ');\n }\n\n _handleViewsPopover() {\n this.actionSheetService.open({ content: this.viewsTemplate });\n }\n\n handleDrawerClick() {\n this.store.dispatch(AXPLayoutChildDrawerToggle());\n }\n\n toggleSearchBox() {\n this.searchBoxCollapsed = !this.searchBoxCollapsed;\n }\n\n private dropdownRowItems: AXRowCommandItem[] = [\n {\n text: 'Details',\n icon: 'fa-solid fa-eye',\n name: 'edit',\n divided: true,\n },\n {\n text: 'Delete',\n icon: 'fa-solid fa-trash-can',\n name: 'delete',\n color: 'danger',\n disabled: !this.canDelete,\n },\n ];\n\n private inlineRowItems: AXRowCommandItem[] = [\n {\n text: 'View',\n icon: 'fa-solid fa-eye',\n name: 'view',\n divided: true,\n },\n ];\n\n protected getDropdownRowItems = (rowData: unknown): Promise<AXRowCommandItem[]> => {\n return Promise.resolve(this.dropdownRowItems);\n };\n\n protected getInlineRowItems = (rowData: unknown): AXRowCommandItem[] => {\n return this.inlineRowItems;\n };\n\n protected handleRowDbClick(e: AXDataTableRowDbClick) {\n const d: AXRowCommandItemClickEvent = {\n component: e.component,\n name: this.dropdownRowItems[0].name,\n data: e.data,\n };\n this.handleRowCommandClick(d);\n }\n\n protected async handleRowCommandClick(e: AXRowCommandItemClickEvent) {\n switch (e.name) {\n case 'view': {\n await this.workflow.execute('show-quick-view', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n data: e.data,\n },\n });\n break;\n }\n case 'edit': {\n await this.workflow.execute('show-details', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n id: e.data.id,\n });\n break;\n }\n case 'delete': {\n await this.workflow.execute('delete-entity', {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n ids: [e.data.id],\n });\n break;\n }\n }\n }\n\n protected handleCreateClick() {\n this.workflow.execute('create-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n }\n protected handleImportClick() {\n this.workflow.execute('import-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n }\n\n protected handleCommandClick(command: string) {\n switch (command) {\n case 'delete':\n this.workflow.execute('delete-entity', {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n ids: this.grid.selectedRows.map((c) => (c as any)['id']),\n });\n break;\n default:\n break;\n }\n }\n\n protected clearSelectedItems() {\n this.grid.selectedRows = [];\n }\n\n protected closeDrawer(name: string, collapsed: boolean) {\n if (collapsed != false) {\n switch (name) {\n case 'conditions':\n this.loader.resetConditions();\n break;\n case 'columns':\n this.loader.resetColumns();\n break;\n case 'sorts':\n this.loader.resetSort();\n break;\n default:\n break;\n }\n }\n }\n\n handleChangeSearchValue(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.loader.handleInlineSearch(e.value);\n }\n }\n\n protected async addCustomViewPopup() {\n const newView = {\n name: 'custom-view',\n title: 'Custom View',\n fixed: false,\n sorts: [],\n columns: convertPropertiesToColumns(...this.loader.entity.properties),\n conditions: [],\n };\n\n const popup = await this.popupService.open(AXPEntityCreateCustomViewComponent, {\n title: 'Create Custom View',\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n closeOnBackdropClick: true,\n draggable: false,\n data: {\n loader: this.loader,\n selectedView: newView,\n mode: 'create',\n },\n });\n if (popup.data?.save == true) {\n console.log('updatedView: ', popup.data.updatedView);\n this.loader.createView(popup.data.updatedView);\n }\n }\n protected async updateViewPopup(e: AXClickEvent, selectedView: any) {\n // (e.nativeEvent as UIEvent).stopPropagation();\n const popup = await this.popupService.open(AXPEntityCreateCustomViewComponent, {\n title: 'Modify Custom View',\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n closeOnBackdropClick: true,\n draggable: false,\n data: {\n loader: this.loader,\n selectedView,\n mode: 'edit',\n },\n });\n if (popup.data?.delete == true) {\n this.loader.deleteView(popup.data.viewName);\n }\n if (popup.data?.save == true) {\n console.log('updatedView: ', popup.data.updatedView);\n this.loader.updateView(popup.data.updatedView);\n }\n }\n\n ngOnDestroy(): void {\n this.dataSource.reset();\n }\n}\n","<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"true\" [mode]=\"platform.is('SM') ? 'overlay' : 'push'\">\n <ax-content class=\"ax-w-64 ax-border-e\">\n <div class=\"ax-p-6 ax-py-4 ax-gap-6 ax-flex ax-flex-col\">\n <p class=\"ax-text-2xl ax-font-bold\">Folders</p>\n <ax-side-menu>\n <ng-container *ngFor=\"let node of menuItems\" [ngTemplateOutlet]=\"sideMenu\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\">\n </ng-container>\n </ax-side-menu>\n <ng-template #sideMenu let-item>\n <ax-side-menu-item [text]=\"item.text\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-folder ax-text-warning-500\"></ax-icon>\n </ax-prefix>\n <ng-container *ngIf=\"item.children\">\n <ng-container *ngFor=\"let child of item.children\" [ngTemplateOutlet]=\"sideMenu\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n </ng-template>\n </div>\n </ax-content>\n </ax-drawer> -->\n <ax-content class=\"ax-flex ax-flex-col ax-overflow-hidden\">\n <div\n class=\"ax-flex ax-flex-col ax-gap-0 md:ax-gap-4 ax-px-4 ax-py-3 md:ax-py-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\"\n >\n @if(platform.is('MD')){\n <div class=\"ax-flex ax-justify-between ax-mb-4\">\n @if(this.grid?.selectedRows?.length==0){\n <div class=\"ax-text-xl ax-font-bold\">{{ title }}</div>\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n @if(canCreate) {\n <ax-button color=\"primary\" class=\"ax-sm\" (onClick)=\"handleCreateClick()\">\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-button>\n }\n <ax-button color=\"ghost\" class=\"ax-sm\" #more>\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"> </ax-icon>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list>\n <ax-button-item text=\"Export\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-file-export\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }@else {\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ this.grid?.selectedRows?.length }} Items Selected </span>\n <span (click)=\"clearSelectedItems()\" class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\"\n >Clear Items</span\n >\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n @if(canDelete) {\n <ax-button color=\"danger\" class=\"ax-sm\" (onClick)=\"handleCommandClick('delete')\">\n <ax-icon class=\"fa-solid fa-trash\"> </ax-icon>\n </ax-button>\n }\n <ax-button color=\"ghost\" class=\"ax-sm\" #more>\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"> </ax-icon>\n </ax-button>\n </div>\n }\n </div>\n\n <div class=\"ax-flex ax-items-center ax-justify-between\">\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" [text]=\"(view$ | async)?.title\" color=\"ghost\">\n <ax-icon class=\"fa-solid fa-eye ax-text-neutral-400\"> </ax-icon>\n <ax-suffix>\n <i class=\"fa-solid fa-caret-down\"></i>\n </ax-suffix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list class=\"ax-bg-surface\">\n <ax-title class=\"ax-font-bold ax-opacity-100\">{{ 'entity.public-view' | translate | async }}</ax-title>\n <ax-button-item\n *ngFor=\"let v of publicViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n ></ax-button-item>\n <ax-title class=\"ax-font-bold ax-opacity-100\" *ngIf=\"hasCustomViews$ | async\">Created by me</ax-title>\n <ax-button-item\n *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n ></ax-button-item>\n <ng-container *feature=\"'axp-entity-list-custom-view'\">\n <ax-divider></ax-divider>\n <ax-button-item (onClick)=\"addCustomViewPopup()\" text=\"Add Custom View\" class=\"ax-font-semibold ax-text-primary\"></ax-button-item>\n </ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <div class=\"ax-flex ax-gap-2\">\n @if(searchBoxTitle){\n <ax-button (onClick)=\"toggleSearchBox()\" [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\">\n <ax-icon class=\"fa-solid fa-search ax-text-neutral-400\"> </ax-icon>\n </ax-button>\n }\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\" (onClick)=\"columnsDrawer.open()\">\n <ax-icon class=\"fa-solid fa-bars ax-text-neutral-400\"> </ax-icon>\n </ax-button>\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\">\n <ax-icon class=\"fa-solid fa-sliders ax-text-neutral-400\"> </ax-icon>\n @if ((conditionsCount$ | async)) {\n <ax-suffix>\n <ax-badge [color]=\"'primary'\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\" (onClick)=\"sortsDrawer.open()\">\n <ax-icon class=\"fa-solid fa-bars-sort ax-text-neutral-400\"> </ax-icon>\n @if ((sortCount$ | async)) {\n <ax-suffix>\n <ax-badge [color]=\"'primary'\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n </div>\n </div>\n <div [class.collapsed-search-box]=\"searchBoxCollapsed\" class=\"ax-transition-all ax-mt-4\">\n <ax-search-box [title]=\"searchBoxTitle\" [placeholder]=\"('widget.lookup.search' | translate | async) + searchBoxPlaceholder\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n </div>\n } @else {\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-3\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold ax-mb-2\">{{ title }}</div>\n @if(this.grid?.selectedRows?.length==0){\n <div class=\"ax-flex ax-gap-3\">\n @if(canCreate) {\n <ax-button [text]=\"'create-new' | translate | async\" color=\"primary\" (onClick)=\"handleCreateClick()\">\n <ax-prefix>\n <i class=\"fa-solid fa-add\"></i>\n </ax-prefix>\n </ax-button>\n }\n <ax-button [text]=\"'Actions' | translate | async\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list>\n @if(canImport){\n <ax-button-item (onClick)=\"handleImportClick()\" text=\"Import\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-file-import\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n <ax-button-item text=\"Export\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-file-export\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }@else {\n <div class=\"ax-flex ax-gap-3\">\n @if(canDelete) {\n <ax-button text=\"Delete Items\" color=\"danger\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <i class=\"fa-solid fa-trash\"></i>\n </ax-prefix>\n </ax-button>\n }\n <ax-button [text]=\"'Actions' | translate | async\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-between\">\n <!----------------------- View Mode --------------------->\n @if(this.grid?.selectedRows?.length==0) {\n <div class=\"ax-flex ax-w-full ax-justify-between ax-gap-3\">\n <div class=\"ax-flex ax-gap-3\">\n <ax-button [text]=\"(view$ | async)?.title\" #views color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-eye\"></i>\n </ax-prefix>\n <ax-suffix>\n <i class=\"fa-solid fa-caret-down\"></i>\n </ax-suffix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list class=\"ax-bg-surface\">\n <ax-title class=\"ax-font-bold ax-opacity-100\">{{ 'entity.public-view' | translate | async }}</ax-title>\n <ax-button-item\n *ngFor=\"let v of publicViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n ></ax-button-item>\n <ax-title class=\"ax-font-bold ax-opacity-100\" *ngIf=\"hasCustomViews$ | async\">Created by me</ax-title>\n <ax-button-item\n class=\"ax-pe-4 ax-flex ax-justify-between\"\n *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n >\n <ax-suffix>\n <ax-button (onClick)=\"updateViewPopup($event, v)\" class=\"ax-xs\" look=\"none\">\n <ax-icon class=\"far fa-edit\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-button-item>\n <ng-container *feature=\"'axp-entity-list-custom-view'\">\n <ax-divider></ax-divider>\n <ax-button-item text=\"Add Custom View\" (onClick)=\"addCustomViewPopup()\" class=\"ax-font-semibold ax-text-primary\"></ax-button-item>\n </ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n @if(searchBoxTitle){\n <div class=\"ax-w-72\">\n <ax-search-box\n [title]=\"searchBoxTitle\"\n [(ngModel)]=\"searchValue\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"\n [placeholder]=\"('widget.lookup.search' | translate | async) + searchBoxPlaceholder\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n </div>\n }\n </div>\n\n <div class=\"ax-flex ax-gap-3\">\n <ax-button [text]=\"'entity.columns' | translate | async\" color=\"ghost\" #columns (onClick)=\"columnsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"{{ columnsCount$ | async }}\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button text=\"Filters\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\" #conditions>\n <ax-prefix>\n <i class=\"fa-solid fa-sliders\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"{{ conditionsCount$ | async }}\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button [text]=\"'entity.sort' | translate | async\" color=\"ghost\" (onClick)=\"sortsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars-sort\"></i>\n </ax-prefix>\n <ax-suffix *ngIf=\"(sortCount$ | async)! > 0\">\n <ax-badge text=\"{{ sortCount$ | async }}\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n\n } @else{\n <!----------------------- Selection Mode --------------------->\n <div>\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ this.grid?.selectedRows?.length }} Items Selected </span>\n <span (click)=\"clearSelectedItems()\" class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\"\n >Clear Items</span\n >\n </div>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"ax-flex-1 ax-px-6 ax-py-4 ax-flex ax-overflow-auto\">\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [dataSource]=\"dataSource\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n [loading]=\"{ enabled: true, animation: true }\"\n >\n <!-- <ax-index-column *ngIf=\"!platform.is('SM')\" [width]=\"'85px'\"></ax-index-column> -->\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of (columns$ | async);track col.name) {\n <axp-widget-column-renderer\n *ngIf=\"col.visible\"\n [schema]=\"col.schema\"\n [dataField]=\"col.name\"\n [caption]=\"col.title\"\n [options]=\"col.options\"\n [displayFormat]=\"col.displayFormat\"\n [width]=\"'180px'\"\n [allowSorting]=\"false\"\n >\n </axp-widget-column-renderer>\n }\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-dropdown-command-column>\n <ax-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getInlineRowItems\" (onItemClick)=\"handleRowCommandClick($event)\"></ax-command-column>\n </ax-data-table>\n </div>\n </ax-content>\n <ax-drawer (collapsedChange)=\"closeDrawer('columns', $event)\" #columnsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[20vw] ax-border-e\">\n <axp-list-view-option-columns [loader]=\"loader\" (onClosed)=\"columnsDrawer.close()\"></axp-list-view-option-columns>\n </ax-content>\n </ax-drawer>\n <ax-drawer (collapsedChange)=\"closeDrawer('conditions', $event)\" #conditionsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[25vw] ax-border-e\">\n <axp-list-view-option-conditions [loader]=\"loader\" (onClosed)=\"conditionsDrawer.close()\"></axp-list-view-option-conditions>\n </ax-content>\n </ax-drawer>\n <ax-drawer (collapsedChange)=\"closeDrawer('sorts', $event)\" #sortsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[20vw] ax-border-e\">\n <axp-list-view-option-sorting (onClosed)=\"sortsDrawer.close()\" [loader]=\"loader\"></axp-list-view-option-sorting>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>\n","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXListModule } from '@acorex/components/list';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDropList } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n AXPListViewOptionConditionsComponent,\n AXPListViewOptionFilterOperatorComponent,\n AXPListViewOptionSortingComponent,\n AXPListViewOptionsColumnsComponent,\n} from './components';\nimport { AXPEntityListViewComponent } from './entity-list-view.component';\n\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXPCommonWidgetModule, AXPSchemaModule } from '@acorex/platform/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXPEntityCreateCustomViewComponent } from './components/entity-custom-view/entity-custom-view.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n AXCommonModule,\n AXDataTableModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXDropdownModule,\n AXPopoverModule,\n AXImageModule,\n AXSwitchModule,\n AXDrawerModule,\n AXLoadingModule,\n AXTabsModule,\n AXSelectBoxModule,\n AXFormModule,\n AXListModule,\n AXTextBoxModule,\n AXSearchBoxModule,\n AXLabelModule,\n AXCollapseModule,\n AXActionSheetModule,\n AXSelectionListModule,\n AXImageModule,\n AXDialogModule,\n AXDropdownButtonModule,\n //\n CdkDropList,\n CdkDrag,\n CdkDragPlaceholder,\n CdkDragHandle,\n PortalModule,\n AXPSchemaModule,\n AXPCommonWidgetModule,\n AXPAuthModule,\n AXTranslationModule,\n ],\n declarations: [\n AXPEntityListViewComponent,\n AXPEntityCreateCustomViewComponent,\n AXPListViewOptionsColumnsComponent,\n AXPListViewOptionConditionsComponent,\n AXPListViewOptionFilterOperatorComponent,\n AXPListViewOptionSortingComponent,\n ],\n providers: [],\n})\nexport class AXPListViewModule {}\n","import { AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption } from '@acorex/components/common';\nimport { AXPEntityConfig, AXPEntityListColumnConfig, AXPEntityListConditionConfig, AXPEntityListDisplayColumnConfig, AXPEntityListSortConfig, AXPEntityListViewConfig, AXPEntityListViewConfigEmpty, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPSchemaRegistryService } from '@acorex/platform/common';\nimport { Injectable, InjectionToken, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, first, map, of, switchMap } from 'rxjs';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\n\nexport interface AXPListViewLoader {\n get properties$(): Observable<AXPEntityPropertyConfig[]>;\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n\n get views$(): Observable<AXPEntityListViewConfig[]>;\n get publicViews$(): Observable<AXPEntityListViewConfig[]>;\n get customViews$(): Observable<AXPEntityListViewConfig[]>;\n get hasCustomViews$(): Observable<boolean>;\n get view$(): Observable<AXPEntityListViewConfig>;\n setDefaultView(): void;\n setView(name: string): void;\n createView(view: AXPEntityListViewConfig): void;\n updateView(view: AXPEntityListViewConfig): void;\n deleteView(viewName: string): void;\n\n get columns$(): Observable<AXPEntityListColumnConfig[]>;\n get displayColumns$(): Observable<AXPEntityListDisplayColumnConfig[]>;\n get displayColumnsCount$(): Observable<number>;\n setColumnVisibility(name: string, visible: boolean): void;\n updateColumns(items: AXPEntityListDisplayColumnConfig[]): void;\n resetColumns(): void;\n\n get sorts$(): Observable<AXPEntityListSortConfig[]>;\n get sortsCount$(): Observable<number>;\n addSort(): void;\n resetSort(): void;\n removeSort(item: AXPEntityListSortConfig): void;\n updateSort(items: AXPEntityListSortConfig[]): void;\n\n get conditions$(): Observable<AXPEntityListConditionConfig[]>;\n get conditionsCount$(): Observable<number>;\n getInlineFilterTitles(): string[];\n\n addCondition(selectedFields: { name: string; opr: string }[]): void;\n resetConditions(): void;\n removeCondition(item: AXPEntityListConditionConfig): void;\n handleInlineSearch(value: string): void;\n updateConditions(items: AXPEntityListConditionConfig[]): void;\n\n get dataSource(): AXDataSource;\n get entity(): AXPEntityConfig;\n}\n\nexport class AXPListViewLoaderDefault implements AXPListViewLoader {\n private _config!: AXPEntityConfig;\n private _dataSource: AXDataSource = new AXDataSource(this.entity.dataSource);\n private _inlineFilterItems: { name: string; dataType: string | undefined; title: string }[] = [];\n\n constructor(private config: AXPEntityConfig, private schemaService: AXPSchemaRegistryService) {\n this._inlineFilterItems = this.entity.properties\n .filter((property) => property.canInlineFilter)\n .map((item) => {\n const schema = this.schemaService.resolve(item.schema);\n return { name: item.name, dataType: schema?.dataType, title: item.title };\n });\n }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get dataSource(): AXDataSource {\n return this._dataSource;\n }\n\n //****************** Properties ******************//\n private get props(): AXPEntityPropertyConfig[] {\n return this.entity.properties;\n }\n private _props$ = new BehaviorSubject<AXPEntityPropertyConfig[]>(this.props);\n\n public get properties$(): Observable<AXPEntityPropertyConfig[]> {\n return this._props$;\n }\n\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n\n //****************** Views ******************//\n\n private _currentView = 'default';\n\n private get views() {\n return this.entity.views.list?.views!;\n }\n\n private _views$ = new BehaviorSubject<AXPEntityListViewConfig[]>(this.views);\n public get views$(): Observable<AXPEntityListViewConfig[]> {\n return this._views$;\n }\n public get view$(): Observable<AXPEntityListViewConfig> {\n return this.views$.pipe(\n switchMap((views) => {\n const view = views.find((c) => c.name === this._currentView);\n if (view) {\n return of(view);\n } else if (this.views.length > 0) {\n return of(this.views[0]);\n } else {\n return of(AXPEntityListViewConfigEmpty);\n }\n })\n );\n }\n\n public get publicViews$(): Observable<AXPEntityListViewConfig[]> {\n return this.views$.pipe(map((c) => c.filter((v) => v.fixed)));\n }\n\n public get customViews$(): Observable<AXPEntityListViewConfig[]> {\n return this.views$.pipe(map((c) => c.filter((v) => !v.fixed)));\n }\n\n public get hasCustomViews$(): Observable<boolean> {\n return this.customViews$.pipe(map((c) => c.length > 0));\n }\n\n public setDefaultView() {\n this.setView(this.views[0].name);\n }\n\n public setView(name: string): void {\n let propNames: string[] = [];\n this.properties$.pipe(first()).subscribe((properties) => {\n propNames = properties.map((p) => p.name);\n });\n this._currentView = name;\n const updatedView = this._views$.value.find((c) => c.name === this._currentView) || AXPEntityListViewConfigEmpty;\n const currentViews = this._views$.value;\n const updatedViews = currentViews.map((view) => {\n if (view.name === updatedView.name) {\n return updatedView;\n } else {\n return view;\n }\n });\n\n this._currentConditions$.next(cloneDeep(updatedView.conditions.filter((c) => propNames.includes(c.name))));\n this._currentSorts$.next(cloneDeep(updatedView.sorts.filter((s) => propNames.includes(s.name))));\n // this._columns$.next(updatedView.columns);\n this._currentDisplayColumns$.next(cloneDeep(updatedView.columns.filter((c) => propNames.includes(c.name))));\n this._views$.next(updatedViews);\n\n //apply conditions and sorts:\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: updatedView.conditions.map((c) => ({\n field: c.name,\n value: c.value,\n operator: { type: c.operator },\n })) as any,\n });\n const convertedSortItems: AXDataSourceSortOption[] = updatedView.sorts.map((s) => ({\n field: s.name,\n dir: s.dir,\n }));\n this.dataSource.sort(...convertedSortItems);\n\n this.dataSource.refresh();\n }\n\n createView(newView: AXPEntityListViewConfig): void {\n const currentViews = this._views$.getValue();\n currentViews.push(newView);\n this._views$.next(currentViews);\n this.setView(newView.name);\n }\n updateView(updatedView: AXPEntityListViewConfig): void {\n const currentViews = this._views$.getValue().map((view) => (view.name === updatedView.name ? updatedView : view));\n this._views$.next(currentViews);\n this.setView(updatedView.name);\n }\n deleteView(viewName: string): void {\n const currentViews = this._views$.getValue().filter((view) => view.name !== viewName);\n this._views$.next(currentViews);\n this.setView(this.views[0].name);\n }\n\n //****************** Columns ******************//\n\n private _currentDisplayColumns$ = new BehaviorSubject<AXPEntityListDisplayColumnConfig[]>([]);\n\n private get columns(): AXPEntityListColumnConfig[] {\n return this.entity.properties.map((p) => ({\n name: p.name,\n title: p.title,\n schema: p.schema,\n }));\n }\n\n private _columns$ = new BehaviorSubject<AXPEntityListColumnConfig[]>(this.columns);\n\n public get columns$(): Observable<AXPEntityListColumnConfig[]> {\n return this._columns$.pipe(defaultIfEmpty([]));\n }\n\n public get displayColumns$(): Observable<AXPEntityListDisplayColumnConfig[]> {\n return this._currentDisplayColumns$.pipe(defaultIfEmpty([]));\n }\n\n public get displayColumnsCount$(): Observable<number> {\n return this.view$.pipe(\n map((view) => {\n return view.columns.filter((column) => column.visible).length;\n })\n );\n }\n\n updateColumns(items: AXPEntityListDisplayColumnConfig[]): void {\n this.view$.pipe(first()).subscribe((view) => {\n view.columns = cloneDeep(items);\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n });\n }\n\n resetColumns(): void {\n this.view$.pipe(first()).subscribe((view) => {\n this._currentDisplayColumns$.next(cloneDeep(view.columns));\n });\n }\n\n setColumnVisibility(name: string, visible: boolean) {\n const updatedColumns = this._currentDisplayColumns$.getValue().map((column) => {\n if (column.name === name) {\n return { ...column, visible };\n } else {\n return column;\n }\n });\n this._currentDisplayColumns$.next(updatedColumns);\n }\n\n //****************** Sort ******************//\n private _currentSorts$ = new BehaviorSubject<AXPEntityListSortConfig[]>([]);\n\n public get sorts$(): Observable<AXPEntityListSortConfig[]> {\n return this._currentSorts$.pipe(defaultIfEmpty([]));\n }\n\n public get sortsCount$(): Observable<number> {\n return this.view$.pipe(map((c) => c.sorts.length));\n }\n\n addSort(): void {\n this.view$.pipe(first()).subscribe((view) => {\n const currentSorts = this._currentSorts$.getValue();\n const name = view.columns.find((c) => !currentSorts.some((s) => s.name == c.name))?.name ?? '';\n if (name) {\n const sorts = [...currentSorts, { name, dir: 'asc' } as AXPEntityListSortConfig];\n this._currentSorts$.next(sorts);\n }\n });\n }\n\n removeSort(item: AXPEntityListSortConfig): void {\n const currentSorts = this._currentSorts$.getValue();\n const sorts = currentSorts.filter((c) => c != item);\n this._currentSorts$.next(sorts);\n }\n\n resetSort(): void {\n this.view$.pipe(first()).subscribe((view) => {\n this._currentSorts$.next(cloneDeep(view.sorts));\n });\n }\n\n updateSort(items: AXPEntityListSortConfig[]): void {\n this.view$.pipe(first()).subscribe((view) => {\n view.sorts = cloneDeep(items);\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n const convertedSortItems: AXDataSourceSortOption[] = items.map((s) => ({\n field: s.name,\n dir: s.dir,\n }));\n this.dataSource.sort(...convertedSortItems);\n this.dataSource.refresh();\n });\n }\n\n //****************** Conditions ******************//\n\n private _currentConditions$ = new BehaviorSubject<AXPEntityListConditionConfig[]>([]);\n\n public get conditions$(): Observable<AXPEntityListConditionConfig[]> {\n return this._currentConditions$.pipe(defaultIfEmpty([]));\n }\n public get conditionsCount$(): Observable<number> {\n return this.view$.pipe(map((c) => c.conditions.length));\n }\n\n public getInlineFilterTitles(): string[] {\n return this._inlineFilterItems.map((item) => item.title);\n }\n\n addCondition(selectedFields: { name: string; opr: any; value?: any }[]): void {\n const prevConditions = this._currentConditions$.getValue();\n const conditionsMap = new Map(prevConditions.map((item) => [item.name, item]));\n\n const newFields = selectedFields.map(\n (field) => conditionsMap.get(field.name) || { name: field.name, operator: field.opr }\n );\n this._currentConditions$.next(newFields as AXPEntityListConditionConfig[]);\n }\n\n removeCondition(item: AXPEntityListConditionConfig): void {\n const currentConditions = this._currentConditions$.getValue();\n const conditions = currentConditions.filter((c) => c != item);\n this._currentConditions$.next(conditions);\n }\n updateConditions(items: AXPEntityListConditionConfig[]): void {\n this.view$.pipe(first()).subscribe((view) => {\n view.conditions = cloneDeep(items);\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n });\n this.applyAllConditions();\n }\n\n handleInlineSearch(value: string) {\n const inlineConditions: AXPEntityListConditionConfig[] = [];\n\n this._inlineFilterItems?.forEach((property) => {\n if (property?.dataType == 'string' || property?.dataType == 'number') {\n inlineConditions.push({\n name: property.name,\n value: property.dataType == 'number' ? parseFloat(value) : value,\n operator: property.dataType == 'string' ? 'contains' : 'equal',\n });\n }\n });\n this.view$.pipe(first()).subscribe((view) => {\n view.inlineConditions = cloneDeep(inlineConditions);\n });\n this.applyAllConditions();\n }\n\n applyAllConditions() {\n const inlineConditions: AXDataSourceFilterOption = {\n field: null as any,\n operator: null as any,\n logic: 'or',\n filters: [],\n };\n\n const mainConditions: AXDataSourceFilterOption = {\n field: null as any,\n operator: null as any,\n logic: 'and',\n filters: [],\n };\n\n this.view$.pipe(first()).subscribe((view) => {\n if (view.inlineConditions && view.inlineConditions.length) {\n view.inlineConditions?.forEach((c) => {\n if (c.value) {\n inlineConditions.filters?.push({\n field: c.name,\n operator: { type: c.operator } as any,\n value: c.value,\n });\n }\n });\n }\n if (view.conditions.length) {\n view.conditions.forEach((c) => {\n mainConditions.filters?.push({\n field: c.name,\n operator: { type: c.operator } as any,\n value: c.value,\n });\n });\n }\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [mainConditions, inlineConditions],\n });\n this.dataSource.refresh();\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n });\n }\n\n resetConditions(): void {\n this.view$.pipe(first()).subscribe((view) => {\n this._currentConditions$.next(cloneDeep(view.conditions));\n });\n }\n}\n\nexport const AXP_LISTVIEW_LOADER = new InjectionToken<AXPListViewLoader>('AXP_LISTVIEW_LOADER');\n\n@Injectable({ providedIn: 'root' })\nexport class AXPListViewLoaderFactory {\n private cache: Map<string, AXPListViewLoader> = new Map();\n private entityService = inject(AXPEntityRegistryService);\n private schemaService = inject(AXPSchemaRegistryService);\n private layout = inject(AXPLayoutService);\n\n public async create(moduleName: string, entityName: string): Promise<AXPListViewLoader> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n let result = this.cache.get(config.name);\n if (result) {\n this.layout.setNavigationLoading(false);\n return result;\n }\n result = new AXPListViewLoaderDefault(config, this.schemaService);\n this.cache.set(config.name, result);\n this.layout.setNavigationLoading(false);\n return result;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXPAdminLayoutState, AXPCommonWidgetModule, AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityViewRootSectionConfig, AXPSchemaModule } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\n\n@Component({\n templateUrl: 'entity-quick-view.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, AXPSchemaModule, AXPCommonWidgetModule, AXDecoratorModule, AXButtonModule, AXDropdownModule, AXDropdownButtonModule],\n})\nexport class AXPEntityQuickViewComponent extends AXBasePageComponent {\n private entity!: AXPEntityConfig;\n protected root!: AXPEntityViewRootSectionConfig;\n private store = inject(Store<AXPAdminLayoutState>);\n private workflow = inject(AXPWorkflowService);\n\n protected canDelete = false;\n protected canCreate = false;\n protected canUpdate = false;\n\n protected data: any;\n\n /**\n *\n */\n constructor(private actions$: Actions) {\n super();\n }\n\n override ngOnInit() {\n super.ngOnInit();\n //\n if (this.entity.views.quickView) {\n this.root = this.entity.views.quickView?.root;\n this.canDelete = this.entity.editOptions?.delete ?? true;\n this.canCreate = this.entity.editOptions?.create ?? true;\n this.canUpdate = this.entity.editOptions?.update ?? true;\n }\n }\n\n protected getProperties(names: string[]): AXPEntityPropertyConfig[] {\n return this.entity.properties.filter((c) => names.includes(c.name));\n }\n\n handleCloseClick() {\n this.close();\n }\n\n protected handleCommandClick(command: string) {\n switch (command) {\n case 'delete':\n this.workflow.execute('delete-entity', {\n module: this.entity.module,\n entity: this.entity.name,\n ids: [this.data.id],\n });\n this.close();\n break;\n case 'details':\n this.workflow.execute('show-details', {\n payload: {\n module: this.entity.module,\n entity: this.entity.name,\n },\n id: this.data.id,\n });\n this.close();\n break;\n default:\n break;\n }\n }\n}\n","<div class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\">\n <div class=\"ax-flex ax-flex-col ax-gap-2\" *ngIf=\"root.properties?.length\">\n <div *ngFor=\"let p of getProperties(root.properties)\"\n class=\"ax-flex ax-p-4 odd:ax-bg-on-surface odd:ax-border-t odd:ax-border-b\">\n <div class=\"ax-min-w-[10rem] ax-text-gray-500\">\n <span>{{ p.title }}</span>\n </div>\n <div class=\"ax-min-w-[30rem]\">\n <axp-widget-renderer [schema]=\"p.schema\" [context]=\"data\" [prop]=\"p\"></axp-widget-renderer>\n </div>\n </div>\n </div>\n <div *ngFor=\"let s of root.sections\"\n class=\"ax-flex ax-flex-col ax-pb-3 last-of-type:ax-border-none last-of-type:ax-pb-3\">\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold\">{{ s.title }}</span>\n </div>\n <div class=\"ax-flex ax-flex-col\">\n <div *ngFor=\"let p of getProperties(s.properties)\"\n class=\"ax-flex ax-flex-col md:ax-flex-row ax-p-3 odd:ax-bg-on-surface odd:ax-border-t odd:ax-border-b\">\n @if (s.options?.showPropTitle!=false) {\n <div class=\"ax-min-w-[10rem] ax-text-neutral-500 dark:ax-text-neutral-300 ax-mb-2 md:ax-mb-0\">\n <span>{{ p.title }}</span>\n </div>\n }\n <div class=\"md:ax-min-w-[30rem]\">\n <axp-widget-renderer [schema]=\"p.schema\" [context]=\"data\" [prop]=\"p\" [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button text=\"Close\" (onClick)=\"handleCloseClick()\">\n <ax-button-item-list>\n <ax-button-item text=\"View Details\" (onClick)=\"handleCommandClick('details')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-info-circle\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if(canDelete)\n {\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix></ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-button>\n </ax-suffix>\n</ax-footer>","import { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\nimport { AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPEntityViewConfig } from '@acorex/platform/common';\n\nexport interface AXPEntityModifyViewLoader {\n get entity(): AXPEntityConfig;\n get data(): any;\n get section(): any;\n\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n update(values: any): Promise<any>;\n}\n\nexport class AXPEntityModifyLoaderDefault implements AXPEntityModifyViewLoader {\n private _config!: AXPEntityConfig;\n private _data: any = {};\n private _currentSection: any;\n\n constructor(private config: AXPEntityConfig, private selectedData: any, private selectedSection: any) {\n this._data = this.selectedData;\n this._currentSection = this.selectedSection;\n }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get data(): any {\n return this._data;\n }\n get section(): any {\n return this._currentSection;\n }\n\n private get view(): AXPEntityViewConfig {\n return this.entity.views.detailView as AXPEntityViewConfig;\n }\n\n //****************** Properties ******************//\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n\n //****************** update ******************//\n public async update(values: any): Promise<any> {\n if (this._config.commands?.update) {\n const updated = await this._config.commands?.update(this._data.id, values);\n Object.assign(this._data, updated);\n return Promise.resolve();\n } else {\n return Promise.reject(`There is not any update commands for '${this.config.name}'`);\n }\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityModifyViewLoaderFactory {\n private entityService = inject(AXPEntityRegistryService);\n private layout = inject(AXPLayoutService);\n\n public async create(\n moduleName: string,\n entityName: string,\n id: string,\n section: any\n ): Promise<AXPEntityModifyViewLoader> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n if (config.dataSource.byKey) {\n const data = await config.dataSource.byKey(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityModifyLoaderDefault(config, data, section);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPEntityModifyViewLoaderFactory } from '../entity-modify-view/entity-modify-view.config';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\n\nexport const AXPEntityModifyEvent = createWorkFlowEvent<{ module: string; entity: string; updateValues: any }>(\n '[Entity] Modified'\n);\n@Injectable()\nexport class AXPEntityModifyPopupAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityRegistery = inject(AXPEntityRegistryService);\n private entityCreateFactory = inject(AXPEntityModifyViewLoaderFactory);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const { module, entity: entityName, section, id } = payload;\n const entity = await this.entityRegistery.resolve(module, entityName);\n const loader = await this.entityCreateFactory.create(module, entityName, id, section);\n\n const com = await import('../entity-modify-view/entity-modify-view.component');\n const popup = await this.popupService.open(com.AXPEntityModifyViewComponent, {\n title: `Modify ${payload.section.title}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n context: loader.data,\n loader: loader,\n properties: payload.section.properties,\n entity,\n },\n });\n context.setOutput('popupResult', false);\n if (popup.data?.result == true) {\n context.setOutput('popupResult', true);\n context.setVariable('updatedData', cloneDeep(popup.data.context));\n }\n }\n}\n\nexport class AXPEntityModifyConfirmedAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const updatedData = context.getVariable('updatedData');\n const entity = await this.entityRegistery.resolve(payload.module, payload.entity);\n this.dispatch(AXPEntityModifyEvent({ module: entity.module, entity: entity.name, updateValues: updatedData }));\n }\n}\n\nexport const AXPModifyEntityWorkflow: AXPWorkflow = {\n startStepId: 'modifyPopup',\n steps: {\n modifyPopup: {\n id: 'modifyPopup',\n action: 'AXPEntityModifyPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Modified',\n content: 'Record has been successfully updated.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n nextSteps: [\n {\n conditions: [],\n nextStepId: '',\n },\n ],\n },\n },\n};\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable()\nexport class AXPShowQuickViewAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private formatService = inject(AXFormatService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n\n const entity = await this.entityRegistery.resolve(payload.module, payload.entity);\n const suggestedProps = entity.properties.find((c) => ['title', 'name', 'code'].includes(c.name));\n let suggestedFormat = 'Item #{{id}}';\n if (suggestedProps) suggestedFormat = `{{${suggestedProps.name}}}`;\n const title = this.formatService.format(entity.formats?.header ?? entity.formats?.default ?? suggestedFormat, 'string', payload.data);\n //\n const com = await import('../entity-quick-view/entity-quick-view.component');\n this.popupService.open(com.AXPEntityQuickViewComponent, {\n title: `${title} - Quick View`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n entity: entity,\n data: payload.data,\n },\n });\n }\n}\n\nexport const AXPShowQuickViewWorkflow: AXPWorkflow = {\n startStepId: 'showQuickView',\n steps: {\n showQuickView: {\n id: 'showQuickView',\n action: 'AXPShowQuickViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable()\nexport class AXPShowDetailViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const id = context.getVariable('id');\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/${payload.module}/e/${payload.entity}/${id}/view`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\n\nexport const AXPShowDetailsViewWorkflow: AXPWorkflow = {\n startStepId: 'showDetailView',\n steps: {\n showDetailView: {\n id: 'showDetailView',\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n\n@Injectable()\nexport class AXPShowListViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n async execute(context?: any): Promise<void> {\n const payload = context.getVariable('payload');\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/${payload.entity.module}/e/${payload.entity}/list`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\nexport const AXPShowListViewWorkflow: AXPWorkflow = {\n startStepId: 'showListView',\n steps: {\n showListView: {\n id: 'showListView',\n action: 'AXPShowListViewAction',\n },\n },\n};\n","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXHtmlEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerComponent, AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport {\n AXPAdminLayoutState,\n AXPCommonWidgetModule,\n AXPEntityViewChildSectionConfig,\n AXPLayoutChildDrawerClose,\n AXPLayoutChildDrawerToggle,\n AXPSchemaModule,\n AXPStickyDirective,\n getChildDrawer,\n isSmallScreen,\n} from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule, Location } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, WritableSignal, inject, signal } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { first } from 'rxjs';\nimport { AXPEntityDeletedEvent, AXPEntityModifyEvent } from '../workflows';\nimport { AXPEntityDetailViewLoader } from './detail-view.config';\n@Component({\n templateUrl: './entity-details-view.component.html',\n imports: [\n CommonModule,\n RouterModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXImageModule,\n AXActionSheetModule,\n AXSwitchModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXBadgeModule,\n AXButtonModule,\n AXSwitchModule,\n AXPSchemaModule,\n AXTooltipModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n //\n AXPCommonWidgetModule,\n AXPStickyDirective,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber],\n})\nexport class AXPEntityDetailsViewComponent {\n private popupService = inject(AXPopupService);\n private sessionService = inject(AXPSessionService);\n private activeRoute = inject(ActivatedRoute);\n private router = inject(Router);\n private location = inject(Location);\n private cdr = inject(ChangeDetectorRef);\n private platform = inject(AXPlatform);\n private workflow = inject(AXPWorkflowService);\n\n protected loader = this.activeRoute.snapshot.data['loader'] as AXPEntityDetailViewLoader;\n\n @ViewChild('drawer') drawer!: AXDrawerComponent;\n\n private store = inject(Store<AXPAdminLayoutState>);\n protected isSM = this.store.select(isSmallScreen());\n protected isOpen = this.store.select(getChildDrawer());\n //\n protected canDelete = this.loader.entity.editOptions?.delete ?? true;\n protected canCreate = this.loader.entity.editOptions?.create ?? true;\n protected canUpdate = this.loader.entity.editOptions?.update ?? true;\n //\n\n protected context: WritableSignal<any> = signal(cloneDeep(this.loader.data));\n\n constructor(private actions$: Actions, private unsubscriber: AXUnsubscriber) {\n this.activeRoute.paramMap.pipe(first()).subscribe((c) => {\n this.setSection(c.get('section') as string);\n });\n //\n this.workflow.events$.pipe(ofType(AXPEntityDeletedEvent), this.unsubscriber.takeUntilDestroy).subscribe((event) => {\n if (\n event.payload.entity == this.loader.entity.name &&\n event.payload.module == this.loader.entity.module &&\n event.payload.id.includes(this.loader.data.id)\n ) {\n this.workflow.execute('show-list-view', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n }\n });\n this.workflow.events$.pipe(ofType(AXPEntityModifyEvent), this.unsubscriber.takeUntilDestroy).subscribe(async (event) => {\n if (\n event.payload.entity == this.loader.entity.name &&\n event.payload.module == this.loader.entity.module &&\n event.payload.updateValues.id === this.loader.data.id\n ) {\n await this.loader.update(event.payload.updateValues);\n this.context.set(cloneDeep(this.loader.data));\n }\n });\n }\n\n protected handleMenuClick(e: AXHtmlEvent, item: AXPEntityViewChildSectionConfig) {\n const entity = this.loader.entity;\n const path = `/${this.sessionService.application?.name}/${entity.module}/e/${entity.name}/${this.loader.data?.id}/view/${item.name}`;\n this.location.go(path);\n this.setSection(item.name);\n }\n\n protected handleCollapsedChange(value: boolean) {\n if (value) this.store.dispatch(AXPLayoutChildDrawerClose());\n }\n\n protected handleDrawerClick() {\n this.store.dispatch(AXPLayoutChildDrawerToggle());\n }\n\n private setSection(name: string) {\n this.loader.setSection(name);\n }\n\n protected async handleSectionEdit(section: AXPEntityViewChildSectionConfig) {\n this.workflow.execute('modify-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n id: this.loader.data.id,\n section: section,\n },\n });\n }\n\n protected isActive(item: AXPEntityViewChildSectionConfig) {\n return item.name == window.location.pathname.split('/').pop();\n }\n\n protected handleCommandClick(command: string) {\n switch (command) {\n case 'delete':\n this.workflow.execute('delete-entity', {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n ids: [this.loader.data.id],\n });\n break;\n case 'create': {\n this.workflow.execute('create-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n break;\n }\n default:\n break;\n }\n }\n}\n","<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\n <ax-tabs look=\"with-line\" location=\"start\">\n @for(tab of (loader.sections$ | async); track tab.name)\n {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\n [disabled]=\"editForm.context\">\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer> -->\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div\n class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\"\n [stickyParent]=\"content.getHostElement()\"\n >\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <!-- <ax-button class=\"lg:ax-hidden\">\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-button> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ loader.title }}</div>\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n <a>Home</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n <a>{{ loader.entity.title }}</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\n {{ loader.title }}\n </ax-breadcrumbs-item>\n </ax-breadcrumbs> -->\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @if(canCreate || canUpdate) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\n </ax-prefix>\n </ax-button-item> \n <ax-divider></ax-divider>-->\n @if(canCreate) {\n <ax-button-item\n [text]=\"('create-new' | translate | async) ?? ' '\"\n class=\"ax-font-semibold ax-text-primary\"\n (onClick)=\"handleCommandClick('create')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @if(canDelete) {\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Section Tab Items -->\n @if((loader.hasSections$| async)) {\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\n @for(tab of (loader.sections$ | async); track tab.name) {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\" class=\"first:!ax-ms-0\"> </ax-tab-item>\n }\n </ax-tabs>\n }\n <!-- Finish Section Tab Items -->\n </div>\n @for(section of (loader.section$ | async)?.sections; track section.name) {\n <ax-form #form>\n <div class=\"ax-card ax-shadow-md\">\n <div class=\"ax-card-header\">\n <p>{{ section.title }}</p>\n @if(canUpdate) {\n <ax-button text=\"Modify\" class=\"ax-sm\" color=\"primary\" (onClick)=\"handleSectionEdit(section)\">\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\n <ng-container *ngFor=\"let name of section.properties\">\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\n @if(section.options?.showPropTitle!=false){\n <div class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-items-start\">\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\n <!-- @if(prop.description) {\n <i\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\n [axTooltip]=\"prop.description\"\n [axTooltipPlacement]=\"'end'\"\n ></i>\n } -->\n @if(prop.description) {\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\n }\n </div>\n </div>\n }\n <div [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\" [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ax-form>\n }\n </div>\n </ax-content>\n</ax-drawer-container>\n","import { AXFormatService } from '@acorex/core/format';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { assign, cloneDeep } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, map, of, switchMap } from 'rxjs';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\nimport { AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPEntityViewChildSectionConfig, AXPEntityViewConfig } from '@acorex/platform/common';\n\nexport interface AXPEntityDetailViewLoader {\n get entity(): AXPEntityConfig;\n get data(): any;\n get title(): string;\n\n get sectionTitle(): string;\n get sections$(): Observable<AXPEntityViewChildSectionConfig[]>;\n get hasSections$(): Observable<boolean>;\n get section$(): Observable<AXPEntityViewChildSectionConfig>;\n setSection(name: string): void;\n\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n update(values: any): Promise<any>;\n}\n\nexport class AXPEntityDetailLoaderDefault implements AXPEntityDetailViewLoader {\n private _config!: AXPEntityConfig;\n private _currentSection = 'default';\n\n constructor(\n private config: AXPEntityConfig,\n private store: Store,\n private entityData: any,\n private formatService: AXFormatService\n ) { }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get data(): any {\n return this.entityData;\n }\n\n private get view(): AXPEntityViewConfig {\n return (this.entity.views.detailView ?? this.entity.views.quickView) as AXPEntityViewConfig;\n }\n\n //****************** Titles ******************//\n get title(): string {\n const suggestedProps = this.entity.properties.find((c) => ['title', 'name', 'code'].includes(c.name));\n let suggestedFormat = 'Item #{{id}}';\n if (suggestedProps) suggestedFormat = `{{${suggestedProps.name}}}`;\n const title = this.formatService.format(\n this.entity.formats?.header ?? this.entity.formats?.default ?? suggestedFormat,\n 'string',\n this.data\n );\n return title;\n }\n\n get sectionTitle(): string {\n return `${this.entity.title}`;\n }\n\n //****************** Sections ******************//\n\n private get sections(): AXPEntityViewChildSectionConfig[] {\n return this.view.root.sections?.length\n ? this.view.root.sections\n : [\n {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n },\n ];\n }\n\n private _sections$ = new BehaviorSubject<AXPEntityViewChildSectionConfig[]>(this.sections);\n\n public get sections$(): Observable<AXPEntityViewChildSectionConfig[]> {\n return this._sections$.pipe(defaultIfEmpty([]));\n }\n\n public get section$(): Observable<AXPEntityViewChildSectionConfig> {\n return this.sections$.pipe(\n switchMap((sections) => {\n const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];\n if (!section.sections?.length) {\n section.sections = [\n {\n name: 'default',\n title: 'Details',\n properties: section.properties,\n },\n ];\n }\n return of(section);\n })\n );\n }\n\n public get hasSections$(): Observable<boolean> {\n return this.sections$.pipe(map((c) => c.length > 1));\n }\n\n public setSection(name: string) {\n this._currentSection = name ?? 'default';\n const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n };\n const currentSections = this._sections$.value;\n const updatedSections = currentSections.map((section) => {\n if (section.name === updatedSection.name) {\n return updatedSection;\n } else {\n return section;\n }\n });\n this._sections$.next(updatedSections);\n }\n\n //****************** Properties ******************//\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n\n //****************** Update ******************//\n public async update(values: any): Promise<any> {\n assign(this.data, values);\n this.setSection(this._currentSection);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityDetailViewLoaderFactory {\n private entityService = inject(AXPEntityRegistryService);\n private formatService = inject(AXFormatService);\n private layout = inject(AXPLayoutService);\n private store = inject(Store);\n\n public async create(moduleName: string, entityName: string, id: string): Promise<AXPEntityDetailViewLoader> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.dataSource.byKey) {\n const data = await config.dataSource.byKey(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityDetailLoaderDefault(config, this.store, data, this.formatService);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n","import { ActivatedRouteSnapshot, RouteReuseStrategy, DetachedRouteHandle } from '@angular/router';\nimport { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';\n\n\nexport class AXPCustomReuseStrategy implements RouteReuseStrategy {\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle): void { }\n\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n return null;\n }\n\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n if (future.component === AXPEntityListViewComponent || future.component === AXPEntityDetailsViewComponent) {\n return false;\n }\n\n return future.routeConfig === curr.routeConfig;\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPEntityModifyViewLoaderFactory } from '../entity-modify-view/entity-modify-view.config';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\n\n\n@Injectable()\nexport class AXPEntityModifySectionPopupAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityRegistery = inject(AXPEntityRegistryService);\n private entityCreateFactory = inject(AXPEntityModifyViewLoaderFactory);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const { module, entity: entityName, section, id } = payload;\n const entity = await this.entityRegistery.resolve(module, entityName);\n const loader = await this.entityCreateFactory.create(module, entityName, id, section);\n\n const com = await import('../entity-modify-view/entity-modify-view.component');\n const popup = await this.popupService.open(com.AXPEntityModifyViewComponent, {\n title: `Modify ${payload.section.title}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n context: loader.data,\n loader: loader,\n properties: payload.section.properties,\n entity,\n },\n });\n context.setOutput('popupResult', false);\n if (popup.data?.result == true) {\n context.setOutput('popupResult', true);\n context.setVariable('updatedData', cloneDeep(popup.data.context));\n }\n }\n}\n\n\nexport const AXPModifyEntitySectionWorkflow: AXPWorkflow = {\n startStepId: 'modifyPopup',\n steps: {\n modifyPopup: {\n id: 'modifyPopup',\n action: 'AXPEntityModifySectionPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Modified',\n content: 'Record has been successfully updated.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n nextSteps: [\n {\n conditions: [],\n nextStepId: '',\n },\n ],\n },\n },\n};\n","import { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { RouteReuseStrategy } from '@angular/router';\nimport { AXPCustomReuseStrategy } from './custom-reuse.strategy';\nimport { AXPListViewModule } from './entity-layout';\nimport {\n AXPCreateEntityWorkflow,\n AXPEntityCreatePopupAction,\n AXPEntityCreateSubmittedAction,\n} from './entity-layout/workflows/create-entity.workflow';\nimport { AXPDeleteEntityWorkflow, AXPEntityPerformDeleteAction, AXPMyCustomFunc } from './entity-layout/workflows/delete-entity.workflow';\nimport {\n AXPEntityImportPopupAction,\n AXPEntityImportSubmittedAction,\n AXPImportEntityWorkflow,\n} from './entity-layout/workflows/import-entity.workflow';\nimport {\n AXPEntityModifyConfirmedAction,\n AXPEntityModifyPopupAction,\n AXPModifyEntityWorkflow,\n} from './entity-layout/workflows/modify-entity.workflow';\nimport { AXPEntityModifySectionPopupAction, AXPModifyEntitySectionWorkflow } from './entity-layout/workflows/modify-section.workflow';\nimport { AXPShowDetailsViewWorkflow } from './entity-layout/workflows/show-details.workflow';\nimport { AXPShowListViewWorkflow } from './entity-layout/workflows/show-list.workflow';\nimport { AXPShowQuickViewWorkflow } from './entity-layout/workflows/show-quick-view.workflow';\n\n@NgModule({\n imports: [\n AXPListViewModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityPerformDeleteAction,\n AXPEntityModifyPopupAction,\n AXPEntityModifySectionPopupAction,\n AXPEntityModifyConfirmedAction,\n AXPEntityCreatePopupAction,\n AXPEntityCreateSubmittedAction,\n AXPEntityImportPopupAction,\n AXPEntityImportSubmittedAction,\n },\n workflows: {\n 'delete-entity': AXPDeleteEntityWorkflow,\n 'modify-entity': AXPModifyEntityWorkflow,\n 'modify-entity-section': AXPModifyEntitySectionWorkflow,\n 'create-entity': AXPCreateEntityWorkflow,\n 'import-entity': AXPImportEntityWorkflow,\n 'show-details': AXPShowDetailsViewWorkflow,\n 'show-quick-view': AXPShowQuickViewWorkflow,\n 'show-list-view': AXPShowListViewWorkflow,\n },\n functions: {\n test: AXPMyCustomFunc,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [{ provide: RouteReuseStrategy, useClass: AXPCustomReuseStrategy }],\n})\nexport class AXPAdminLayoutModule {}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';\n//\nimport {\n AXPEntityDetailViewLoader,\n AXPEntityDetailViewLoaderFactory,\n AXPListViewLoader,\n AXPListViewLoaderFactory,\n} from './entity-layout';\n\nexport const AXPListViewLoaderResolver: ResolveFn<Promise<AXPListViewLoader>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPListViewLoaderFactory = inject(AXPListViewLoaderFactory)\n): Promise<AXPListViewLoader> => {\n const appName = route.parent?.paramMap.get('app') as string;\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n return service.create(moduleName, entityName);\n};\n\nexport const AXPEntityDetailViewLoaderResolver: ResolveFn<Promise<AXPEntityDetailViewLoader>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPEntityDetailViewLoaderFactory = inject(AXPEntityDetailViewLoaderFactory)\n): Promise<AXPEntityDetailViewLoader> => {\n const appName = route.parent?.paramMap.get('app') as string;\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n const id = route.paramMap.get('id') as string;\n return service.create(moduleName, entityName, id);\n};\n","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { Route } from '@angular/router';\nimport { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';\nimport { AXPEntityDetailViewLoaderResolver, AXPListViewLoaderResolver } from './entity.resolver';\n\nexport const AX_ADMIN_ROUTES: Route[] = [\n {\n path: ':app',\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: ':module',\n children: [\n {\n path: 'e/:entity/:id/view/:section',\n resolve: { loader: AXPEntityDetailViewLoaderResolver },\n component: AXPEntityDetailsViewComponent,\n },\n {\n path: 'e/:entity/:id/view',\n resolve: { loader: AXPEntityDetailViewLoaderResolver },\n component: AXPEntityDetailsViewComponent,\n },\n {\n path: 'e/:entity',\n redirectTo: ':entity/list',\n pathMatch: 'full',\n },\n {\n path: 'e/:entity/list',\n component: AXPEntityListViewComponent,\n resolve: {\n loader: AXPListViewLoaderResolver,\n },\n // canActivate: [AXPPermissionGuard],\n // data: {\n // requiredPermission: \"dynamic\"\n // }\n },\n // {\n // path: 'ee/:entity/:id/view',\n // resolve: { vm: AXPEntityDetailViewModelResolver },\n // component: AXPDefaultThemeEntityDetailsViewComponent,\n // },\n ],\n },\n ],\n },\n];\n","import { AXMWorkflowErrorHandler, AXPCommonModule, AXPDialogConfirmAction, AXPToastAction, AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { AXPShowDetailViewAction, AXPShowListViewAction, AXPShowQuickViewAction } from './admin/entity-layout/workflows';\n\n@NgModule({\n imports: [\n AXPCommonModule.forChild({ errorHandlers: [AXMWorkflowErrorHandler] }),\n AXPWorkflowModule.forChild({\n actions: {\n AXPWorkflowNavigateAction,\n AXPDialogConfirmAction,\n AXPToastAction,\n AXPShowDetailViewAction,\n AXPShowListViewAction,\n AXPShowQuickViewAction,\n },\n }),\n ],\n exports: [RouterModule],\n})\nexport class AXPLayoutModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i12","i16","i17","i5","i6","i7","i1","i8","i9","i10","i11","i13","i14","i15.AXPListViewOptionsColumnsComponent","i16.AXPListViewOptionConditionsComponent","i17.AXPListViewOptionSortingComponent","i18","ofType"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-layouts.mjs","sources":["../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-filter-operator.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/components/list-view-option-sorting/list-view-option-sorting.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-create-view/entity-create-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/create-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/delete-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/import-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/entity-list-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/entity-list-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/list-view.module.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-list-view/list-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/modify-entity.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/show-quick-view.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/show-details.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/show-list.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-details-view/entity-details-view.component.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-details-view/entity-details-view.component.html","../../../../libs/platform/layouts/src/lib/admin/entity-layout/entity-details-view/detail-view.config.ts","../../../../libs/platform/layouts/src/lib/admin/custom-reuse.strategy.ts","../../../../libs/platform/layouts/src/lib/admin/entity-layout/workflows/modify-section.workflow.ts","../../../../libs/platform/layouts/src/lib/admin/admin.module.ts","../../../../libs/platform/layouts/src/lib/admin/entity.resolver.ts","../../../../libs/platform/layouts/src/lib/admin/admin.routes.ts","../../../../libs/platform/layouts/src/lib/layout.module.ts","../../../../libs/platform/layouts/src/acorex-platform-layouts.ts"],"sourcesContent":["import { AXLocation, AXStyleColorType, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPEntityListConditionConfig, AXPEntityListDisplayColumnConfig, AXPEntityListSortConfig, AXPEntityPropertyConfig, AXPFilterOperator, AXPSchemaRegistryService, EQ_OPER } from '@acorex/platform/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n ChangeDetectionStrategy,\n Component,\n Input,\n Signal,\n WritableSignal,\n computed,\n inject,\n signal,\n} from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport { AXPListViewLoader } from '../../list-view.config';\n\n@Component({\n templateUrl: './entity-custom-view.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: AXUnsubscriber,\n },\n ],\n})\nexport class AXPEntityCreateCustomViewComponent extends AXBasePageComponent {\n private schemaRegistry = inject(AXPSchemaRegistryService);\n private toastService = inject(AXToastService);\n private dialogService = inject(AXDialogService);\n private subscriber = inject(AXUnsubscriber);\n\n @Input() loader!: AXPListViewLoader;\n @Input() mode: 'edit' | 'create' = 'create';\n @Input() selectedView: any = {};\n\n protected showNameInput: WritableSignal<boolean> = signal(false);\n protected props: WritableSignal<AXPEntityPropertyConfig[]> = signal([]);\n\n protected columns: WritableSignal<AXPEntityListDisplayColumnConfig[]> = signal([]);\n protected visibleColumns: Signal<AXPEntityListDisplayColumnConfig[]> = computed(() =>\n this.columns().filter((c) => c.visible)\n );\n protected conditions: WritableSignal<AXPEntityListConditionConfig[]> = signal([]);\n protected sorts: WritableSignal<AXPEntityListSortConfig[]> = signal([]);\n\n protected selectedConditionNames: string[] = [];\n protected viewNames: string[] = [];\n\n protected override ngOnInit(): void {\n this.props.set(cloneDeep(this.loader.entity.properties));\n this.columns.set(cloneDeep(this.selectedView.columns));\n this.conditions.set(cloneDeep(this.selectedView.conditions));\n this.sorts.set(cloneDeep(this.selectedView.sorts));\n this.loader.views$.pipe(this.subscriber.takeUntilDestroy).subscribe((views) => {\n this.viewNames = views.map((v) => v.name);\n });\n }\n\n //****************** Columns ******************//\n updateColumnItem(event: AXValueChangedEvent, colName: string) {\n if (event.isUserInteraction) {\n this.columns.update((prevCols) =>\n prevCols.map((col) => (col.name === colName ? { ...col, visible: event.value } : col))\n );\n }\n }\n\n //****************** Sorts ******************//\n updateSortItem(item: AXPEntityListSortConfig) {\n this.sorts.update((prevSorts) =>\n prevSorts.map((sort) => (sort.name === item.name ? { ...sort, dir: sort.dir == 'asc' ? 'desc' : 'asc' } : sort))\n );\n }\n addSortItem() {\n const sortNames = this.sorts().map((p) => p.name);\n console.log(this.props(), sortNames);\n const name = this.props().find((c) => !sortNames.includes(c.name))?.name || this.props()[0].name;\n this.sorts.update((prevSorts) => [...prevSorts, { name, dir: 'asc' } as AXPEntityListSortConfig]);\n }\n\n removeSortItem(item: AXPEntityListSortConfig) {\n this.sorts.update((prevSorts) => prevSorts.filter((sort) => item.name != sort.name));\n }\n\n //****************** Conditions ******************//\n protected getSchema(name: string) {\n return this.props().find((c) => c.name == name)?.schema ?? '';\n }\n\n protected getOperators(name: string): AXPFilterOperator[] {\n const schemaName = this.props().find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistry.resolve(schemaName)?.filterOptions?.operators ?? [];\n }\n\n protected getDefaultOperator(name: string): AXPFilterOperator {\n const schemaName = this.props().find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistry.resolve(schemaName)?.filterOptions?.default ?? EQ_OPER;\n }\n\n protected getOperatorTitle(schemaName: string, oprName: string): string {\n return this.getOperators(schemaName).find((c) => c.name == oprName)?.title || '';\n }\n protected resetSelectedFieldNames() {\n this.selectedConditionNames = this.conditions().map((c) => c.name);\n }\n protected addCondition() {\n const conditions = this.selectedConditionNames.map((c) => {\n const opr = this.getDefaultOperator(c);\n return {\n name: c,\n operator: opr.name,\n };\n });\n this.conditions.set(conditions as any);\n }\n\n removeCondition(item: AXPEntityListConditionConfig) {\n this.conditions.update((prevConditions) => prevConditions.filter((con) => con.name != item.name));\n }\n\n //****************** Common ******************//\n protected drop(type: 'columns' | 'conditions' | 'sorts', event: CdkDragDrop<unknown[]>) {\n switch (type) {\n case 'columns':\n this.columns.update((prevCols) => {\n const columns = prevCols;\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n return columns;\n });\n break;\n case 'sorts':\n this.sorts.update((prevSorts) => {\n const sorts = prevSorts;\n moveItemInArray(sorts, event.previousIndex, event.currentIndex);\n return sorts;\n });\n break;\n case 'conditions':\n this.conditions.update((prevConditions) => {\n const conditions = prevConditions;\n moveItemInArray(conditions, event.previousIndex, event.currentIndex);\n return conditions;\n });\n break;\n default:\n break;\n }\n }\n\n changeViewNameToggle() {\n this.showNameInput.update((prev) => !prev);\n }\n\n generateViewName(title: string) {\n return title.replace(/\\s+/g, '-').toLowerCase();\n }\n\n handleApplyClick() {\n const updatedView = {\n ...this.selectedView,\n name: this.generateViewName(this.selectedView.title),\n conditions: this.conditions(),\n columns: this.columns(),\n sorts: this.sorts(),\n };\n if (this.viewNames.includes(updatedView.name) && this.mode == 'create') {\n this.toastService.show({\n title: 'Invalid Title',\n content: 'The title you have chosen already exists. Please choose a different title for your custom view.',\n color: 'danger' as AXStyleColorType,\n location: 'bottom-center' as AXLocation,\n closeButton: true,\n timeOut: 3000,\n });\n } else {\n this.close({ save: true, updatedView });\n }\n }\n\n handleResetClick() {\n this.conditions.set(cloneDeep(this.selectedView.conditions));\n this.columns.set(cloneDeep(this.selectedView.columns));\n this.sorts.set(cloneDeep(this.selectedView.sorts));\n }\n handleDiscardClick() {\n this.close({ save: false });\n }\n handleCancelClick() {\n this.close({ save: false });\n }\n handleDeleteClick() {\n this.dialogService\n .confirm('Warning', 'Are you sure want to delete this view?', 'danger', 'horizontal')\n .then((data) => {\n if (data.result) {\n this.close({ delete: true, viewName: this.selectedView.name });\n }\n });\n }\n}\n","<ax-header class=\"ax-p-4 ax-flex ax-justify-between ax-border-b\">\n <div class=\"ax-flex ax-items-center\">\n @if (showNameInput() && mode==='create') {\n <div class=\"ax-w-60\">\n <ax-text-box class=\"ax-sm\" [(ngModel)]=\"selectedView.title\">\n @if(showNameInput()){\n <ax-suffix>\n <ax-button (onClick)=\"changeViewNameToggle()\" look=\"default\">\n <ax-icon class=\"fa-sodild fas fa-check ax-text-sm\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n }\n </ax-text-box>\n </div>\n }@else {\n <span class=\"ax-text-lg ax-font-semibold\">{{ selectedView.title }}</span>\n } @if (mode===\"create\") {\n <ax-button class=\"ax-xs\" (onClick)=\"changeViewNameToggle()\" color=\"default\">\n @if(!showNameInput() ){\n <ax-icon class=\"fa-regular fa-pen ax-text-sm ax-text-neutral-600\"> </ax-icon>\n }\n </ax-button>\n }\n </div>\n <ax-close-button></ax-close-button>\n</ax-header>\n<div class=\"ax-p-4\">\n <ax-tabs [content]=\"contents\" look=\"with-line\">\n <ax-tab-item [text]=\"('entity.columns' | translate | async) ?? 'Columns'\">\n <ax-suffix>\n <ax-badge [text]=\"visibleColumns().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none ax-h-[400px]\" cdkDropList (cdkDropListDropped)=\"drop('columns', $event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-overflow-auto ax-pe-2\">\n <ng-container *ngFor=\"let item of columns()\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch class=\"ax-sm\" [(ngModel)]=\"item.visible\" (onValueChanged)=\"updateColumnItem($event, item.name)\"></ax-switch>\n </div>\n </ng-container>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Conditions\">\n <ax-suffix>\n <ax-badge [text]=\"conditions().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-flex-col ax-justify-start ax-gap-4 ax-py-4 ax-select-none ax-h-[400px]\"\n [class.ax-justify-center]=\"!conditions().length\"\n >\n @if(!conditions().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop('conditions', $event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions(); track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge class=\"ax-text-xs\" color=\"primary\" [look]=\"'twotone'\" [text]=\"getOperatorTitle(item.name, item.operator)\"></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"removeCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(conditions().length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n <ax-popover\n #conditionsPopover\n [target]=\"addField\"\n [placement]=\"conditions().length ? 'bottom-start' : 'bottom'\"\n [offsetY]=\"8\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-48 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedConditionNames\"\n [direction]=\"'vertical'\"\n [items]=\"props()\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"addCondition(); conditionsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\"> </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n <ax-tab-item text=\"Sorting\">\n <ax-suffix>\n <ax-badge [text]=\"sorts().length.toString()\" color=\"primary\"> </ax-badge>\n </ax-suffix>\n <ax-content>\n <div\n class=\"ax-flex ax-p-4 ax-flex-col ax-justify-start ax-gap-4 ax-select-none ax-overflow-auto ax-h-[400px]\"\n [class.ax-justify-center]=\"!sorts().length\"\n >\n @if(!sorts().length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">{{ 'entity.no-sort' | translate | async }}</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">{{ 'entity.ask-sort' | translate | async }}</span>\n </div>\n }@else {\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop('sorts', $event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts()\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"props()\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\"> </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"updateSortItem(item)\">\n <ax-icon [class.ax-text-primary]=\"item.dir == 'asc'\" class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"></ax-icon>\n <ax-icon [class.ax-text-primary]=\"item.dir == 'desc'\" class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"removeSortItem(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n }\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(sorts().length){\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"blank\"\n class=\"ax-sm\"\n ></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"addSortItem()\"\n color=\"primary\"\n [text]=\"'entity.add-field' | translate | async\"\n look=\"outline\"\n class=\"ax-md ax-w-56\"\n ></ax-button>\n </div>\n }\n </div>\n </div>\n </div>\n </ax-content>\n </ax-tab-item>\n </ax-tabs>\n <ng-template [axTabContent] #contents=\"axTabContent\"> </ng-template>\n</div>\n<ax-footer class=\"!ax-justify-end\">\n @if (mode===\"edit\") {\n <ax-dropdown-button [text]=\"'discard' | translate | async\" (onClick)=\"handleDiscardClick()\">\n <ax-button-item-list>\n <ax-button-item [text]=\"('reset' | translate | async) ?? ' '\" (onClick)=\"handleResetClick()\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-rotate-left fa-flip-horizontal\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleDeleteClick()\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix\n ></ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-button>\n } @else {\n <ax-button [text]=\"'cancel' | translate | async\" look=\"outline\" (onClick)=\"handleCancelClick()\"></ax-button>\n }\n <ax-button [text]=\"mode === 'create' ? ('save' | translate | async) : ('save-changes' | translate | async)\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n</ax-footer>\n","import { AXValueChangedEvent } from '@acorex/components/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, OnInit, Output, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable, first, of } from 'rxjs';\nimport { AXPListViewLoader } from '../../list-view.config';\nimport { AXPAdminLayoutState, AXPEntityListDisplayColumnConfig, isSmallScreen } from '@acorex/platform/common';\n\n@Component({\n selector: 'axp-list-view-option-columns',\n templateUrl: './list-view-option-columns.component.html',\n})\nexport class AXPListViewOptionsColumnsComponent implements OnInit {\n private store = inject(Store<AXPAdminLayoutState>);\n\n @Input()\n public loader!: AXPListViewLoader;\n protected isSM = this.store.select(isSmallScreen());\n protected columns$: Observable<AXPEntityListDisplayColumnConfig[]> = of([]);\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n ngOnInit(): void {\n this.columns$ = this.loader.displayColumns$;\n }\n\n handleVisibilityChange(e: AXValueChangedEvent<boolean>, name: string) {\n if (e.isUserInteraction) {\n this.loader.setColumnVisibility(name, e.value!);\n }\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n this.columns$.pipe(first()).subscribe((columns) => {\n moveItemInArray(columns, event.previousIndex, event.currentIndex);\n });\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n protected handleResetClick() {\n this.loader.resetColumns();\n }\n\n protected handleApplyClick() {\n this.columns$.pipe(first()).subscribe((data) => {\n this.loader.updateColumns(data);\n });\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">{{ 'entity.columns' | translate | async }}</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-flex-col ax-gap-4 ax-p-4 ax-select-none\" cdkDropList (cdkDropListDropped)=\"drop($event)\">\n <div class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-max-h-[calc(100vh-280px)] ax-overflow-auto\">\n <ng-container *ngFor=\"let item of columns$ | async\">\n <div class=\"ax-flex ax-py-1 ax-items-center ax-justify-between\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-flex ax-items-center ax-gap-3\" cdkDragHandle>\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\"></ax-icon>\n <p class=\"ax-font-medium ax-text-sm\">{{ item.title }}</p>\n </div>\n <ax-switch class=\"ax-sm\" [ngModel]=\"item.visible\" (onValueChanged)=\"handleVisibilityChange($event, item.name)\"></ax-switch>\n </div>\n </ng-container>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPEntityListConditionConfig, AXPEntityPropertyConfig, AXPFilterOperator, AXPSchemaRegistryService, EQ_OPER } from '@acorex/platform/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\nimport { Observable, first, map, of } from 'rxjs';\nimport { AXPListViewLoader } from '../../list-view.config';\n\n@Component({\n selector: 'axp-list-view-option-conditions',\n templateUrl: './list-view-option-conditions.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPListViewOptionConditionsComponent {\n constructor() { }\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n private schemaRegistery = inject(AXPSchemaRegistryService);\n private popopService: AXPopupService = inject(AXPopupService);\n\n protected isSM = false;\n\n @Input()\n public loader!: AXPListViewLoader;\n\n protected props$: Observable<AXPEntityPropertyConfig[]> = of([]);\n protected props: AXPEntityPropertyConfig[] = [];\n protected conditions$: Observable<AXPEntityListConditionConfig[]> = of([]);\n\n protected selectedFieldNames: string[] = [];\n\n onNameChange(item: any) {\n console.log('onName changed!', item);\n }\n ngOnInit() {\n this.props$ = this.loader.properties$.pipe(\n map((sorts) => sorts.filter((s) => s.canFilter != false))\n );\n this.conditions$ = this.loader.conditions$;\n this.conditions$.pipe(first()).subscribe((initialConditions) => {\n this.selectedFieldNames = initialConditions.map((i) => i.name);\n });\n\n this.props$.pipe(first()).subscribe((data) => {\n this.props = data;\n });\n }\n\n protected getOperators(name: string): AXPFilterOperator[] {\n const schemaName = this.props.find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistery.resolve(schemaName)?.filterOptions?.operators ?? [];\n }\n\n protected getDefaultOperator(name: string): AXPFilterOperator {\n const schemaName = this.props.find((c) => c.name == name)?.schema ?? '';\n return this.schemaRegistery.resolve(schemaName)?.filterOptions?.default ?? EQ_OPER;\n }\n\n protected getOperatorTitle(schemaName: string, oprName: string): string {\n return this.getOperators(schemaName).find((c) => c.name == oprName)?.title || '';\n }\n\n protected getSchema(name: string) {\n return this.props.find((c) => c.name == name)?.schema ?? '';\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n this.conditions$.pipe(first()).subscribe((conditions) => {\n console.log('conditions: ', conditions);\n moveItemInArray(conditions, event.previousIndex, event.currentIndex);\n });\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n\n protected handleRemoveCondition(item: AXPEntityListConditionConfig) {\n this.selectedFieldNames = this.selectedFieldNames.filter((i) => i !== item.name);\n this.loader.removeCondition(item);\n }\n\n protected resetSelectedFieldNames() {\n this.conditions$.pipe(first()).subscribe((initialConditions) => {\n this.selectedFieldNames = initialConditions.map((i) => i.name);\n });\n }\n\n protected handleResetClick() {\n this.loader.resetConditions();\n }\n\n protected onConfirmFields() {\n const fileds = this.selectedFieldNames.map((c) => {\n const opr = this.getDefaultOperator(c);\n return {\n name: c,\n opr: opr.name,\n };\n });\n this.loader.addCondition(fileds);\n }\n\n protected handleApplyClick() {\n this.conditions$.pipe(first()).subscribe((data) => {\n console.log(data);\n this.loader.updateConditions(data);\n });\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">Filters</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div\n class=\"ax-flex ax-flex-col ax-justify-center ax-gap-4 ax-py-4 ax-select-none\"\n [class.ax-h-[calc(100vh-310px)]]=\"!(conditions$ | async)?.length\"\n>\n @if(!(conditions$ | async)?.length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">No Filters Selected</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">Please select field(s) that you want to filter</span>\n </div>\n } @else {\n <div class=\"ax-sorted-list ax-max-h-[calc(100vh-310px)] ax-px-4 ax-py-1 ax-overflow-auto\">\n <div cdkDropList (cdkDropListDropped)=\"drop($event)\" class=\"ax-flex ax-flex-col ax-gap-2\">\n @for(item of conditions$ | async; track item.name ){\n <div cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <div class=\"ax-ms-4 ax-flex ax-items-start ax-gap-2\">\n <ax-label>{{ loader.getProp(item.name)?.title }}</ax-label>\n @if(getOperatorTitle(item.name,item.operator)){\n <ax-badge\n class=\"ax-text-xs\"\n color=\"primary\"\n [look]=\"'twotone'\"\n [text]=\"getOperatorTitle(item.name, item.operator)\"\n ></ax-badge>\n }\n </div>\n <div class=\"ax-flex ax-group ax-items-center ax-gap-2\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <div class=\"ax-w-full\">\n <!-- <ax-text-box [(ngModel)]=\"item.value\"></ax-text-box> -->\n <axp-widget-filter-renderer\n [schema]=\"getSchema(item.name)\"\n [prop]=\"loader.getProp(item.name)\"\n [(value)]=\"item.value\"\n [(operator)]=\"item.operator\"\n >\n </axp-widget-filter-renderer>\n </div>\n <ax-button look=\"blank\" color=\"danger\" class=\"ax-sm\" (onClick)=\"handleRemoveCondition(item)\">\n <ax-icon class=\"fa-solid fa-trash-can\"></ax-icon>\n </ax-button>\n </div>\n </div>\n }\n </div>\n </div>\n }\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if((conditions$ | async)?.length){\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n </div>\n <ax-popover\n #fieldsPopover\n [target]=\"addField\"\n [openOn]=\"'toggle'\"\n [closeOn]=\"'clickOut'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"resetSelectedFieldNames()\"\n [offsetX]=\"15\"\n >\n <div class=\"ax-bg-surface ax-border ax-border-default ax-rounded-md ax-shadow-md ax-w-full ax-min-w-[250px]\">\n <div class=\"ax-border-b-[1px] ax-pb-2 ax-mb-2 ax-p-3\">\n <ax-title class=\"ax-font-bold\">Fields</ax-title>\n </div>\n <div class=\"ax-max-h-72 2xl:ax-max-h-80 ax-overflow-auto\">\n <ax-selection-list\n [valueField]=\"'name'\"\n [textField]=\"'title'\"\n [(ngModel)]=\"selectedFieldNames\"\n [direction]=\"'vertical'\"\n [items]=\"props\"\n [multiple]=\"true\"\n ></ax-selection-list>\n </div>\n <div class=\"ax-flex ax-justify-end ax-border-t-[1px] ax-p-3\">\n <ax-button (onClick)=\"onConfirmFields(); fieldsPopover.close()\" class=\"ax-sm\" text=\"Confirm\" color=\"primary\">\n </ax-button>\n </div>\n </div>\n </ax-popover>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n inject,\n} from '@angular/core';\n\nimport { AXSelectBoxComponent } from '@acorex/components/select-box';\nimport { AXPFilterOperator } from '@acorex/platform/common';\n\n@Component({\n selector: 'axp-list-view-option-filter-operator',\n template: `\n <ax-select-box\n valueField=\"name\"\n [dataSource]=\"items\"\n textField=\"title\"\n [(ngModel)]=\"value\"\n *ngIf=\"visible\"\n >\n </ax-select-box>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { style: 'display: contents;' },\n})\nexport class AXPListViewOptionFilterOperatorComponent {\n @ViewChild(AXSelectBoxComponent)\n selectBox!: AXSelectBoxComponent;\n protected visible = false;\n\n private cdr = inject(ChangeDetectorRef);\n\n private _items: AXPFilterOperator[] = [];\n @Input()\n public get items(): AXPFilterOperator[] {\n return this._items;\n }\n public set items(v: AXPFilterOperator[]) {\n this.visible = false;\n this._items = v;\n setTimeout(() => {\n this.visible = true;\n this.cdr.markForCheck();\n setTimeout(() => {\n if (this.selectBox) {\n //this.selectBox.defaultValue = this.items[0]?.name;\n }\n });\n });\n }\n\n @Output()\n valueChange: EventEmitter<string> = new EventEmitter<string>();\n\n private _value!: string;\n @Input()\n public get value(): string {\n return this._value;\n }\n public set value(v: string) {\n this._value = v;\n this.valueChange.emit(v);\n }\n}\n","import { AXPEntityListSortConfig, AXPEntityPropertyConfig } from '@acorex/platform/common';\nimport { CdkDragDrop, moveItemInArray } from '@angular/cdk/drag-drop';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Observable, first, map, of } from 'rxjs';\nimport { AXPListViewLoader } from '../../list-view.config';\n\n@Component({\n selector: 'axp-list-view-option-sorting',\n templateUrl: './list-view-option-sorting.component.html',\n})\nexport class AXPListViewOptionSortingComponent {\n protected isSM = false;\n\n @Output()\n public onClosed = new EventEmitter<void>();\n\n @Input()\n public loader!: AXPListViewLoader;\n\n protected props$: Observable<AXPEntityPropertyConfig[]> = of([]);\n protected sorts$: Observable<AXPEntityListSortConfig[]> = of([]);\n\n ngOnInit(): void {\n this.props$ = this.loader.properties$.pipe(map((sorts) => sorts.filter((s) => s.canSort != false)));\n this.loader.sorts$.subscribe((data) => {});\n this.sorts$ = this.loader.sorts$;\n }\n\n protected drop(event: CdkDragDrop<unknown[]>) {\n this.sorts$.pipe(first()).subscribe((sorts) => {\n moveItemInArray(sorts, event.previousIndex, event.currentIndex);\n });\n }\n\n protected changeItemSort(item: AXPEntityListSortConfig) {\n item.dir = item.dir == 'asc' ? 'desc' : 'asc';\n }\n\n protected handleClose() {\n this.onClosed.emit();\n }\n protected handleResetClick() {\n this.loader.resetSort();\n }\n\n protected handleApplyClick() {\n this.sorts$.pipe(first()).subscribe((data) => {\n this.loader.updateSort(data);\n });\n this.onClosed.emit();\n }\n}\n","<ax-header class=\"ax-flex ax-items-center\">\n <h2 class=\"ax-text-xl ax-font-bold\">{{'entity.sort' | translate | async}}</h2>\n <ax-button (onClick)=\"handleClose()\" [look]=\"'blank'\">\n <ax-icon class=\"fa-solid fa-close ax-text-neutral-400 ax-text-xl\"> </ax-icon>\n </ax-button>\n</ax-header>\n<div class=\"ax-flex ax-p-4 ax-flex-col ax-justify-center ax-gap-4 ax-select-none\" [class.ax-h-[calc(100vh-310px)]]=\"!(sorts$ | async)?.length\">\n @if(!(sorts$ | async)?.length){\n <div class=\"ax-flex ax-flex-col ax-items-center ax-justify-center\">\n <ax-image src=\"assets/documents.svg\"></ax-image>\n <p class=\"ax-mt-6 ax-mb-1 ax-font-bold\">{{ 'entity.no-sort' | translate | async }}</p>\n <span class=\"ax-text-neutral-400 ax-text-sm md:ax-text-md\">{{ 'entity.ask-sort' | translate | async }}</span>\n </div>\n }\n <div\n cdkDropList\n (cdkDropListDropped)=\"drop($event)\"\n class=\"ax-flex ax-flex-col ax-gap-3 ax-w-full ax-sorted-list ax-py-1 ax-max-h-[calc(100vh-310px)] ax-overflow-auto\"\n >\n <ng-container *ngFor=\"let item of sorts$ | async\">\n <div class=\"ax-flex ax-gap-2 ax-items-center\" cdkDrag cdkDragBoundary=\".ax-sorted-list\">\n <ax-icon class=\"fa-solid fa-grip-dots-vertical ax-cursor-move\" cdkDragHandle></ax-icon>\n <ax-select-box [dataSource]=\"(props$ | async) ?? []\" valueField=\"name\" textField=\"title\" [(ngModel)]=\"item.name\"> </ax-select-box>\n <ax-button [color]=\"'default'\" class=\"ax-sm\" (click)=\"changeItemSort(item)\">\n <ax-icon [class.ax-text-primary]=\"item.dir == 'asc'\" class=\"fa-solid fa-arrow-up-long ax-text-neutral-400\"></ax-icon>\n <ax-icon [class.ax-text-primary]=\"item.dir == 'desc'\" class=\"fa-solid fa-arrow-down-long ax-text-neutral-400\"></ax-icon>\n </ax-button>\n\n <ax-button look=\"blank\" (onClick)=\"loader.removeSort(item)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n </ng-container>\n </div>\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if((sorts$ | async)?.length){\n <ax-button (onClick)=\"loader.addSort()\" color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\n }@else {\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button (onClick)=\"loader.addSort()\" color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"outline\" class=\"ax-md ax-w-56\"></ax-button>\n </div>\n }\n </div>\n </div>\n</div>\n<ax-footer class=\"!ax-justify-start ax-absolute ax-bottom-0 ax-w-full\">\n <ax-button [text]=\"'apply' | translate | async\" color=\"primary\" (onClick)=\"handleApplyClick()\"></ax-button>\n <ax-button [text]=\"'reset' | translate | async\" color=\"ghost\" (onClick)=\"handleResetClick()\"></ax-button>\n</ax-footer>\n","import { AXFormatService } from '@acorex/core/format';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, map, of, switchMap } from 'rxjs';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\nimport { AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPEntityViewChildSectionConfig, AXPEntityViewConfig } from '@acorex/platform/common';\n\nexport interface AXPEntityCreateViewLoader {\n get entity(): AXPEntityConfig;\n get data(): any;\n\n get sections$(): Observable<AXPEntityViewChildSectionConfig[]>;\n get hasSections$(): Observable<boolean>;\n get isLast$(): Observable<boolean>;\n get isFirst$(): Observable<boolean>;\n get currentIndex$(): Observable<number>;\n get section$(): Observable<AXPEntityViewChildSectionConfig>;\n setSection(name: string): void;\n next(): Promise<void>;\n back(): Promise<void>;\n\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n isRequired(name: string): boolean;\n}\n\nexport class AXPEntityCreateLoaderDefault implements AXPEntityCreateViewLoader {\n private _config!: AXPEntityConfig;\n private _data: any = {};\n private _currentSection = 'default';\n\n constructor(private config: AXPEntityConfig, private store: Store, private formatService: AXFormatService) {\n this._currentSection = this.sections[0]?.name || 'default';\n }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get data(): any {\n return this._data;\n }\n\n private get view(): AXPEntityViewConfig {\n return this.entity.views.createView as AXPEntityViewConfig;\n }\n\n //****************** Sections ******************//\n\n private get sections(): AXPEntityViewChildSectionConfig[] {\n return this.view.root.sections?.length\n ? this.view.root.sections\n : [\n {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n },\n ];\n }\n\n private _sections$ = new BehaviorSubject<AXPEntityViewChildSectionConfig[]>(this.sections);\n\n public get sections$(): Observable<AXPEntityViewChildSectionConfig[]> {\n return this._sections$.pipe(defaultIfEmpty([]));\n }\n\n public get section$(): Observable<AXPEntityViewChildSectionConfig> {\n return this.sections$.pipe(\n switchMap((sections) => {\n const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];\n if (!section.sections?.length) {\n section.sections = [\n {\n name: 'default',\n title: 'Details',\n properties: section.properties,\n },\n ];\n }\n return of(section);\n })\n );\n }\n\n public get hasSections$(): Observable<boolean> {\n return this.sections$.pipe(map((c) => c.length > 1));\n }\n\n public get isLast$(): Observable<boolean> {\n return this.sections$.pipe(\n map((c) => this.sections.length - this.sections.findIndex((c) => c.name == this._currentSection) == 1)\n );\n }\n\n public get isFirst$(): Observable<boolean> {\n return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection) == 0));\n }\n\n public get currentIndex$(): Observable<number> {\n return this.sections$.pipe(map((c) => this.sections.findIndex((c) => c.name == this._currentSection)));\n }\n\n public setSection(name: string) {\n this._currentSection = name ?? 'default';\n const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n };\n const currentSections = this._sections$.value;\n const updatedSections = currentSections.map((section) => {\n if (section.name === updatedSection.name) {\n return updatedSection;\n } else {\n return section;\n }\n });\n this._sections$.next(updatedSections);\n }\n\n public next() {\n const nextIndex = this.sections.findIndex((c) => c.name == this._currentSection) + 1;\n if (nextIndex >= this.sections.length) {\n return Promise.resolve();\n } else {\n this.setSection(this.sections[nextIndex].name);\n return Promise.resolve();\n }\n }\n\n public back() {\n const prevIndex = this.sections.findIndex((c) => c.name == this._currentSection) - 1;\n if (prevIndex < 0) {\n return Promise.resolve();\n } else {\n this.setSection(this.sections[prevIndex].name);\n return Promise.resolve();\n }\n }\n\n //****************** Properties ******************//\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n public isRequired = (name: string): boolean => this.getProp(name)?.validationRules?.some(c => c.rule == 'required') || false;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityCreateViewLoaderFactory {\n private entityService = inject(AXPEntityRegistryService);\n private formatService = inject(AXFormatService);\n private layout = inject(AXPLayoutService);\n private store = inject(Store);\n\n public async create(moduleName: string, entityName: string): Promise<AXPEntityCreateViewLoader> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.dataSource.byKey) {\n this.layout.setNavigationLoading(false);\n return new AXPEntityCreateLoaderDefault(config, this.store, this.formatService);\n }\n return Promise.reject('cannot fetch ');\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { AXPEntityCreateViewLoaderFactory } from '../entity-create-view/entity-create-view.config';\n\nexport const AXPEntityCreateEvent = createWorkFlowEvent<{ module: string; entity: string }>('[Entity] Created!');\n\n@Injectable()\nexport class AXPEntityCreatePopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityCreateFactory = inject(AXPEntityCreateViewLoaderFactory);\n private translateService = inject(AXTranslationService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entityName } = context.getVariable('payload');\n const entity = await this.entityRegistery.resolve(module, entityName);\n\n const com = await import('../entity-create-view/entity-create-view.component');\n const result = await this.popupService.open(com.AXPEntityCreateViewComponent, {\n title: this.translateService.translateSync('create-new') + ' ' + entity.title,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n loader: await this.entityCreateFactory.create(module, entityName),\n entity,\n },\n });\n if (result.data?.save) {\n context.setOutput('popupResult', true);\n context.setVariable('redirect', result.data.redirect);\n context.setVariable('id', result.data.recordId);\n }\n }\n}\n\nexport class AXPEntityCreateSubmittedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entity } = context.getVariable('payload');\n this.dispatch(AXPEntityCreateEvent({ entity, module }));\n }\n}\n\nexport const AXPCreateEntityWorkflow: AXPWorkflow = {\n startStepId: 'createPopup',\n steps: {\n createPopup: {\n id: 'createPopup',\n action: 'AXPEntityCreatePopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Created',\n content: 'New Record has been successfully created.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'createSubmitted',\n },\n ],\n },\n createSubmitted: {\n id: 'createSubmitted',\n action: 'AXPEntityCreateSubmittedAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getVariable(\"redirect\") == true' }],\n nextStepId: 'showDetailView',\n },\n ],\n },\n showDetailView: {\n id: 'showDetailView',\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXDialogService } from '@acorex/components/dialog';\nimport { AXLoadingDialogService } from '@acorex/components/loading-dialog';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport {\n AXPWorkflow,\n AXPWorkflowAction,\n AXPWorkflowContext,\n AXPWorkflowFunction,\n createWorkFlowEvent,\n} from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\nexport const AXPEntityDeletedEvent = createWorkFlowEvent<{ module: string; entity: string; id: string }>(\n '[Entity] Deleted'\n);\n\n@Injectable()\nexport class AXPEntityPerformDeleteAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private dialogService = inject(AXDialogService);\n private loadingDialog = inject(AXLoadingDialogService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const moduleName = context.getVariable('module');\n const entityName = context.getVariable('entity');\n const ids = context.getVariable('ids');\n const entity = await this.entityRegistery.resolve(moduleName, entityName);\n let deletedCount = 0;\n context.setVariable('deleteSuccessful', false);\n const dialog = this.loadingDialog.show({\n title: 'Deleting Record...',\n mode: 'determinate',\n status: 'Deleting...',\n progressValue: 0,\n text: `0/${ids.length}`,\n buttons: [\n {\n text: 'Cancel',\n color: 'danger',\n onClick: () => {\n dialog.close();\n },\n },\n ],\n });\n\n if (entity.commands?.delete != null) {\n const wrappedPromises = (ids as any[])\n .map((id, i) => {\n return new Promise((resolve) => {\n setTimeout(() => {\n resolve(entity.commands?.delete?.(id));\n }, i * 200);\n });\n })\n .map((p) =>\n p?.then(\n (value) => {\n deletedCount++;\n dialog.setProgressText(`${deletedCount}/${ids.length}`);\n dialog.setProgressValue((deletedCount / ids.length) * 100);\n return { status: 'fulfilled', value };\n },\n (reason) => ({ status: 'rejected', reason })\n )\n );\n\n const results = await Promise.all(wrappedPromises);\n const successfulPromises = results.filter((result) => result?.status === 'fulfilled').length;\n const failedPromises = results.filter((result) => result?.status === 'rejected').length;\n setTimeout(() => {\n dialog.close();\n }, 300);\n\n // Handle different scenarios for alerts\n if (successfulPromises > 0 && failedPromises === 0) {\n // All items deleted successfully\n await this.dialogService.alert(\n 'Deletion Successful',\n `${successfulPromises} item(s) has been deleted.`,\n 'success'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ module: moduleName, entity: entityName, id: ids }));\n } else if (successfulPromises > 0 && failedPromises > 0) {\n // Some items deleted successfully, some failed\n await this.dialogService.alert(\n 'Partial Deletion Completed',\n `${successfulPromises} item(s) deleted successfully. However, ${failedPromises} item(s) could not be deleted.`,\n 'warning'\n );\n // Dispatch actions\n this.dispatch(AXPEntityDeletedEvent({ module: moduleName, entity: entityName, id: ids }));\n } else if (successfulPromises === 0 && failedPromises > 0) {\n // No items deleted, all failed\n await this.dialogService.alert(\n 'Deletion Failed',\n `No items were deleted. ${failedPromises} item(s) failed to delete.`,\n 'danger'\n );\n } else {\n // No items to delete (no successful or failed promises)\n await this.dialogService.alert('No Deletion Needed', 'No items were available to delete.', 'info');\n }\n } else {\n throw new Error(\n `The delete operation cannot be performed on ${entity.title}. This action might be restricted or not applicable for the selected item.`\n );\n }\n }\n}\n\n@Injectable()\nexport class AXPMyCustomFunc extends AXPWorkflowFunction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private dialogService = inject(AXDialogService);\n\n async execute(val: string): Promise<boolean> {\n return val == 'abc';\n }\n}\n\nexport const AXPDeleteEntityWorkflow: AXPWorkflow = {\n startStepId: 'confirmDelete',\n steps: {\n confirmDelete: {\n id: 'confirmDelete',\n action: 'AXPDialogConfirmAction',\n input: {\n title: 'Warning',\n message: `Are you sure want to delete selected item(s)?`,\n type: 'danger',\n },\n nextSteps: [\n {\n conditions: [\n {\n type: 'AND',\n conditions: [\n { type: 'SINGLE', expression: 'context.getOutput(\"result\") == true' },\n { type: 'SINGLE', expression: 'await test(\"abc\")' },\n ],\n },\n ],\n nextStepId: 'performDelete',\n },\n ],\n },\n performDelete: {\n id: 'performDelete',\n action: 'AXPEntityPerformDeleteAction',\n },\n },\n};\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\nexport const AXPImportEntityEvent = createWorkFlowEvent<{ module: string; entity: string }>('[Entity] Imported!');\n\n@Injectable()\nexport class AXPEntityImportPopupAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entityName } = context.getVariable('payload');\n const entity = await this.entityRegistery.resolve(module, entityName);\n\n const com = await import('../entity-import-view/entity-import-view.component');\n const result = await this.popupService.open(com.AXPEntityImportViewComponent, {\n title: `Import ${entity.title}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n entity,\n },\n });\n if (result.data?.save) {\n context.setOutput('popupResult', true);\n context.setVariable('redirect', result.data.redirect);\n }\n }\n}\n\nexport class AXPEntityImportSubmittedAction extends AXPWorkflowAction {\n async execute(context: AXPWorkflowContext): Promise<void> {\n const { module, entity: entity } = context.getVariable('payload');\n this.dispatch(AXPImportEntityEvent({ entity, module }));\n }\n}\n\nexport const AXPImportEntityWorkflow: AXPWorkflow = {\n startStepId: 'createPopup',\n steps: {\n createPopup: {\n id: 'createPopup',\n action: 'AXPEntityImportPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Imported',\n content: 'Your file has been uploaded successfully',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'importSubmitted',\n },\n ],\n },\n importSubmitted: {\n id: 'importSubmitted',\n action: 'AXPEntityImportSubmittedAction',\n },\n },\n};\n","import { AXActionSheetService } from '@acorex/components/action-sheet';\nimport { AXDataTableComponent, AXRowCommandItem, AXRowCommandItemClickEvent } from '@acorex/components/data-table';\nimport { AXDrawerComponent } from '@acorex/components/drawer';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, TemplateRef, ViewChild, ViewEncapsulation, inject } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Store } from '@ngrx/store';\n\nimport { AXClickEvent, AXValueChangedEvent } from '@acorex/components/common';\nimport { AXDataTableRowDbClick } from '@acorex/components/data-table/lib/base-data-table.class';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport {\n AXPAdminLayoutState,\n AXPLayoutChildDrawerToggle,\n AXPLayoutService,\n AXP_MENU_LOADER,\n convertPropertiesToColumns,\n} from '@acorex/platform/common';\nimport { AXPWorkflowService, ofType } from '@acorex/platform/workflow';\nimport { AXPEntityCreateEvent } from '../../entity-layout/workflows/create-entity.workflow';\nimport { AXPEntityDeletedEvent } from '../../entity-layout/workflows/delete-entity.workflow';\nimport { AXPImportEntityEvent } from '../workflows/import-entity.workflow';\nimport { AXPEntityCreateCustomViewComponent } from './components/entity-custom-view/entity-custom-view.component';\nimport { AXPListViewLoader } from './list-view.config';\n\n@Component({\n templateUrl: 'entity-list-view.component.html',\n styleUrls: ['entity-list-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber],\n})\nexport class AXPEntityListViewComponent {\n private store = inject(Store<AXPAdminLayoutState>);\n private workflow = inject(AXPWorkflowService);\n private layout = inject(AXPLayoutService);\n private route = inject(ActivatedRoute);\n private manuLoader = inject(AXP_MENU_LOADER);\n\n protected loader = this.route.snapshot.data['loader'] as AXPListViewLoader;\n protected title: string = '';\n protected searchValue: string = '';\n protected searchBoxPlaceholder: string = '';\n protected searchBoxTitle: string = '';\n protected searchBoxCollapsed: boolean = true;\n\n protected publicViews$ = this.loader.publicViews$;\n protected customViews$ = this.loader.customViews$;\n protected hasCustomViews$ = this.loader.hasCustomViews$;\n protected view$ = this.loader.view$;\n //\n protected conditions$ = this.loader.conditions$;\n protected conditionsCount$ = this.loader.conditionsCount$;\n //\n protected columns$ = this.loader.displayColumns$;\n protected columnsCount$ = this.loader.displayColumnsCount$;\n //\n protected sort$ = this.loader.sorts$;\n protected sortCount$ = this.loader.sortsCount$;\n //\n protected dataSource = this.loader.dataSource;\n //\n protected canDelete = this.loader.entity.editOptions?.delete ?? true;\n protected canCreate = this.loader.entity.editOptions?.create ?? true;\n protected canUpdate = this.loader.entity.editOptions?.update ?? true;\n protected canImport = this.loader.entity.editOptions?.import ?? false;\n //\n protected focusedRow: any;\n //\n @ViewChild('viewsTemplate') viewsTemplate!: TemplateRef<unknown>;\n // @ViewChild('grid') grid!: AXDataTableComponent;\n @ViewChild('grid') grid!: AXDataTableComponent;\n @ViewChild('entityViewDrawer') entityViewDrawer!: AXDrawerComponent;\n\n private popupService = inject(AXPopupService);\n\n constructor(\n private actionSheetService: AXActionSheetService,\n private unsubscriber: AXUnsubscriber,\n protected platform: AXPlatform,\n protected cdr: ChangeDetectorRef\n ) {\n //TODO: namespace, module name issues\n this.title = this.manuLoader.currentMenuItem()?.text ?? this.loader.entity.formats?.list ?? this.loader.entity.formats?.default ?? 'Title';\n //\n\n this.workflow.events$\n .pipe(ofType(AXPEntityDeletedEvent, AXPEntityCreateEvent, AXPImportEntityEvent), this.unsubscriber.takeUntilDestroy)\n .subscribe((event) => {\n if (event.payload.entity == this.loader.entity.name && event.payload.module == this.loader.entity.module) {\n this.grid.selectedRows = [];\n this.grid?.refresh();\n }\n });\n //\n this.dataSource.onLoadingChanged.pipe(this.unsubscriber.takeUntilDestroy).subscribe((value) => {\n this.layout.setNavigationLoading(value);\n });\n this._getInlineConditionTitles();\n }\n\n ngAfterViewInit() {\n this.loader.setDefaultView();\n }\n\n _getInlineConditionTitles() {\n const titles = this.loader.getInlineFilterTitles();\n this.searchBoxTitle = titles.join(', ');\n if (titles.length > 2) this.searchBoxPlaceholder = titles.slice(0, 2).join(', ') + ' ...';\n else this.searchBoxPlaceholder = titles.join(', ');\n }\n\n _handleViewsPopover() {\n this.actionSheetService.open({ content: this.viewsTemplate });\n }\n\n handleDrawerClick() {\n this.store.dispatch(AXPLayoutChildDrawerToggle());\n }\n\n toggleSearchBox() {\n this.searchBoxCollapsed = !this.searchBoxCollapsed;\n }\n\n private dropdownRowItems: AXRowCommandItem[] = [\n {\n text: 'Details',\n icon: 'fa-solid fa-eye',\n name: 'edit',\n divided: true,\n },\n {\n text: 'Delete',\n icon: 'fa-solid fa-trash-can',\n name: 'delete',\n color: 'danger',\n disabled: !this.canDelete,\n },\n ];\n\n private inlineRowItems: AXRowCommandItem[] = [\n {\n text: 'View',\n icon: 'fa-solid fa-eye',\n name: 'view',\n divided: true,\n },\n ];\n\n protected getDropdownRowItems = (rowData: unknown): Promise<AXRowCommandItem[]> => {\n return Promise.resolve(this.dropdownRowItems);\n };\n\n protected getInlineRowItems = (rowData: unknown): AXRowCommandItem[] => {\n return this.inlineRowItems;\n };\n\n protected handleRowDbClick(e: AXDataTableRowDbClick) {\n const d: AXRowCommandItemClickEvent = {\n component: e.component,\n name: this.dropdownRowItems[0].name,\n data: e.data,\n };\n this.handleRowCommandClick(d);\n }\n\n protected async handleRowCommandClick(e: AXRowCommandItemClickEvent) {\n switch (e.name) {\n case 'view': {\n await this.workflow.execute('show-quick-view', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n data: e.data,\n },\n });\n break;\n }\n case 'edit': {\n await this.workflow.execute('show-details', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n id: e.data.id,\n });\n break;\n }\n case 'delete': {\n await this.workflow.execute('delete-entity', {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n ids: [e.data.id],\n });\n break;\n }\n }\n }\n\n protected handleCreateClick() {\n this.workflow.execute('create-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n }\n protected handleImportClick() {\n this.workflow.execute('import-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n }\n\n protected handleCommandClick(command: string) {\n switch (command) {\n case 'delete':\n this.workflow.execute('delete-entity', {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n ids: this.grid.selectedRows.map((c) => (c as any)['id']),\n });\n break;\n default:\n break;\n }\n }\n\n protected clearSelectedItems() {\n this.grid.selectedRows = [];\n }\n\n protected closeDrawer(name: string, collapsed: boolean) {\n if (collapsed != false) {\n switch (name) {\n case 'conditions':\n this.loader.resetConditions();\n break;\n case 'columns':\n this.loader.resetColumns();\n break;\n case 'sorts':\n this.loader.resetSort();\n break;\n default:\n break;\n }\n }\n }\n\n handleChangeSearchValue(e: AXValueChangedEvent) {\n if (e.isUserInteraction) {\n this.loader.handleInlineSearch(e.value);\n }\n }\n\n protected async addCustomViewPopup() {\n const newView = {\n name: 'custom-view',\n title: 'Custom View',\n fixed: false,\n sorts: [],\n columns: convertPropertiesToColumns(...this.loader.entity.properties),\n conditions: [],\n };\n\n const popup = await this.popupService.open(AXPEntityCreateCustomViewComponent, {\n title: 'Create Custom View',\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n closeOnBackdropClick: true,\n draggable: false,\n data: {\n loader: this.loader,\n selectedView: newView,\n mode: 'create',\n },\n });\n if (popup.data?.save == true) {\n console.log('updatedView: ', popup.data.updatedView);\n this.loader.createView(popup.data.updatedView);\n }\n }\n protected async updateViewPopup(e: AXClickEvent, selectedView: any) {\n // (e.nativeEvent as UIEvent).stopPropagation();\n const popup = await this.popupService.open(AXPEntityCreateCustomViewComponent, {\n title: 'Modify Custom View',\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n closeOnBackdropClick: true,\n draggable: false,\n data: {\n loader: this.loader,\n selectedView,\n mode: 'edit',\n },\n });\n if (popup.data?.delete == true) {\n this.loader.deleteView(popup.data.viewName);\n }\n if (popup.data?.save == true) {\n console.log('updatedView: ', popup.data.updatedView);\n this.loader.updateView(popup.data.updatedView);\n }\n }\n\n ngOnDestroy(): void {\n this.dataSource.reset();\n }\n}\n","<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"true\" [mode]=\"platform.is('SM') ? 'overlay' : 'push'\">\n <ax-content class=\"ax-w-64 ax-border-e\">\n <div class=\"ax-p-6 ax-py-4 ax-gap-6 ax-flex ax-flex-col\">\n <p class=\"ax-text-2xl ax-font-bold\">Folders</p>\n <ax-side-menu>\n <ng-container *ngFor=\"let node of menuItems\" [ngTemplateOutlet]=\"sideMenu\"\n [ngTemplateOutletContext]=\"{ $implicit: node }\">\n </ng-container>\n </ax-side-menu>\n <ng-template #sideMenu let-item>\n <ax-side-menu-item [text]=\"item.text\">\n <ax-prefix>\n <ax-icon class=\"fa-solid fa-folder ax-text-warning-500\"></ax-icon>\n </ax-prefix>\n <ng-container *ngIf=\"item.children\">\n <ng-container *ngFor=\"let child of item.children\" [ngTemplateOutlet]=\"sideMenu\"\n [ngTemplateOutletContext]=\"{ $implicit: child }\">\n </ng-container>\n </ng-container>\n </ax-side-menu-item>\n </ng-template>\n </div>\n </ax-content>\n </ax-drawer> -->\n <ax-content class=\"ax-flex ax-flex-col ax-overflow-hidden\">\n <div\n class=\"ax-flex ax-flex-col ax-gap-0 md:ax-gap-4 ax-px-4 ax-py-3 md:ax-py-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\"\n >\n @if(platform.is('MD')){\n <div class=\"ax-flex ax-justify-between ax-mb-4\">\n @if(this.grid?.selectedRows?.length==0){\n <div class=\"ax-text-xl ax-font-bold\">{{ title }}</div>\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n @if(canCreate) {\n <ax-button color=\"primary\" class=\"ax-sm\" (onClick)=\"handleCreateClick()\">\n <ax-icon class=\"fa-solid fa-add\"></ax-icon>\n </ax-button>\n }\n <ax-button color=\"ghost\" class=\"ax-sm\" #more>\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"> </ax-icon>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list>\n <ax-button-item text=\"Export\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-file-export\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }@else {\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ this.grid?.selectedRows?.length }} Items Selected </span>\n <span (click)=\"clearSelectedItems()\" class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\"\n >Clear Items</span\n >\n </div>\n <div class=\"ax-flex ax-items-center ax-gap-2\">\n @if(canDelete) {\n <ax-button color=\"danger\" class=\"ax-sm\" (onClick)=\"handleCommandClick('delete')\">\n <ax-icon class=\"fa-solid fa-trash\"> </ax-icon>\n </ax-button>\n }\n <ax-button color=\"ghost\" class=\"ax-sm\" #more>\n <ax-icon class=\"fa-solid fa-ellipsis-vertical\"> </ax-icon>\n </ax-button>\n </div>\n }\n </div>\n\n <div class=\"ax-flex ax-items-center ax-justify-between\">\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" [text]=\"(view$ | async)?.title\" color=\"ghost\">\n <ax-icon class=\"fa-solid fa-eye ax-text-neutral-400\"> </ax-icon>\n <ax-suffix>\n <i class=\"fa-solid fa-caret-down\"></i>\n </ax-suffix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list class=\"ax-bg-surface\">\n <ax-title class=\"ax-font-bold ax-opacity-100\">{{ 'entity.public-view' | translate | async }}</ax-title>\n <ax-button-item\n *ngFor=\"let v of publicViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n ></ax-button-item>\n <ax-title class=\"ax-font-bold ax-opacity-100\" *ngIf=\"hasCustomViews$ | async\">Created by me</ax-title>\n <ax-button-item\n *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n ></ax-button-item>\n <ng-container *feature=\"'axp-entity-list-custom-view'\">\n <ax-divider></ax-divider>\n <ax-button-item (onClick)=\"addCustomViewPopup()\" text=\"Add Custom View\" class=\"ax-font-semibold ax-text-primary\"></ax-button-item>\n </ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n <div class=\"ax-flex ax-gap-2\">\n @if(searchBoxTitle){\n <ax-button (onClick)=\"toggleSearchBox()\" [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\">\n <ax-icon class=\"fa-solid fa-search ax-text-neutral-400\"> </ax-icon>\n </ax-button>\n }\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\" (onClick)=\"columnsDrawer.open()\">\n <ax-icon class=\"fa-solid fa-bars ax-text-neutral-400\"> </ax-icon>\n </ax-button>\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\">\n <ax-icon class=\"fa-solid fa-sliders ax-text-neutral-400\"> </ax-icon>\n @if ((conditionsCount$ | async)) {\n <ax-suffix>\n <ax-badge [color]=\"'primary'\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n <ax-button [disabled]=\"this.grid?.selectedRows?.length != 0\" color=\"ghost\" (onClick)=\"sortsDrawer.open()\">\n <ax-icon class=\"fa-solid fa-bars-sort ax-text-neutral-400\"> </ax-icon>\n @if ((sortCount$ | async)) {\n <ax-suffix>\n <ax-badge [color]=\"'primary'\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n </div>\n </div>\n <div [class.collapsed-search-box]=\"searchBoxCollapsed\" class=\"ax-transition-all ax-mt-4\">\n <ax-search-box [title]=\"searchBoxTitle\" [placeholder]=\"('widget.lookup.search' | translate | async) + searchBoxPlaceholder\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n </div>\n } @else {\n <div class=\"ax-flex ax-items-center ax-justify-between ax-gap-3\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold ax-mb-2\">{{ title }}</div>\n @if(this.grid?.selectedRows?.length==0){\n <div class=\"ax-flex ax-gap-3\">\n @if(canCreate) {\n <ax-button [text]=\"'create-new' | translate | async\" color=\"primary\" (onClick)=\"handleCreateClick()\">\n <ax-prefix>\n <i class=\"fa-solid fa-add\"></i>\n </ax-prefix>\n </ax-button>\n }\n <ax-button [text]=\"'Actions' | translate | async\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list>\n @if(canImport){\n <ax-button-item (onClick)=\"handleImportClick()\" text=\"Import\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-file-import\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n <ax-button-item text=\"Export\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-file-export\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n </div>\n }@else {\n <div class=\"ax-flex ax-gap-3\">\n @if(canDelete) {\n <ax-button text=\"Delete Items\" color=\"danger\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <i class=\"fa-solid fa-trash\"></i>\n </ax-prefix>\n </ax-button>\n }\n <ax-button [text]=\"'Actions' | translate | async\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n </ax-button>\n </div>\n }\n </div>\n <div class=\"ax-flex ax-items-center ax-justify-between\">\n <!----------------------- View Mode --------------------->\n @if(this.grid?.selectedRows?.length==0) {\n <div class=\"ax-flex ax-w-full ax-justify-between ax-gap-3\">\n <div class=\"ax-flex ax-gap-3\">\n <ax-button [text]=\"(view$ | async)?.title\" #views color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-eye\"></i>\n </ax-prefix>\n <ax-suffix>\n <i class=\"fa-solid fa-caret-down\"></i>\n </ax-suffix>\n <ax-dropdown-panel [adaptivityEnabled]=\"true\">\n <ax-button-item-list class=\"ax-bg-surface\">\n <ax-title class=\"ax-font-bold ax-opacity-100\">{{ 'entity.public-view' | translate | async }}</ax-title>\n <ax-button-item\n *ngFor=\"let v of publicViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n ></ax-button-item>\n <ax-title class=\"ax-font-bold ax-opacity-100\" *ngIf=\"hasCustomViews$ | async\">Created by me</ax-title>\n <ax-button-item\n class=\"ax-pe-4 ax-flex ax-justify-between\"\n *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"(view$ | async) == v\"\n (onClick)=\"loader.setView(v.name)\"\n >\n <ax-suffix>\n <ax-button (onClick)=\"updateViewPopup($event, v)\" class=\"ax-xs\" look=\"none\">\n <ax-icon class=\"far fa-edit\"> </ax-icon>\n </ax-button>\n </ax-suffix>\n </ax-button-item>\n <ng-container *feature=\"'axp-entity-list-custom-view'\">\n <ax-divider></ax-divider>\n <ax-button-item text=\"Add Custom View\" (onClick)=\"addCustomViewPopup()\" class=\"ax-font-semibold ax-text-primary\"></ax-button-item>\n </ng-container>\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n @if(searchBoxTitle){\n <div class=\"ax-w-72\">\n <ax-search-box\n [title]=\"searchBoxTitle\"\n [(ngModel)]=\"searchValue\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"\n [placeholder]=\"('widget.lookup.search' | translate | async) + searchBoxPlaceholder\"\n ><ax-clear-button></ax-clear-button\n ></ax-search-box>\n </div>\n }\n </div>\n\n <div class=\"ax-flex ax-gap-3\">\n <ax-button [text]=\"'entity.columns' | translate | async\" color=\"ghost\" #columns (onClick)=\"columnsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"{{ columnsCount$ | async }}\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button text=\"Filters\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\" #conditions>\n <ax-prefix>\n <i class=\"fa-solid fa-sliders\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"{{ conditionsCount$ | async }}\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button [text]=\"'entity.sort' | translate | async\" color=\"ghost\" (onClick)=\"sortsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars-sort\"></i>\n </ax-prefix>\n <ax-suffix *ngIf=\"(sortCount$ | async)! > 0\">\n <ax-badge text=\"{{ sortCount$ | async }}\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n </div>\n </div>\n\n } @else{\n <!----------------------- Selection Mode --------------------->\n <div>\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ this.grid?.selectedRows?.length }} Items Selected </span>\n <span (click)=\"clearSelectedItems()\" class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\"\n >Clear Items</span\n >\n </div>\n </div>\n }\n </div>\n }\n </div>\n <div class=\"ax-flex-1 ax-px-6 ax-py-4 ax-flex ax-overflow-auto\">\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [dataSource]=\"dataSource\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n [loading]=\"{ enabled: true, animation: true }\"\n >\n <!-- <ax-index-column *ngIf=\"!platform.is('SM')\" [width]=\"'85px'\"></ax-index-column> -->\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of (columns$ | async);track col.name) {\n <axp-widget-column-renderer\n *ngIf=\"col.visible\"\n [schema]=\"col.schema\"\n [dataField]=\"col.name\"\n [caption]=\"col.title\"\n [options]=\"col.options\"\n [displayFormat]=\"col.displayFormat\"\n [width]=\"'180px'\"\n [allowSorting]=\"false\"\n >\n </axp-widget-column-renderer>\n }\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"\n ></ax-dropdown-command-column>\n <ax-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getInlineRowItems\" (onItemClick)=\"handleRowCommandClick($event)\"></ax-command-column>\n </ax-data-table>\n </div>\n </ax-content>\n <ax-drawer (collapsedChange)=\"closeDrawer('columns', $event)\" #columnsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[20vw] ax-border-e\">\n <axp-list-view-option-columns [loader]=\"loader\" (onClosed)=\"columnsDrawer.close()\"></axp-list-view-option-columns>\n </ax-content>\n </ax-drawer>\n <ax-drawer (collapsedChange)=\"closeDrawer('conditions', $event)\" #conditionsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[25vw] ax-border-e\">\n <axp-list-view-option-conditions [loader]=\"loader\" (onClosed)=\"conditionsDrawer.close()\"></axp-list-view-option-conditions>\n </ax-content>\n </ax-drawer>\n <ax-drawer (collapsedChange)=\"closeDrawer('sorts', $event)\" #sortsDrawer location=\"end\" [mode]=\"'overlay'\">\n <ax-content class=\"ax-w-[85vw] md:ax-w-[45vw] lg:ax-w-[35vw] 2xl:ax-w-[20vw] ax-border-e\">\n <axp-list-view-option-sorting (onClosed)=\"sortsDrawer.close()\" [loader]=\"loader\"></axp-list-view-option-sorting>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>\n","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXCollapseModule } from '@acorex/components/collapse';\nimport { AXCommonModule } from '@acorex/components/common';\nimport { AXDataTableModule } from '@acorex/components/data-table';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXListModule } from '@acorex/components/list';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXSelectBoxModule } from '@acorex/components/select-box';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTextBoxModule } from '@acorex/components/text-box';\nimport { CdkDrag, CdkDragHandle, CdkDragPlaceholder, CdkDropList } from '@angular/cdk/drag-drop';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport {\n AXPListViewOptionConditionsComponent,\n AXPListViewOptionFilterOperatorComponent,\n AXPListViewOptionSortingComponent,\n AXPListViewOptionsColumnsComponent,\n} from './components';\nimport { AXPEntityListViewComponent } from './entity-list-view.component';\n\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLabelModule } from '@acorex/components/label';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXSelectionListModule } from '@acorex/components/selection-list';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXPAuthModule } from '@acorex/platform/auth';\nimport { AXPCommonWidgetModule, AXPSchemaModule } from '@acorex/platform/common';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { AXPEntityCreateCustomViewComponent } from './components/entity-custom-view/entity-custom-view.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n AXCommonModule,\n AXDataTableModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXDropdownModule,\n AXPopoverModule,\n AXImageModule,\n AXSwitchModule,\n AXDrawerModule,\n AXLoadingModule,\n AXTabsModule,\n AXSelectBoxModule,\n AXFormModule,\n AXListModule,\n AXTextBoxModule,\n AXSearchBoxModule,\n AXLabelModule,\n AXCollapseModule,\n AXActionSheetModule,\n AXSelectionListModule,\n AXImageModule,\n AXDialogModule,\n AXDropdownButtonModule,\n //\n CdkDropList,\n CdkDrag,\n CdkDragPlaceholder,\n CdkDragHandle,\n PortalModule,\n AXPSchemaModule,\n AXPCommonWidgetModule,\n AXPAuthModule,\n AXTranslationModule,\n ],\n declarations: [\n AXPEntityListViewComponent,\n AXPEntityCreateCustomViewComponent,\n AXPListViewOptionsColumnsComponent,\n AXPListViewOptionConditionsComponent,\n AXPListViewOptionFilterOperatorComponent,\n AXPListViewOptionSortingComponent,\n ],\n providers: [],\n})\nexport class AXPListViewModule {}\n","import { AXDataSource, AXDataSourceFilterOption, AXDataSourceSortOption } from '@acorex/components/common';\nimport { AXPEntityConfig, AXPEntityListColumnConfig, AXPEntityListConditionConfig, AXPEntityListDisplayColumnConfig, AXPEntityListSortConfig, AXPEntityListViewConfig, AXPEntityListViewConfigEmpty, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPSchemaRegistryService } from '@acorex/platform/common';\nimport { Injectable, InjectionToken, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, first, map, of, switchMap } from 'rxjs';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\n\nexport interface AXPListViewLoader {\n get properties$(): Observable<AXPEntityPropertyConfig[]>;\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n\n get views$(): Observable<AXPEntityListViewConfig[]>;\n get publicViews$(): Observable<AXPEntityListViewConfig[]>;\n get customViews$(): Observable<AXPEntityListViewConfig[]>;\n get hasCustomViews$(): Observable<boolean>;\n get view$(): Observable<AXPEntityListViewConfig>;\n setDefaultView(): void;\n setView(name: string): void;\n createView(view: AXPEntityListViewConfig): void;\n updateView(view: AXPEntityListViewConfig): void;\n deleteView(viewName: string): void;\n\n get columns$(): Observable<AXPEntityListColumnConfig[]>;\n get displayColumns$(): Observable<AXPEntityListDisplayColumnConfig[]>;\n get displayColumnsCount$(): Observable<number>;\n setColumnVisibility(name: string, visible: boolean): void;\n updateColumns(items: AXPEntityListDisplayColumnConfig[]): void;\n resetColumns(): void;\n\n get sorts$(): Observable<AXPEntityListSortConfig[]>;\n get sortsCount$(): Observable<number>;\n addSort(): void;\n resetSort(): void;\n removeSort(item: AXPEntityListSortConfig): void;\n updateSort(items: AXPEntityListSortConfig[]): void;\n\n get conditions$(): Observable<AXPEntityListConditionConfig[]>;\n get conditionsCount$(): Observable<number>;\n getInlineFilterTitles(): string[];\n\n addCondition(selectedFields: { name: string; opr: string }[]): void;\n resetConditions(): void;\n removeCondition(item: AXPEntityListConditionConfig): void;\n handleInlineSearch(value: string): void;\n updateConditions(items: AXPEntityListConditionConfig[]): void;\n\n get dataSource(): AXDataSource;\n get entity(): AXPEntityConfig;\n}\n\nexport class AXPListViewLoaderDefault implements AXPListViewLoader {\n private _config!: AXPEntityConfig;\n private _dataSource: AXDataSource = new AXDataSource(this.entity.dataSource);\n private _inlineFilterItems: { name: string; dataType: string | undefined; title: string }[] = [];\n\n constructor(private config: AXPEntityConfig, private schemaService: AXPSchemaRegistryService) {\n this._inlineFilterItems = this.entity.properties\n .filter((property) => property.canInlineFilter)\n .map((item) => {\n const schema = this.schemaService.resolve(item.schema);\n return { name: item.name, dataType: schema?.dataType, title: item.title };\n });\n }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get dataSource(): AXDataSource {\n return this._dataSource;\n }\n\n //****************** Properties ******************//\n private get props(): AXPEntityPropertyConfig[] {\n return this.entity.properties;\n }\n private _props$ = new BehaviorSubject<AXPEntityPropertyConfig[]>(this.props);\n\n public get properties$(): Observable<AXPEntityPropertyConfig[]> {\n return this._props$;\n }\n\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n\n //****************** Views ******************//\n\n private _currentView = 'default';\n\n private get views() {\n return this.entity.views.list?.views!;\n }\n\n private _views$ = new BehaviorSubject<AXPEntityListViewConfig[]>(this.views);\n public get views$(): Observable<AXPEntityListViewConfig[]> {\n return this._views$;\n }\n public get view$(): Observable<AXPEntityListViewConfig> {\n return this.views$.pipe(\n switchMap((views) => {\n const view = views.find((c) => c.name === this._currentView);\n if (view) {\n return of(view);\n } else if (this.views.length > 0) {\n return of(this.views[0]);\n } else {\n return of(AXPEntityListViewConfigEmpty);\n }\n })\n );\n }\n\n public get publicViews$(): Observable<AXPEntityListViewConfig[]> {\n return this.views$.pipe(map((c) => c.filter((v) => v.fixed)));\n }\n\n public get customViews$(): Observable<AXPEntityListViewConfig[]> {\n return this.views$.pipe(map((c) => c.filter((v) => !v.fixed)));\n }\n\n public get hasCustomViews$(): Observable<boolean> {\n return this.customViews$.pipe(map((c) => c.length > 0));\n }\n\n public setDefaultView() {\n this.setView(this.views[0].name);\n }\n\n public setView(name: string): void {\n let propNames: string[] = [];\n this.properties$.pipe(first()).subscribe((properties) => {\n propNames = properties.map((p) => p.name);\n });\n this._currentView = name;\n const updatedView = this._views$.value.find((c) => c.name === this._currentView) || AXPEntityListViewConfigEmpty;\n const currentViews = this._views$.value;\n const updatedViews = currentViews.map((view) => {\n if (view.name === updatedView.name) {\n return updatedView;\n } else {\n return view;\n }\n });\n\n this._currentConditions$.next(cloneDeep(updatedView.conditions.filter((c) => propNames.includes(c.name))));\n this._currentSorts$.next(cloneDeep(updatedView.sorts.filter((s) => propNames.includes(s.name))));\n // this._columns$.next(updatedView.columns);\n this._currentDisplayColumns$.next(cloneDeep(updatedView.columns.filter((c) => propNames.includes(c.name))));\n this._views$.next(updatedViews);\n\n //apply conditions and sorts:\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: updatedView.conditions.map((c) => ({\n field: c.name,\n value: c.value,\n operator: { type: c.operator },\n })) as any,\n });\n const convertedSortItems: AXDataSourceSortOption[] = updatedView.sorts.map((s) => ({\n field: s.name,\n dir: s.dir,\n }));\n this.dataSource.sort(...convertedSortItems);\n\n this.dataSource.refresh();\n }\n\n createView(newView: AXPEntityListViewConfig): void {\n const currentViews = this._views$.getValue();\n currentViews.push(newView);\n this._views$.next(currentViews);\n this.setView(newView.name);\n }\n updateView(updatedView: AXPEntityListViewConfig): void {\n const currentViews = this._views$.getValue().map((view) => (view.name === updatedView.name ? updatedView : view));\n this._views$.next(currentViews);\n this.setView(updatedView.name);\n }\n deleteView(viewName: string): void {\n const currentViews = this._views$.getValue().filter((view) => view.name !== viewName);\n this._views$.next(currentViews);\n this.setView(this.views[0].name);\n }\n\n //****************** Columns ******************//\n\n private _currentDisplayColumns$ = new BehaviorSubject<AXPEntityListDisplayColumnConfig[]>([]);\n\n private get columns(): AXPEntityListColumnConfig[] {\n return this.entity.properties.map((p) => ({\n name: p.name,\n title: p.title,\n schema: p.schema,\n }));\n }\n\n private _columns$ = new BehaviorSubject<AXPEntityListColumnConfig[]>(this.columns);\n\n public get columns$(): Observable<AXPEntityListColumnConfig[]> {\n return this._columns$.pipe(defaultIfEmpty([]));\n }\n\n public get displayColumns$(): Observable<AXPEntityListDisplayColumnConfig[]> {\n return this._currentDisplayColumns$.pipe(defaultIfEmpty([]));\n }\n\n public get displayColumnsCount$(): Observable<number> {\n return this.view$.pipe(\n map((view) => {\n return view.columns.filter((column) => column.visible).length;\n })\n );\n }\n\n updateColumns(items: AXPEntityListDisplayColumnConfig[]): void {\n this.view$.pipe(first()).subscribe((view) => {\n view.columns = cloneDeep(items);\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n });\n }\n\n resetColumns(): void {\n this.view$.pipe(first()).subscribe((view) => {\n this._currentDisplayColumns$.next(cloneDeep(view.columns));\n });\n }\n\n setColumnVisibility(name: string, visible: boolean) {\n const updatedColumns = this._currentDisplayColumns$.getValue().map((column) => {\n if (column.name === name) {\n return { ...column, visible };\n } else {\n return column;\n }\n });\n this._currentDisplayColumns$.next(updatedColumns);\n }\n\n //****************** Sort ******************//\n private _currentSorts$ = new BehaviorSubject<AXPEntityListSortConfig[]>([]);\n\n public get sorts$(): Observable<AXPEntityListSortConfig[]> {\n return this._currentSorts$.pipe(defaultIfEmpty([]));\n }\n\n public get sortsCount$(): Observable<number> {\n return this.view$.pipe(map((c) => c.sorts.length));\n }\n\n addSort(): void {\n this.view$.pipe(first()).subscribe((view) => {\n const currentSorts = this._currentSorts$.getValue();\n const name = view.columns.find((c) => !currentSorts.some((s) => s.name == c.name))?.name ?? '';\n if (name) {\n const sorts = [...currentSorts, { name, dir: 'asc' } as AXPEntityListSortConfig];\n this._currentSorts$.next(sorts);\n }\n });\n }\n\n removeSort(item: AXPEntityListSortConfig): void {\n const currentSorts = this._currentSorts$.getValue();\n const sorts = currentSorts.filter((c) => c != item);\n this._currentSorts$.next(sorts);\n }\n\n resetSort(): void {\n this.view$.pipe(first()).subscribe((view) => {\n this._currentSorts$.next(cloneDeep(view.sorts));\n });\n }\n\n updateSort(items: AXPEntityListSortConfig[]): void {\n this.view$.pipe(first()).subscribe((view) => {\n view.sorts = cloneDeep(items);\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n const convertedSortItems: AXDataSourceSortOption[] = items.map((s) => ({\n field: s.name,\n dir: s.dir,\n }));\n this.dataSource.sort(...convertedSortItems);\n this.dataSource.refresh();\n });\n }\n\n //****************** Conditions ******************//\n\n private _currentConditions$ = new BehaviorSubject<AXPEntityListConditionConfig[]>([]);\n\n public get conditions$(): Observable<AXPEntityListConditionConfig[]> {\n return this._currentConditions$.pipe(defaultIfEmpty([]));\n }\n public get conditionsCount$(): Observable<number> {\n return this.view$.pipe(map((c) => c.conditions.length));\n }\n\n public getInlineFilterTitles(): string[] {\n return this._inlineFilterItems.map((item) => item.title);\n }\n\n addCondition(selectedFields: { name: string; opr: any; value?: any }[]): void {\n const prevConditions = this._currentConditions$.getValue();\n const conditionsMap = new Map(prevConditions.map((item) => [item.name, item]));\n\n const newFields = selectedFields.map(\n (field) => conditionsMap.get(field.name) || { name: field.name, operator: field.opr }\n );\n this._currentConditions$.next(newFields as AXPEntityListConditionConfig[]);\n }\n\n removeCondition(item: AXPEntityListConditionConfig): void {\n const currentConditions = this._currentConditions$.getValue();\n const conditions = currentConditions.filter((c) => c != item);\n this._currentConditions$.next(conditions);\n }\n updateConditions(items: AXPEntityListConditionConfig[]): void {\n this.view$.pipe(first()).subscribe((view) => {\n view.conditions = cloneDeep(items);\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n });\n this.applyAllConditions();\n }\n\n handleInlineSearch(value: string) {\n const inlineConditions: AXPEntityListConditionConfig[] = [];\n\n this._inlineFilterItems?.forEach((property) => {\n if (property?.dataType == 'string' || property?.dataType == 'number') {\n inlineConditions.push({\n name: property.name,\n value: property.dataType == 'number' ? parseFloat(value) : value,\n operator: property.dataType == 'string' ? 'contains' : 'equal',\n });\n }\n });\n this.view$.pipe(first()).subscribe((view) => {\n view.inlineConditions = cloneDeep(inlineConditions);\n });\n this.applyAllConditions();\n }\n\n applyAllConditions() {\n const inlineConditions: AXDataSourceFilterOption = {\n field: null as any,\n operator: null as any,\n logic: 'or',\n filters: [],\n };\n\n const mainConditions: AXDataSourceFilterOption = {\n field: null as any,\n operator: null as any,\n logic: 'and',\n filters: [],\n };\n\n this.view$.pipe(first()).subscribe((view) => {\n if (view.inlineConditions && view.inlineConditions.length) {\n view.inlineConditions?.forEach((c) => {\n if (c.value) {\n inlineConditions.filters?.push({\n field: c.name,\n operator: { type: c.operator } as any,\n value: c.value,\n });\n }\n });\n }\n if (view.conditions.length) {\n view.conditions.forEach((c) => {\n mainConditions.filters?.push({\n field: c.name,\n operator: { type: c.operator } as any,\n value: c.value,\n });\n });\n }\n this.dataSource.filter({\n field: null as any,\n logic: 'and',\n operator: null as any,\n filters: [mainConditions, inlineConditions],\n });\n this.dataSource.refresh();\n this._views$.next(this._views$.value.map((v) => (v.name === this._currentView ? view : v)));\n });\n }\n\n resetConditions(): void {\n this.view$.pipe(first()).subscribe((view) => {\n this._currentConditions$.next(cloneDeep(view.conditions));\n });\n }\n}\n\nexport const AXP_LISTVIEW_LOADER = new InjectionToken<AXPListViewLoader>('AXP_LISTVIEW_LOADER');\n\n@Injectable({ providedIn: 'root' })\nexport class AXPListViewLoaderFactory {\n private cache: Map<string, AXPListViewLoader> = new Map();\n private entityService = inject(AXPEntityRegistryService);\n private schemaService = inject(AXPSchemaRegistryService);\n private layout = inject(AXPLayoutService);\n\n public async create(moduleName: string, entityName: string): Promise<AXPListViewLoader> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n let result = this.cache.get(config.name);\n if (result) {\n this.layout.setNavigationLoading(false);\n return result;\n }\n result = new AXPListViewLoaderDefault(config, this.schemaService);\n this.cache.set(config.name, result);\n this.layout.setNavigationLoading(false);\n return result;\n }\n}\n","import { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXBasePageComponent } from '@acorex/components/page';\nimport { AXPAdminLayoutState, AXPCommonWidgetModule, AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityViewRootSectionConfig, AXPSchemaModule } from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ViewEncapsulation, inject } from '@angular/core';\nimport { Actions } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\n\n@Component({\n templateUrl: 'entity-quick-view.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n imports: [CommonModule, AXPSchemaModule, AXPCommonWidgetModule, AXDecoratorModule, AXButtonModule, AXDropdownModule, AXDropdownButtonModule],\n})\nexport class AXPEntityQuickViewComponent extends AXBasePageComponent {\n private entity!: AXPEntityConfig;\n protected root!: AXPEntityViewRootSectionConfig;\n private store = inject(Store<AXPAdminLayoutState>);\n private workflow = inject(AXPWorkflowService);\n\n protected canDelete = false;\n protected canCreate = false;\n protected canUpdate = false;\n\n protected data: any;\n\n /**\n *\n */\n constructor(private actions$: Actions) {\n super();\n }\n\n override ngOnInit() {\n super.ngOnInit();\n //\n if (this.entity.views.quickView) {\n this.root = this.entity.views.quickView?.root;\n this.canDelete = this.entity.editOptions?.delete ?? true;\n this.canCreate = this.entity.editOptions?.create ?? true;\n this.canUpdate = this.entity.editOptions?.update ?? true;\n }\n }\n\n protected getProperties(names: string[]): AXPEntityPropertyConfig[] {\n return this.entity.properties.filter((c) => names.includes(c.name));\n }\n\n handleCloseClick() {\n this.close();\n }\n\n protected handleCommandClick(command: string) {\n switch (command) {\n case 'delete':\n this.workflow.execute('delete-entity', {\n module: this.entity.module,\n entity: this.entity.name,\n ids: [this.data.id],\n });\n this.close();\n break;\n case 'details':\n this.workflow.execute('show-details', {\n payload: {\n module: this.entity.module,\n entity: this.entity.name,\n },\n id: this.data.id,\n });\n this.close();\n break;\n default:\n break;\n }\n }\n}\n","<div class=\"ax-flex ax-flex-col ax-gap-6 ax-p-4\">\n <div class=\"ax-flex ax-flex-col ax-gap-2\" *ngIf=\"root.properties?.length\">\n <div *ngFor=\"let p of getProperties(root.properties)\"\n class=\"ax-flex ax-p-4 odd:ax-bg-on-surface odd:ax-border-t odd:ax-border-b\">\n <div class=\"ax-min-w-[10rem] ax-text-gray-500\">\n <span>{{ p.title }}</span>\n </div>\n <div class=\"ax-min-w-[30rem]\">\n <axp-widget-renderer [schema]=\"p.schema\" [context]=\"data\" [prop]=\"p\"></axp-widget-renderer>\n </div>\n </div>\n </div>\n <div *ngFor=\"let s of root.sections\"\n class=\"ax-flex ax-flex-col ax-pb-3 last-of-type:ax-border-none last-of-type:ax-pb-3\">\n <div class=\"ax-pb-4\">\n <span class=\"ax-font-bold\">{{ s.title }}</span>\n </div>\n <div class=\"ax-flex ax-flex-col\">\n <div *ngFor=\"let p of getProperties(s.properties)\"\n class=\"ax-flex ax-flex-col md:ax-flex-row ax-p-3 odd:ax-bg-on-surface odd:ax-border-t odd:ax-border-b\">\n @if (s.options?.showPropTitle!=false) {\n <div class=\"ax-min-w-[10rem] ax-text-neutral-500 dark:ax-text-neutral-300 ax-mb-2 md:ax-mb-0\">\n <span>{{ p.title }}</span>\n </div>\n }\n <div class=\"md:ax-min-w-[30rem]\">\n <axp-widget-renderer [schema]=\"p.schema\" [context]=\"data\" [prop]=\"p\" [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </div>\n </div>\n</div>\n<ax-footer>\n <ax-prefix> </ax-prefix>\n <ax-suffix>\n <ax-dropdown-button text=\"Close\" (onClick)=\"handleCloseClick()\">\n <ax-button-item-list>\n <ax-button-item text=\"View Details\" (onClick)=\"handleCommandClick('details')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-info-circle\"></ax-icon>\n </ax-prefix>\n </ax-button-item>\n @if(canDelete)\n {\n <ax-button-item class=\"ax-text-danger\" text=\"Delete\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix> <ax-icon icon=\"fas fa-trash fa-flip-horizontal\"></ax-icon> </ax-prefix></ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-button>\n </ax-suffix>\n</ax-footer>","import { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\nimport { AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPEntityViewConfig } from '@acorex/platform/common';\n\nexport interface AXPEntityModifyViewLoader {\n get entity(): AXPEntityConfig;\n get data(): any;\n get section(): any;\n\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n update(values: any): Promise<any>;\n}\n\nexport class AXPEntityModifyLoaderDefault implements AXPEntityModifyViewLoader {\n private _config!: AXPEntityConfig;\n private _data: any = {};\n private _currentSection: any;\n\n constructor(private config: AXPEntityConfig, private selectedData: any, private selectedSection: any) {\n this._data = this.selectedData;\n this._currentSection = this.selectedSection;\n }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get data(): any {\n return this._data;\n }\n get section(): any {\n return this._currentSection;\n }\n\n private get view(): AXPEntityViewConfig {\n return this.entity.views.detailView as AXPEntityViewConfig;\n }\n\n //****************** Properties ******************//\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n\n //****************** update ******************//\n public async update(values: any): Promise<any> {\n if (this._config.commands?.update) {\n const updated = await this._config.commands?.update(this._data.id, values);\n Object.assign(this._data, updated);\n return Promise.resolve();\n } else {\n return Promise.reject(`There is not any update commands for '${this.config.name}'`);\n }\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityModifyViewLoaderFactory {\n private entityService = inject(AXPEntityRegistryService);\n private layout = inject(AXPLayoutService);\n\n public async create(\n moduleName: string,\n entityName: string,\n id: string,\n section: any\n ): Promise<AXPEntityModifyViewLoader> {\n this.layout.setNavigationLoading(true);\n const config = await this.entityService.resolve(moduleName, entityName);\n if (config.dataSource.byKey) {\n const data = await config.dataSource.byKey(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityModifyLoaderDefault(config, data, section);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPEntityModifyViewLoaderFactory } from '../entity-modify-view/entity-modify-view.config';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\n\nexport const AXPEntityModifyEvent = createWorkFlowEvent<{ module: string; entity: string; updateValues: any }>(\n '[Entity] Modified'\n);\n@Injectable()\nexport class AXPEntityModifyPopupAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityRegistery = inject(AXPEntityRegistryService);\n private entityCreateFactory = inject(AXPEntityModifyViewLoaderFactory);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const { module, entity: entityName, section, id } = payload;\n const entity = await this.entityRegistery.resolve(module, entityName);\n const loader = await this.entityCreateFactory.create(module, entityName, id, section);\n\n const com = await import('../entity-modify-view/entity-modify-view.component');\n const popup = await this.popupService.open(com.AXPEntityModifyViewComponent, {\n title: `Modify ${payload.section.title}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n context: loader.data,\n loader: loader,\n properties: payload.section.properties,\n entity,\n },\n });\n context.setOutput('popupResult', false);\n if (popup.data?.result == true) {\n context.setOutput('popupResult', true);\n context.setVariable('updatedData', cloneDeep(popup.data.context));\n }\n }\n}\n\nexport class AXPEntityModifyConfirmedAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const updatedData = context.getVariable('updatedData');\n const entity = await this.entityRegistery.resolve(payload.module, payload.entity);\n this.dispatch(AXPEntityModifyEvent({ module: entity.module, entity: entity.name, updateValues: updatedData }));\n }\n}\n\nexport const AXPModifyEntityWorkflow: AXPWorkflow = {\n startStepId: 'modifyPopup',\n steps: {\n modifyPopup: {\n id: 'modifyPopup',\n action: 'AXPEntityModifyPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Modified',\n content: 'Record has been successfully updated.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n nextSteps: [\n {\n conditions: [],\n nextStepId: '',\n },\n ],\n },\n },\n};\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXFormatService } from '@acorex/core/format';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable()\nexport class AXPShowQuickViewAction extends AXPWorkflowAction {\n private entityRegistery = inject(AXPEntityRegistryService);\n private formatService = inject(AXFormatService);\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n\n const entity = await this.entityRegistery.resolve(payload.module, payload.entity);\n const suggestedProps = entity.properties.find((c) => ['title', 'name', 'code'].includes(c.name));\n let suggestedFormat = 'Item #{{id}}';\n if (suggestedProps) suggestedFormat = `{{${suggestedProps.name}}}`;\n const title = this.formatService.format(entity.formats?.header ?? entity.formats?.default ?? suggestedFormat, 'string', payload.data);\n //\n const com = await import('../entity-quick-view/entity-quick-view.component');\n this.popupService.open(com.AXPEntityQuickViewComponent, {\n title: `${title} - Quick View`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n entity: entity,\n data: payload.data,\n },\n });\n }\n}\n\nexport const AXPShowQuickViewWorkflow: AXPWorkflow = {\n startStepId: 'showQuickView',\n steps: {\n showQuickView: {\n id: 'showQuickView',\n action: 'AXPShowQuickViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n@Injectable()\nexport class AXPShowDetailViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const id = context.getVariable('id');\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/${payload.module}/e/${payload.entity}/${id}/view`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\n\nexport const AXPShowDetailsViewWorkflow: AXPWorkflow = {\n startStepId: 'showDetailView',\n steps: {\n showDetailView: {\n id: 'showDetailView',\n action: 'AXPShowDetailViewAction',\n },\n },\n};\n","import { AXPSessionService } from '@acorex/platform/auth';\nimport { AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflow, AXPWorkflowAction } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\n\n\n@Injectable()\nexport class AXPShowListViewAction extends AXPWorkflowAction {\n private navigation = inject(AXPWorkflowNavigateAction);\n private sessionService = inject(AXPSessionService);\n async execute(context?: any): Promise<void> {\n const payload = context.getVariable('payload');\n const newPayload = {\n commands: `/${this.sessionService.application?.name}/${payload.entity.module}/e/${payload.entity}/list`,\n };\n context.setVariable('payload', newPayload);\n this.navigation.execute(context);\n }\n}\n\nexport const AXPShowListViewWorkflow: AXPWorkflow = {\n startStepId: 'showListView',\n steps: {\n showListView: {\n id: 'showListView',\n action: 'AXPShowListViewAction',\n },\n },\n};\n","import { AXActionSheetModule } from '@acorex/components/action-sheet';\nimport { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXHtmlEvent } from '@acorex/components/common';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDialogModule } from '@acorex/components/dialog';\nimport { AXDrawerComponent, AXDrawerModule } from '@acorex/components/drawer';\nimport { AXDropdownModule } from '@acorex/components/dropdown';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXImageModule } from '@acorex/components/image';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXSwitchModule } from '@acorex/components/switch';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPSessionService } from '@acorex/platform/auth';\nimport {\n AXPAdminLayoutState,\n AXPCommonWidgetModule,\n AXPEntityViewChildSectionConfig,\n AXPLayoutChildDrawerClose,\n AXPLayoutChildDrawerToggle,\n AXPSchemaModule,\n AXPStickyDirective,\n getChildDrawer,\n isSmallScreen,\n} from '@acorex/platform/common';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule, Location } from '@angular/common';\nimport { ChangeDetectionStrategy, ChangeDetectorRef, Component, ViewChild, WritableSignal, inject, signal } from '@angular/core';\nimport { ActivatedRoute, Router, RouterModule } from '@angular/router';\nimport { Actions, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { cloneDeep } from 'lodash-es';\nimport { first } from 'rxjs';\nimport { AXPEntityDeletedEvent, AXPEntityModifyEvent } from '../workflows';\nimport { AXPEntityDetailViewLoader } from './detail-view.config';\n@Component({\n templateUrl: './entity-details-view.component.html',\n imports: [\n CommonModule,\n RouterModule,\n AXButtonModule,\n AXDecoratorModule,\n AXBadgeModule,\n AXDropdownModule,\n AXPopoverModule,\n AXFormModule,\n AXImageModule,\n AXActionSheetModule,\n AXSwitchModule,\n AXDrawerModule,\n AXDialogModule,\n AXLoadingModule,\n AXTabsModule,\n AXBadgeModule,\n AXButtonModule,\n AXSwitchModule,\n AXPSchemaModule,\n AXTooltipModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n //\n AXPCommonWidgetModule,\n AXPStickyDirective,\n ],\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [AXUnsubscriber],\n})\nexport class AXPEntityDetailsViewComponent {\n private popupService = inject(AXPopupService);\n private sessionService = inject(AXPSessionService);\n private activeRoute = inject(ActivatedRoute);\n private router = inject(Router);\n private location = inject(Location);\n private cdr = inject(ChangeDetectorRef);\n private platform = inject(AXPlatform);\n private workflow = inject(AXPWorkflowService);\n\n protected loader = this.activeRoute.snapshot.data['loader'] as AXPEntityDetailViewLoader;\n\n @ViewChild('drawer') drawer!: AXDrawerComponent;\n\n private store = inject(Store<AXPAdminLayoutState>);\n protected isSM = this.store.select(isSmallScreen());\n protected isOpen = this.store.select(getChildDrawer());\n //\n protected canDelete = this.loader.entity.editOptions?.delete ?? true;\n protected canCreate = this.loader.entity.editOptions?.create ?? true;\n protected canUpdate = this.loader.entity.editOptions?.update ?? true;\n //\n\n protected context: WritableSignal<any> = signal(cloneDeep(this.loader.data));\n\n constructor(private actions$: Actions, private unsubscriber: AXUnsubscriber) {\n this.activeRoute.paramMap.pipe(first()).subscribe((c) => {\n this.setSection(c.get('section') as string);\n });\n //\n this.workflow.events$.pipe(ofType(AXPEntityDeletedEvent), this.unsubscriber.takeUntilDestroy).subscribe((event) => {\n if (\n event.payload.entity == this.loader.entity.name &&\n event.payload.module == this.loader.entity.module &&\n event.payload.id.includes(this.loader.data.id)\n ) {\n this.workflow.execute('show-list-view', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n }\n });\n this.workflow.events$.pipe(ofType(AXPEntityModifyEvent), this.unsubscriber.takeUntilDestroy).subscribe(async (event) => {\n if (\n event.payload.entity == this.loader.entity.name &&\n event.payload.module == this.loader.entity.module &&\n event.payload.updateValues.id === this.loader.data.id\n ) {\n await this.loader.update(event.payload.updateValues);\n this.context.set(cloneDeep(this.loader.data));\n }\n });\n }\n\n protected handleMenuClick(e: AXHtmlEvent, item: AXPEntityViewChildSectionConfig) {\n const entity = this.loader.entity;\n const path = `/${this.sessionService.application?.name}/${entity.module}/e/${entity.name}/${this.loader.data?.id}/view/${item.name}`;\n this.location.go(path);\n this.setSection(item.name);\n }\n\n protected handleCollapsedChange(value: boolean) {\n if (value) this.store.dispatch(AXPLayoutChildDrawerClose());\n }\n\n protected handleDrawerClick() {\n this.store.dispatch(AXPLayoutChildDrawerToggle());\n }\n\n private setSection(name: string) {\n this.loader.setSection(name);\n }\n\n protected async handleSectionEdit(section: AXPEntityViewChildSectionConfig) {\n this.workflow.execute('modify-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n id: this.loader.data.id,\n section: section,\n },\n });\n }\n\n protected isActive(item: AXPEntityViewChildSectionConfig) {\n return item.name == window.location.pathname.split('/').pop();\n }\n\n protected handleCommandClick(command: string) {\n switch (command) {\n case 'delete':\n this.workflow.execute('delete-entity', {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n ids: [this.loader.data.id],\n });\n break;\n case 'create': {\n this.workflow.execute('create-entity', {\n payload: {\n module: this.loader.entity.module,\n entity: this.loader.entity.name,\n },\n });\n break;\n }\n default:\n break;\n }\n }\n}\n","<ax-drawer-container>\n <!-- <ax-drawer #drawer location=\"start\" [collapsed]=\"!(isOpen | async)\" [mode]=\" (isSM | async) ? 'overlay' : 'push'\"\n *ngIf=\"loader.hasSections$ | async\" (collapsedChange)=\"handleCollapsedChange($event)\">\n <ax-content class=\"ax-border-e ax-p-6 ax-w-64\">\n <p class=\"ax-text-xl ax-font-bold ax-mb-6\">{{loader.sectionTitle}}</p>\n <ax-tabs look=\"with-line\" location=\"start\">\n @for(tab of (loader.sections$ | async); track tab.name)\n {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event,tab)\"\n [disabled]=\"editForm.context\">\n </ax-tab-item>\n }\n </ax-tabs>\n </ax-content>\n </ax-drawer> -->\n <ax-content #content class=\"ax-overflow-x-hidden\">\n <div class=\"ax-flex ax-flex-col ax-gap-4 ax-min-h-full ax-px-4 ax-pb-4 md:ax-px-6 ax-bg-surface ax-border-b md:ax-border-0 md:ax-bg-default\">\n <div\n class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\"\n #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\"\n [stickyParent]=\"content.getHostElement()\"\n >\n <!-------- Begin Toolbar -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <!-------- Begin Title -------->\n <div class=\"ax-flex ax-gap-1 ax-items-center\">\n <!-- <ax-button class=\"lg:ax-hidden\">\n <ax-icon class=\"fa-solid fa-chevron-left\"></ax-icon>\n </ax-button> -->\n <div class=\"ax-flex ax-flex-col ax-gap-2\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ loader.title }}</div>\n <!-- <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n <ax-breadcrumbs-item>\n <a>Home</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item>\n <a>{{ loader.entity.title }}</a>\n </ax-breadcrumbs-item>\n <ax-breadcrumbs-item [active]=\"true\" class=\"!ax-font-semibold !ax-text-neutral-600\">\n {{ loader.title }}\n </ax-breadcrumbs-item>\n </ax-breadcrumbs> -->\n </div>\n </div>\n <!-------- Finish Title -------->\n <!--------------------------------------------------------------->\n <!-- Begin Action Menu -->\n <div class=\"ax-flex ax-items-center ax-gap-3\">\n @if(canCreate || canUpdate) {\n <ax-button [text]=\"(isSM | async) ? null : 'Actions'\" color=\"ghost\">\n <ax-prefix>\n <i class=\"fa-solid fa-ellipsis-vertical\"></i>\n </ax-prefix>\n <ax-dropdown-panel>\n <ax-button-item-list>\n <!-- <ax-button-item text=\"Share\" class=\"ax-font-semibold\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-share\"> </ax-icon>\n </ax-prefix>\n </ax-button-item> \n <ax-divider></ax-divider>-->\n @if(canCreate) {\n <ax-button-item\n [text]=\"('create-new' | translate | async) ?? ' '\"\n class=\"ax-font-semibold ax-text-primary\"\n (onClick)=\"handleCommandClick('create')\"\n >\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-add\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n } @if(canDelete) {\n <ax-button-item text=\"Delete\" class=\"ax-font-semibold ax-text-danger\" (onClick)=\"handleCommandClick('delete')\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-trash\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n <!----- Finish Toolbar ----->\n <!--------------------------------------------------------------->\n <!-- Begin Section Tab Items -->\n @if((loader.hasSections$| async)) {\n <ax-tabs look=\"with-line\" location=\"bottom\" class=\"ax-mt-2\">\n @for(tab of (loader.sections$ | async); track tab.name) {\n <ax-tab-item [text]=\"tab.title\" [active]=\"isActive(tab)\" (onClick)=\"handleMenuClick($event, tab)\" class=\"first:!ax-ms-0\"> </ax-tab-item>\n }\n </ax-tabs>\n }\n <!-- Finish Section Tab Items -->\n </div>\n @for(section of (loader.section$ | async)?.sections; track section.name) {\n <ax-form #form>\n <div class=\"ax-card ax-shadow-md\">\n <div class=\"ax-card-header\">\n <p>{{ section.title }}</p>\n @if(canUpdate) {\n <ax-button text=\"Modify\" class=\"ax-sm\" color=\"primary\" (onClick)=\"handleSectionEdit(section)\">\n <ax-icon class=\"fa-solid fa-pen\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body ax-divide-y ax-divide-gray-100 dark:ax-divide-gray-700 !ax-gap-0\">\n <ng-container *ngFor=\"let name of section.properties\">\n <ng-container *ngIf=\"loader.getProp(name) as prop\">\n <div class=\"ax-grid md:ax-grid-cols-12 ax-gap-2 ax-py-4 first:ax-pt-0 last:ax-pb-0\">\n @if(section.options?.showPropTitle!=false){\n <div class=\"ax-col-span-12 md:ax-col-span-3 lg:ax-col-span-2 ax-flex ax-items-center md:ax-items-start ax-justify-between\">\n <div class=\"ax-flex ax-flex-col ax-items-start\">\n <span class=\"ax-font-semibold\">{{ prop.title }}</span>\n <!-- @if(prop.description) {\n <i\n class=\"fa-solid fa-circle-info fa-sm ax-text-neutral-500 dark:ax-text-neutral-400 ax-cursor-pointer\"\n [axTooltip]=\"prop.description\"\n [axTooltipPlacement]=\"'end'\"\n ></i>\n } -->\n @if(prop.description) {\n <span class=\"ax-text-neutral-500 ax-text-xs\">{{ prop.description }}</span>\n }\n </div>\n </div>\n }\n <div [class]=\"section.options?.showPropTitle == false ? 'ax-col-span-12' : 'ax-col-span-12 md:ax-col-span-9 lg:ax-col-span-10'\">\n <axp-widget-renderer [schema]=\"prop.schema\" [context]=\"context()\" [prop]=\"prop\" [mode]=\"'view'\"></axp-widget-renderer>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ax-form>\n }\n </div>\n </ax-content>\n</ax-drawer-container>\n","import { AXFormatService } from '@acorex/core/format';\nimport { Injectable, inject } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { assign, cloneDeep } from 'lodash-es';\nimport { BehaviorSubject, Observable, defaultIfEmpty, map, of, switchMap } from 'rxjs';\n\nimport { AXPLayoutService } from '@acorex/platform/common';\nimport { AXPEntityConfig, AXPEntityPropertyConfig, AXPEntityRegistryService, AXPEntityViewChildSectionConfig, AXPEntityViewConfig } from '@acorex/platform/common';\n\nexport interface AXPEntityDetailViewLoader {\n get entity(): AXPEntityConfig;\n get data(): any;\n get title(): string;\n\n get sectionTitle(): string;\n get sections$(): Observable<AXPEntityViewChildSectionConfig[]>;\n get hasSections$(): Observable<boolean>;\n get section$(): Observable<AXPEntityViewChildSectionConfig>;\n setSection(name: string): void;\n\n getProp(name: string): AXPEntityPropertyConfig | undefined;\n update(values: any): Promise<any>;\n}\n\nexport class AXPEntityDetailLoaderDefault implements AXPEntityDetailViewLoader {\n private _config!: AXPEntityConfig;\n private _currentSection = 'default';\n\n constructor(\n private config: AXPEntityConfig,\n private store: Store,\n private entityData: any,\n private formatService: AXFormatService\n ) { }\n\n get entity(): AXPEntityConfig {\n if (!this._config) {\n this._config = cloneDeep(this.config);\n }\n return this._config;\n }\n\n get data(): any {\n return this.entityData;\n }\n\n private get view(): AXPEntityViewConfig {\n return (this.entity.views.detailView ?? this.entity.views.quickView) as AXPEntityViewConfig;\n }\n\n //****************** Titles ******************//\n get title(): string {\n const suggestedProps = this.entity.properties.find((c) => ['title', 'name', 'code'].includes(c.name));\n let suggestedFormat = 'Item #{{id}}';\n if (suggestedProps) suggestedFormat = `{{${suggestedProps.name}}}`;\n const title = this.formatService.format(\n this.entity.formats?.header ?? this.entity.formats?.default ?? suggestedFormat,\n 'string',\n this.data\n );\n return title;\n }\n\n get sectionTitle(): string {\n return `${this.entity.title}`;\n }\n\n //****************** Sections ******************//\n\n private get sections(): AXPEntityViewChildSectionConfig[] {\n return this.view.root.sections?.length\n ? this.view.root.sections\n : [\n {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n },\n ];\n }\n\n private _sections$ = new BehaviorSubject<AXPEntityViewChildSectionConfig[]>(this.sections);\n\n public get sections$(): Observable<AXPEntityViewChildSectionConfig[]> {\n return this._sections$.pipe(defaultIfEmpty([]));\n }\n\n public get section$(): Observable<AXPEntityViewChildSectionConfig> {\n return this.sections$.pipe(\n switchMap((sections) => {\n const section = sections.find((c) => c.name === this._currentSection) ?? this.sections[0];\n if (!section.sections?.length) {\n section.sections = [\n {\n name: 'default',\n title: 'Details',\n properties: section.properties,\n },\n ];\n }\n return of(section);\n })\n );\n }\n\n public get hasSections$(): Observable<boolean> {\n return this.sections$.pipe(map((c) => c.length > 1));\n }\n\n public setSection(name: string) {\n this._currentSection = name ?? 'default';\n const updatedSection = this.sections.find((c) => c.name === this._currentSection) || {\n name: 'default',\n title: 'Default',\n properties: this.view.root.properties,\n };\n const currentSections = this._sections$.value;\n const updatedSections = currentSections.map((section) => {\n if (section.name === updatedSection.name) {\n return updatedSection;\n } else {\n return section;\n }\n });\n this._sections$.next(updatedSections);\n }\n\n //****************** Properties ******************//\n public getProp = (name: string): AXPEntityPropertyConfig | undefined => this.entity.properties.find((c) => c.name == name);\n\n //****************** Update ******************//\n public async update(values: any): Promise<any> {\n assign(this.data, values);\n this.setSection(this._currentSection);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXPEntityDetailViewLoaderFactory {\n private entityService = inject(AXPEntityRegistryService);\n private formatService = inject(AXFormatService);\n private layout = inject(AXPLayoutService);\n private store = inject(Store);\n\n public async create(moduleName: string, entityName: string, id: string): Promise<AXPEntityDetailViewLoader> {\n const config = await this.entityService.resolve(moduleName, entityName);\n this.layout.setNavigationLoading(true);\n if (config.dataSource.byKey) {\n const data = await config.dataSource.byKey(id);\n this.layout.setNavigationLoading(false);\n return new AXPEntityDetailLoaderDefault(config, this.store, data, this.formatService);\n }\n this.layout.setNavigationLoading(false);\n return Promise.reject('cannot fetch ');\n }\n}\n","import { ActivatedRouteSnapshot, RouteReuseStrategy, DetachedRouteHandle } from '@angular/router';\nimport { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';\n\n\nexport class AXPCustomReuseStrategy implements RouteReuseStrategy {\n shouldDetach(route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle): void { }\n\n shouldAttach(route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n return null;\n }\n\n shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n if (future.component === AXPEntityListViewComponent || future.component === AXPEntityDetailsViewComponent) {\n return false;\n }\n\n return future.routeConfig === curr.routeConfig;\n }\n}\n","import { AXPopupService } from '@acorex/components/popup';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPWorkflow, AXPWorkflowAction, AXPWorkflowContext, createWorkFlowEvent } from '@acorex/platform/workflow';\nimport { Injectable, inject } from '@angular/core';\nimport { cloneDeep } from 'lodash-es';\nimport { AXPEntityModifyViewLoaderFactory } from '../entity-modify-view/entity-modify-view.config';\nimport { AXPEntityRegistryService } from '@acorex/platform/common';\n\n\n@Injectable()\nexport class AXPEntityModifySectionPopupAction extends AXPWorkflowAction {\n private popupService = inject(AXPopupService);\n private platform = inject(AXPlatform);\n private entityRegistery = inject(AXPEntityRegistryService);\n private entityCreateFactory = inject(AXPEntityModifyViewLoaderFactory);\n\n async execute(context: AXPWorkflowContext): Promise<void> {\n const payload = context.getVariable('payload');\n const { module, entity: entityName, section, id } = payload;\n const entity = await this.entityRegistery.resolve(module, entityName);\n const loader = await this.entityCreateFactory.create(module, entityName, id, section);\n\n const com = await import('../entity-modify-view/entity-modify-view.component');\n const popup = await this.popupService.open(com.AXPEntityModifyViewComponent, {\n title: `Modify ${payload.section.title}`,\n size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',\n data: {\n context: loader.data,\n loader: loader,\n properties: payload.section.properties,\n entity,\n },\n });\n context.setOutput('popupResult', false);\n if (popup.data?.result == true) {\n context.setOutput('popupResult', true);\n context.setVariable('updatedData', cloneDeep(popup.data.context));\n }\n }\n}\n\n\nexport const AXPModifyEntitySectionWorkflow: AXPWorkflow = {\n startStepId: 'modifyPopup',\n steps: {\n modifyPopup: {\n id: 'modifyPopup',\n action: 'AXPEntityModifySectionPopupAction',\n nextSteps: [\n {\n conditions: [{ type: 'SINGLE', expression: 'context.getOutput(\"popupResult\") == true' }],\n nextStepId: 'successToast',\n },\n ],\n },\n successToast: {\n id: 'successToast',\n action: 'AXPToastAction',\n input: {\n color: 'success',\n title: 'Entity Modified',\n content: 'Record has been successfully updated.',\n },\n nextSteps: [\n {\n conditions: [],\n nextStepId: 'modifyConfirmed',\n },\n ],\n },\n modifyConfirmed: {\n id: 'modifyConfirmed',\n action: 'AXPEntityModifyConfirmedAction',\n nextSteps: [\n {\n conditions: [],\n nextStepId: '',\n },\n ],\n },\n },\n};\n","import { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { RouteReuseStrategy } from '@angular/router';\nimport { AXPCustomReuseStrategy } from './custom-reuse.strategy';\nimport { AXPListViewModule } from './entity-layout';\nimport {\n AXPCreateEntityWorkflow,\n AXPEntityCreatePopupAction,\n AXPEntityCreateSubmittedAction,\n} from './entity-layout/workflows/create-entity.workflow';\nimport { AXPDeleteEntityWorkflow, AXPEntityPerformDeleteAction, AXPMyCustomFunc } from './entity-layout/workflows/delete-entity.workflow';\nimport {\n AXPEntityImportPopupAction,\n AXPEntityImportSubmittedAction,\n AXPImportEntityWorkflow,\n} from './entity-layout/workflows/import-entity.workflow';\nimport {\n AXPEntityModifyConfirmedAction,\n AXPEntityModifyPopupAction,\n AXPModifyEntityWorkflow,\n} from './entity-layout/workflows/modify-entity.workflow';\nimport { AXPEntityModifySectionPopupAction, AXPModifyEntitySectionWorkflow } from './entity-layout/workflows/modify-section.workflow';\nimport { AXPShowDetailsViewWorkflow } from './entity-layout/workflows/show-details.workflow';\nimport { AXPShowListViewWorkflow } from './entity-layout/workflows/show-list.workflow';\nimport { AXPShowQuickViewWorkflow } from './entity-layout/workflows/show-quick-view.workflow';\n\n@NgModule({\n imports: [\n AXPListViewModule,\n AXPWorkflowModule.forChild({\n actions: {\n AXPEntityPerformDeleteAction,\n AXPEntityModifyPopupAction,\n AXPEntityModifySectionPopupAction,\n AXPEntityModifyConfirmedAction,\n AXPEntityCreatePopupAction,\n AXPEntityCreateSubmittedAction,\n AXPEntityImportPopupAction,\n AXPEntityImportSubmittedAction,\n },\n workflows: {\n 'delete-entity': AXPDeleteEntityWorkflow,\n 'modify-entity': AXPModifyEntityWorkflow,\n 'modify-entity-section': AXPModifyEntitySectionWorkflow,\n 'create-entity': AXPCreateEntityWorkflow,\n 'import-entity': AXPImportEntityWorkflow,\n 'show-details': AXPShowDetailsViewWorkflow,\n 'show-quick-view': AXPShowQuickViewWorkflow,\n 'show-list-view': AXPShowListViewWorkflow,\n },\n functions: {\n test: AXPMyCustomFunc,\n },\n }),\n ],\n exports: [],\n declarations: [],\n providers: [{ provide: RouteReuseStrategy, useClass: AXPCustomReuseStrategy }],\n})\nexport class AXPAdminLayoutModule {}\n","import { inject } from '@angular/core';\nimport { ActivatedRouteSnapshot, ResolveFn, RouterStateSnapshot } from '@angular/router';\n//\nimport {\n AXPEntityDetailViewLoader,\n AXPEntityDetailViewLoaderFactory,\n AXPListViewLoader,\n AXPListViewLoaderFactory,\n} from './entity-layout';\n\nexport const AXPListViewLoaderResolver: ResolveFn<Promise<AXPListViewLoader>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPListViewLoaderFactory = inject(AXPListViewLoaderFactory)\n): Promise<AXPListViewLoader> => {\n const appName = route.parent?.paramMap.get('app') as string;\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n return service.create(moduleName, entityName);\n};\n\nexport const AXPEntityDetailViewLoaderResolver: ResolveFn<Promise<AXPEntityDetailViewLoader>> = (\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot,\n service: AXPEntityDetailViewLoaderFactory = inject(AXPEntityDetailViewLoaderFactory)\n): Promise<AXPEntityDetailViewLoader> => {\n const appName = route.parent?.paramMap.get('app') as string;\n const moduleName = route.parent?.paramMap.get('module') as string;\n const entityName = route.paramMap.get('entity') as string;\n const id = route.paramMap.get('id') as string;\n return service.create(moduleName, entityName, id);\n};\n","import { AXPAuthGuard } from '@acorex/platform/auth';\nimport { Route } from '@angular/router';\nimport { AXPEntityDetailsViewComponent, AXPEntityListViewComponent } from './entity-layout';\nimport { AXPEntityDetailViewLoaderResolver, AXPListViewLoaderResolver } from './entity.resolver';\n\nexport const AX_ADMIN_ROUTES: Route[] = [\n {\n path: ':app',\n canActivate: [AXPAuthGuard],\n children: [\n {\n path: ':module',\n children: [\n {\n path: 'e/:entity/:id/view/:section',\n resolve: { loader: AXPEntityDetailViewLoaderResolver },\n component: AXPEntityDetailsViewComponent,\n },\n {\n path: 'e/:entity/:id/view',\n resolve: { loader: AXPEntityDetailViewLoaderResolver },\n component: AXPEntityDetailsViewComponent,\n },\n {\n path: 'e/:entity',\n redirectTo: ':entity/list',\n pathMatch: 'full',\n },\n {\n path: 'e/:entity/list',\n component: AXPEntityListViewComponent,\n resolve: {\n loader: AXPListViewLoaderResolver,\n },\n // canActivate: [AXPPermissionGuard],\n // data: {\n // requiredPermission: \"dynamic\"\n // }\n },\n // {\n // path: 'ee/:entity/:id/view',\n // resolve: { vm: AXPEntityDetailViewModelResolver },\n // component: AXPDefaultThemeEntityDetailsViewComponent,\n // },\n ],\n },\n ],\n },\n];\n","import { AXMWorkflowErrorHandler, AXPCommonModule, AXPDialogConfirmAction, AXPToastAction, AXPWorkflowNavigateAction } from '@acorex/platform/common';\nimport { AXPWorkflowModule } from '@acorex/platform/workflow';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { AXPShowDetailViewAction, AXPShowListViewAction, AXPShowQuickViewAction } from './admin/entity-layout/workflows';\n\n@NgModule({\n imports: [\n AXPCommonModule.forChild({ errorHandlers: [AXMWorkflowErrorHandler] }),\n AXPWorkflowModule.forChild({\n actions: {\n AXPWorkflowNavigateAction,\n AXPDialogConfirmAction,\n AXPToastAction,\n AXPShowDetailViewAction,\n AXPShowListViewAction,\n AXPShowQuickViewAction,\n },\n }),\n ],\n exports: [RouterModule],\n})\nexport class AXPLayoutModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i3","i4","i12","i16","i17","i5","i6","i7","i1","i8","i9","i10","i11","i13","i14","i15.AXPListViewOptionsColumnsComponent","i16.AXPListViewOptionConditionsComponent","i17.AXPListViewOptionSortingComponent","i18","ofType"],"mappings":"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"}