@acorex/platform 18.0.14 → 18.0.16

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 (264) hide show
  1. package/core/index.d.ts +1 -0
  2. package/core/utils/data-conditioner.d.ts +6 -0
  3. package/esm2022/auth/lib/session.service.mjs +7 -5
  4. package/esm2022/common/lib/schema/widget/widget-renderer.mjs +3 -3
  5. package/esm2022/core/index.mjs +2 -1
  6. package/esm2022/core/utils/data-conditioner.mjs +138 -0
  7. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +3 -2
  8. package/esm2022/layout/builder/lib/builder/widget-registery.service.mjs +2 -2
  9. package/esm2022/layout/builder/lib/builder/widget-renderer.component.mjs +3 -3
  10. package/esm2022/layout/builder/lib/builder/widget.types.mjs +17 -10
  11. package/esm2022/layout/designer/index.mjs +2 -7
  12. package/esm2022/layout/designer/lib/{helpers → designer/components}/add-widget-button/add-widget-button.component.mjs +2 -2
  13. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +112 -0
  14. package/esm2022/layout/designer/lib/designer/components/breadcrumbs/breadcrumbs.component.mjs +64 -0
  15. package/esm2022/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.mjs +32 -0
  16. package/esm2022/layout/designer/lib/designer/components/drawers/history/history.component.mjs +30 -0
  17. package/esm2022/layout/designer/lib/designer/components/drawers/outline/outline.component.mjs +61 -0
  18. package/esm2022/layout/designer/lib/designer/components/drawers/pages/pages.component.mjs +28 -0
  19. package/esm2022/layout/designer/lib/designer/components/grid-drawer/grid-drawer.component.mjs +82 -0
  20. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +24 -0
  21. package/esm2022/layout/designer/lib/{widget-picker → designer/components/widget-picker}/widget-picker.component.mjs +1 -1
  22. package/esm2022/layout/designer/lib/designer/designer.component.mjs +28 -17
  23. package/esm2022/layout/designer/lib/designer/index.mjs +8 -0
  24. package/esm2022/layout/designer/lib/designer/shared/command.mjs +185 -0
  25. package/esm2022/layout/designer/lib/designer/shared/designer-connector.service.mjs +10 -0
  26. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +488 -0
  27. package/esm2022/layout/designer/lib/designer/shared/designer.typs.mjs +2 -0
  28. package/esm2022/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.mjs +16 -0
  29. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +224 -0
  30. package/esm2022/layout/designer/lib/preview/preview.component.mjs +3 -3
  31. package/esm2022/layout/designer/lib/property-viewer/widget-property-viewer.component.mjs +17 -5
  32. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +2 -5
  33. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +15 -5
  34. package/esm2022/layout/entity/lib/entity-registery.service.mjs +3 -3
  35. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget.config.mjs +2 -1
  36. package/esm2022/themes/default/index.mjs +3 -2
  37. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +29 -20
  38. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.mjs +19 -9
  39. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.mjs +123 -0
  40. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.mjs +3 -0
  41. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +22 -23
  42. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +68 -0
  43. package/esm2022/themes/default/lib/layouts/entity-layouts/index.mjs +2 -0
  44. package/esm2022/widgets/lib/properties/data-source.props.mjs +21 -0
  45. package/esm2022/widgets/lib/properties/editors.props.mjs +27 -90
  46. package/esm2022/widgets/lib/properties/general.props.mjs +124 -0
  47. package/esm2022/widgets/lib/properties/index.mjs +4 -1
  48. package/esm2022/widgets/lib/properties/layout.props.mjs +138 -33
  49. package/esm2022/widgets/lib/properties/table-column.props.mjs +2 -2
  50. package/esm2022/widgets/lib/widgets/actions/button/button-widget-designer.component.mjs +54 -0
  51. package/esm2022/widgets/lib/widgets/actions/button/button-widget-view.component.mjs +3 -2
  52. package/esm2022/widgets/lib/widgets/actions/button/button-widget.config.mjs +3 -2
  53. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget-edit.component.mjs +13 -4
  54. package/esm2022/widgets/lib/widgets/advance/file/file-box-widget.config.mjs +4 -2
  55. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.mjs +13 -4
  56. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget.config.mjs +2 -1
  57. package/esm2022/widgets/lib/widgets/advance/map/index.mjs +1 -4
  58. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-edit.component.mjs +54 -157
  59. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-view.component.mjs +40 -53
  60. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget.config.mjs +100 -11
  61. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +23 -14
  62. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget.config.mjs +9 -7
  63. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget-edit.component.mjs +12 -3
  64. package/esm2022/widgets/lib/widgets/advance/signature/signature-pad-widget.config.mjs +5 -6
  65. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-designer.component.mjs +54 -0
  66. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.mjs +21 -21
  67. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.mjs +4 -1
  68. package/esm2022/widgets/lib/widgets/editors/checkbox/checkbox-widget.config.mjs +14 -5
  69. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-designer.component.mjs +53 -0
  70. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-edit.component.mjs +24 -12
  71. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget.config.mjs +15 -6
  72. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +13 -4
  73. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +2 -1
  74. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.mjs +13 -4
  75. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget.config.mjs +5 -2
  76. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget-edit.component.mjs +13 -4
  77. package/esm2022/widgets/lib/widgets/editors/email/email-box-widget.config.mjs +4 -2
  78. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +13 -4
  79. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget.config.mjs +4 -2
  80. package/esm2022/widgets/lib/widgets/editors/link/link-widget-edit.component.mjs +13 -4
  81. package/esm2022/widgets/lib/widgets/editors/link/link-widget.config.mjs +2 -1
  82. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget-edit.component.mjs +14 -5
  83. package/esm2022/widgets/lib/widgets/editors/number/number-box-widget.config.mjs +4 -2
  84. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget-edit.component.mjs +12 -8
  85. package/esm2022/widgets/lib/widgets/editors/password/password-box-widget.config.mjs +4 -2
  86. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget-edit.component.mjs +13 -4
  87. package/esm2022/widgets/lib/widgets/editors/phone/phone-box-widget.config.mjs +2 -1
  88. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +14 -5
  89. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget.config.mjs +4 -2
  90. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-edit.component.mjs +25 -4
  91. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +13 -4
  92. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +2 -1
  93. package/esm2022/widgets/lib/widgets/editors/selection-list/index.mjs +2 -1
  94. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +75 -0
  95. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +25 -13
  96. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.mjs +2 -3
  97. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget.config.mjs +16 -3
  98. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget-edit.component.mjs +13 -4
  99. package/esm2022/widgets/lib/widgets/editors/text/text-box-widget.config.mjs +4 -2
  100. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.mjs +14 -4
  101. package/esm2022/widgets/lib/widgets/editors/toggle/toggle-widget.config.mjs +4 -2
  102. package/esm2022/widgets/lib/widgets/layout/block/block-widget-designer.component.mjs +40 -17
  103. package/esm2022/widgets/lib/widgets/layout/block/block-widget-view.component.mjs +17 -3
  104. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +9 -4
  105. package/esm2022/widgets/lib/widgets/layout/document/document-widget.config.mjs +2 -2
  106. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.mjs +19 -9
  107. package/esm2022/widgets/lib/widgets/layout/form-field/form-field-widget.config.mjs +4 -3
  108. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +21 -10
  109. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget.config.mjs +8 -5
  110. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.mjs +49 -41
  111. package/esm2022/widgets/lib/widgets/layout/grid-item/grid-item-widget.config.mjs +6 -9
  112. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.mjs +84 -0
  113. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-print.component.mjs +19 -0
  114. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.mjs +18 -0
  115. package/esm2022/widgets/lib/widgets/layout/grid-row/grid-row-widget.config.mjs +28 -0
  116. package/esm2022/widgets/lib/widgets/layout/grid-row/index.mjs +5 -0
  117. package/esm2022/widgets/lib/widgets/layout/page/page-widget-designer.component.mjs +8 -9
  118. package/esm2022/widgets/lib/widgets/layout/page/page-widget-view.component.mjs +1 -2
  119. package/esm2022/widgets/lib/widgets/layout/page/page-widget.config.mjs +8 -4
  120. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-designer.component.mjs +6 -6
  121. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget.config.mjs +2 -2
  122. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget-designer.component.mjs +38 -0
  123. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget-view.component.mjs +3 -2
  124. package/esm2022/widgets/lib/widgets/layout/text-block/text-block-widget.config.mjs +5 -5
  125. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  126. package/fesm2022/acorex-platform-auth.mjs +6 -4
  127. package/fesm2022/acorex-platform-auth.mjs.map +1 -1
  128. package/fesm2022/acorex-platform-common.mjs +1 -1
  129. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  130. package/fesm2022/acorex-platform-core.mjs +139 -1
  131. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  132. package/fesm2022/acorex-platform-layout-builder.mjs +21 -13
  133. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  134. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs +23 -0
  135. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map +1 -0
  136. package/fesm2022/{acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs → acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs} +4 -4
  137. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-BZryrCyh.mjs.map +1 -0
  138. package/fesm2022/acorex-platform-layout-designer.mjs +496 -345
  139. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  140. package/fesm2022/acorex-platform-layout-entity.mjs +14 -6
  141. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  142. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-DKNRxpQk.mjs → acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs} +23 -13
  143. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map +1 -0
  144. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs → acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs} +4 -4
  145. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map +1 -0
  146. package/fesm2022/acorex-platform-themes-default.mjs +226 -66
  147. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  148. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C0S_HJkl.mjs +57 -0
  149. package/fesm2022/acorex-platform-widgets-button-widget-designer.component-C0S_HJkl.mjs.map +1 -0
  150. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs +57 -0
  151. package/fesm2022/acorex-platform-widgets-checkbox-widget-designer.component-DAGbdSTk.mjs.map +1 -0
  152. package/fesm2022/{acorex-platform-widgets-checkbox-widget-view.component-BCsej7C6.mjs → acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs} +4 -1
  153. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-tPk6Gylo.mjs.map +1 -0
  154. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs +56 -0
  155. package/fesm2022/acorex-platform-widgets-color-box-widget-designer.component-Bb3aXCNZ.mjs.map +1 -0
  156. package/fesm2022/{acorex-platform-widgets-page-widget-designer.component-DlfG4EP1.mjs → acorex-platform-widgets-page-widget-designer.component-6BMZ0qRw.mjs} +8 -9
  157. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-6BMZ0qRw.mjs.map +1 -0
  158. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs +41 -0
  159. package/fesm2022/acorex-platform-widgets-text-block-widget-designer.component-Bi9hlpvB.mjs.map +1 -0
  160. package/fesm2022/acorex-platform-widgets.mjs +1391 -777
  161. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  162. package/layout/builder/lib/builder/widget.types.d.ts +20 -8
  163. package/layout/designer/index.d.ts +1 -6
  164. package/layout/designer/lib/{board → designer/components/board}/board.component.d.ts +3 -1
  165. package/layout/designer/lib/{breadcrumbs → designer/components/breadcrumbs}/breadcrumbs.component.d.ts +1 -1
  166. package/layout/designer/lib/designer/components/drawers/data-sources/data-sources.component.d.ts +12 -0
  167. package/layout/designer/lib/{history → designer/components/drawers/history}/history.component.d.ts +1 -1
  168. package/layout/designer/lib/{outline → designer/components/drawers/outline}/outline.component.d.ts +1 -1
  169. package/layout/designer/lib/{pages → designer/components/drawers/pages}/pages.component.d.ts +1 -1
  170. package/layout/designer/lib/{header-menu → designer/components/header-menu}/header-menu.component.d.ts +1 -1
  171. package/layout/designer/lib/designer/designer.component.d.ts +1 -1
  172. package/layout/designer/lib/designer/index.d.ts +7 -0
  173. package/layout/designer/lib/designer/shared/designer-connector.service.d.ts +11 -0
  174. package/layout/designer/lib/{designer.service.d.ts → designer/shared/designer.service.d.ts} +9 -12
  175. package/layout/designer/lib/designer/shared/designer.typs.d.ts +4 -0
  176. package/layout/designer/lib/designer/shared/drawer-content/drawer-content.component.d.ts +8 -0
  177. package/layout/designer/lib/{widget-designer-renderer.component.d.ts → designer/shared/widget-designer-renderer.directive.d.ts} +6 -8
  178. package/layout/designer/lib/property-viewer/widget-property-viewer.component.d.ts +8 -0
  179. package/layout/entity/lib/entity-registery.service.d.ts +1 -1
  180. package/package.json +7 -7
  181. package/themes/default/index.d.ts +2 -1
  182. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +7 -2
  183. package/themes/default/lib/layouts/entity-layouts/entity-master-create-view/entity-master-create-view.component.d.ts +1 -1
  184. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comment-list-view.component.d.ts +33 -0
  185. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/comments/comments.service.d.ts +11 -0
  186. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +3 -2
  187. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.d.ts +11 -0
  188. package/themes/default/lib/layouts/entity-layouts/index.d.ts +1 -0
  189. package/widgets/lib/properties/data-source.props.d.ts +2 -0
  190. package/widgets/lib/properties/editors.props.d.ts +2 -5
  191. package/widgets/lib/properties/general.props.d.ts +7 -0
  192. package/widgets/lib/properties/index.d.ts +3 -0
  193. package/widgets/lib/properties/layout.props.d.ts +12 -3
  194. package/widgets/lib/widgets/actions/button/button-widget-designer.component.d.ts +15 -0
  195. package/widgets/lib/widgets/actions/button/button-widget-view.component.d.ts +1 -1
  196. package/widgets/lib/widgets/advance/file/file-box-widget-edit.component.d.ts +1 -0
  197. package/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.d.ts +1 -0
  198. package/widgets/lib/widgets/advance/map/index.d.ts +0 -3
  199. package/widgets/lib/widgets/advance/map/map-box-widget-edit.component.d.ts +10 -32
  200. package/widgets/lib/widgets/advance/map/map-box-widget-view.component.d.ts +6 -11
  201. package/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.d.ts +5 -4
  202. package/widgets/lib/widgets/advance/signature/signature-pad-widget-edit.component.d.ts +1 -0
  203. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-designer.component.d.ts +10 -0
  204. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-edit.component.d.ts +2 -5
  205. package/widgets/lib/widgets/editors/checkbox/checkbox-widget-view.component.d.ts +3 -0
  206. package/widgets/lib/widgets/editors/color/color-box-widget-designer.component.d.ts +11 -0
  207. package/widgets/lib/widgets/editors/color/color-box-widget-edit.component.d.ts +3 -0
  208. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +1 -0
  209. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-edit.component.d.ts +1 -0
  210. package/widgets/lib/widgets/editors/email/email-box-widget-edit.component.d.ts +1 -0
  211. package/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.d.ts +1 -0
  212. package/widgets/lib/widgets/editors/link/link-widget-edit.component.d.ts +1 -0
  213. package/widgets/lib/widgets/editors/number/number-box-widget-edit.component.d.ts +1 -0
  214. package/widgets/lib/widgets/editors/password/password-box-widget-edit.component.d.ts +1 -2
  215. package/widgets/lib/widgets/editors/phone/phone-box-widget-edit.component.d.ts +1 -0
  216. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +1 -0
  217. package/widgets/lib/widgets/editors/select/select-box-widget-edit.component.d.ts +1 -0
  218. package/widgets/lib/widgets/editors/select/select-box-widget-view.component.d.ts +1 -0
  219. package/widgets/lib/widgets/editors/selection-list/index.d.ts +1 -0
  220. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.d.ts +16 -0
  221. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.d.ts +4 -2
  222. package/widgets/lib/widgets/editors/selection-list/selection-list-widget-view.component.d.ts +1 -1
  223. package/widgets/lib/widgets/editors/text/text-box-widget-edit.component.d.ts +1 -0
  224. package/widgets/lib/widgets/editors/toggle/toggle-widget-edit.component.d.ts +2 -1
  225. package/widgets/lib/widgets/layout/block/block-widget-designer.component.d.ts +5 -1
  226. package/widgets/lib/widgets/layout/block/block-widget-view.component.d.ts +3 -0
  227. package/widgets/lib/widgets/layout/form-field/form-field-widget-designer.component.d.ts +2 -1
  228. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +3 -2
  229. package/widgets/lib/widgets/layout/grid-item/grid-item-widget-designer.component.d.ts +6 -4
  230. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-designer.component.d.ts +15 -0
  231. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-print.component.d.ts +6 -0
  232. package/widgets/lib/widgets/layout/grid-row/grid-row-widget-view.component.d.ts +6 -0
  233. package/widgets/lib/widgets/layout/grid-row/grid-row-widget.config.d.ts +7 -0
  234. package/widgets/lib/widgets/layout/grid-row/index.d.ts +4 -0
  235. package/widgets/lib/widgets/layout/page/page-widget-designer.component.d.ts +3 -2
  236. package/widgets/lib/widgets/layout/text-block/text-block-widget-designer.component.d.ts +11 -0
  237. package/widgets/lib/widgets/layout/text-block/text-block-widget-view.component.d.ts +1 -1
  238. package/esm2022/layout/designer/lib/board/board.component.mjs +0 -92
  239. package/esm2022/layout/designer/lib/breadcrumbs/breadcrumbs.component.mjs +0 -64
  240. package/esm2022/layout/designer/lib/command.mjs +0 -185
  241. package/esm2022/layout/designer/lib/designer.service.mjs +0 -399
  242. package/esm2022/layout/designer/lib/header-menu/header-menu.component.mjs +0 -24
  243. package/esm2022/layout/designer/lib/helpers/grid-drawer/grid-drawer.component.mjs +0 -82
  244. package/esm2022/layout/designer/lib/history/history.component.mjs +0 -28
  245. package/esm2022/layout/designer/lib/outline/outline.component.mjs +0 -56
  246. package/esm2022/layout/designer/lib/pages/pages.component.mjs +0 -28
  247. package/esm2022/layout/designer/lib/widget-designer-renderer.component.mjs +0 -251
  248. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-column.component.mjs +0 -19
  249. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-filter.component.mjs +0 -20
  250. package/esm2022/widgets/lib/widgets/advance/map/map-box-widget-print.component.mjs +0 -19
  251. package/fesm2022/acorex-platform-layout-designer-preview.component-xkvSLydm.mjs +0 -23
  252. package/fesm2022/acorex-platform-layout-designer-preview.component-xkvSLydm.mjs.map +0 -1
  253. package/fesm2022/acorex-platform-layout-designer-widget-picker.component-DXgcm-fP.mjs.map +0 -1
  254. package/fesm2022/acorex-platform-themes-default-entity-master-create-view.component-DKNRxpQk.mjs.map +0 -1
  255. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs.map +0 -1
  256. package/fesm2022/acorex-platform-widgets-checkbox-widget-view.component-BCsej7C6.mjs.map +0 -1
  257. package/fesm2022/acorex-platform-widgets-page-widget-designer.component-DlfG4EP1.mjs.map +0 -1
  258. package/widgets/lib/widgets/advance/map/map-box-widget-column.component.d.ts +0 -6
  259. package/widgets/lib/widgets/advance/map/map-box-widget-filter.component.d.ts +0 -6
  260. package/widgets/lib/widgets/advance/map/map-box-widget-print.component.d.ts +0 -6
  261. /package/layout/designer/lib/{helpers → designer/components}/add-widget-button/add-widget-button.component.d.ts +0 -0
  262. /package/layout/designer/lib/{helpers → designer/components}/grid-drawer/grid-drawer.component.d.ts +0 -0
  263. /package/layout/designer/lib/{widget-picker → designer/components/widget-picker}/widget-picker.component.d.ts +0 -0
  264. /package/layout/designer/lib/{command.d.ts → designer/shared/command.d.ts} +0 -0
@@ -1,15 +1,16 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewEncapsulation, inject, signal, ViewChild, NgModule, computed, ChangeDetectionStrategy, Input, EventEmitter, Output, effect } from '@angular/core';
3
- import * as i1 from '@acorex/platform/common';
4
- import { getRootDrawer, AXPLayoutRootDrawerToggle, AXP_MENU_LOADER, AXP_PLATFORM_CONFIG_TOKEN, AXPLayoutService, AXPRouteUtilityService, isSmallScreen, AXPNavigateAction, AXPLayoutRootDrawerClose, AXPLogoComponent, AXPComponentSlotModule, AXPStickyDirective, AXPGridLayoutDirective, getChildDrawer, AXPCommonModule } from '@acorex/platform/common';
2
+ import { Component, ViewEncapsulation, inject, signal, ViewChild, NgModule, ChangeDetectionStrategy, computed, Input, EventEmitter, Output, effect } from '@angular/core';
5
3
  import * as i2 from '@angular/router';
6
4
  import { Router, RouterModule, ActivatedRoute, RouteReuseStrategy } from '@angular/router';
5
+ import * as i1 from '@acorex/platform/common';
6
+ import { getRootDrawer, AXPLayoutRootDrawerToggle, AXP_MENU_LOADER, AXP_PLATFORM_CONFIG_TOKEN, AXPLayoutService, AXPRouteUtilityService, isSmallScreen, AXPNavigateAction, AXPLayoutRootDrawerClose, AXPLogoComponent, AXPComponentSlotModule, AXPStickyDirective, AXPGridLayoutDirective, getChildDrawer, AXPCommonModule } from '@acorex/platform/common';
7
+ import * as i4$3 from '@ngrx/store';
7
8
  import { Store } from '@ngrx/store';
8
9
  import * as i1$1 from '@angular/common';
9
10
  import { CommonModule } from '@angular/common';
10
11
  import * as i4 from '@acorex/components/drawer';
11
12
  import { AXDrawerModule } from '@acorex/components/drawer';
12
- import * as i2$1 from '@acorex/core/utils';
13
+ import * as i2$3 from '@acorex/core/utils';
13
14
  import { AXUnsubscriber } from '@acorex/core/utils';
14
15
  import * as i3 from '@acorex/components/decorators';
15
16
  import { AXDecoratorModule } from '@acorex/components/decorators';
@@ -19,44 +20,72 @@ import * as i5$1 from '@acorex/components/loading';
19
20
  import { AXLoadingModule } from '@acorex/components/loading';
20
21
  import * as i8 from '@acorex/platform/auth';
21
22
  import { AXPAuthModule } from '@acorex/platform/auth';
23
+ import * as i6 from '@acorex/components/avatar';
22
24
  import { AXAvatarModule } from '@acorex/components/avatar';
23
25
  import * as i7$1 from '@acorex/components/badge';
24
26
  import { AXBadgeModule } from '@acorex/components/badge';
25
- import * as i4$3 from '@acorex/components/button';
27
+ import * as i4$2 from '@acorex/components/button';
26
28
  import { AXButtonModule } from '@acorex/components/button';
27
- import * as i4$2 from '@acorex/components/dropdown';
29
+ import * as i4$4 from '@acorex/components/dropdown';
28
30
  import { AXDropdownModule } from '@acorex/components/dropdown';
29
- import * as i4$4 from '@acorex/components/image';
31
+ import * as i7 from '@acorex/components/image';
30
32
  import { AXImageModule } from '@acorex/components/image';
31
33
  import { AXPopoverModule } from '@acorex/components/popover';
32
- import * as i7 from '@acorex/components/tabs';
34
+ import * as i3$3 from '@acorex/components/tabs';
33
35
  import { AXTabsModule } from '@acorex/components/tabs';
34
36
  import * as i1$2 from '@acorex/components/action-sheet';
35
37
  import { AXActionSheetModule } from '@acorex/components/action-sheet';
36
- import * as i9 from '@acorex/components/breadcrumbs';
38
+ import * as i8$1 from '@acorex/components/breadcrumbs';
37
39
  import { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';
38
40
  import { AXDialogModule } from '@acorex/components/dialog';
39
41
  import * as i2$2 from '@acorex/components/form';
40
42
  import { AXFormModule } from '@acorex/components/form';
41
- import * as i10 from '@acorex/platform/layout/builder';
43
+ import * as i9 from '@acorex/core/translation';
44
+ import { AXTranslationModule } from '@acorex/core/translation';
45
+ import * as i5$3 from '@acorex/platform/layout/builder';
42
46
  import { AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
43
47
  import { AXPWidgetsModule } from '@acorex/platform/widgets';
44
- import * as i4$1 from '@acorex/components/data-table';
48
+ import * as i3$1 from '@acorex/components/comment';
49
+ import { AXCommentModule } from '@acorex/components/comment';
50
+ import * as i4$1 from '@acorex/components/wysiwyg';
51
+ import { AXWysiwygModule } from '@acorex/components/wysiwyg';
52
+ import * as i2$1 from '@angular/forms';
53
+ import { FormsModule } from '@angular/forms';
54
+ import { AXDataSource } from '@acorex/components/common';
55
+ import { AXLabelModule } from '@acorex/components/label';
56
+ import * as i6$1 from '@acorex/components/select-box';
57
+ import { AXSelectBoxModule } from '@acorex/components/select-box';
58
+ import { AXTextBoxModule } from '@acorex/components/text-box';
59
+ import * as i5$2 from '@acorex/components/data-table';
45
60
  import { AXDataTableModule } from '@acorex/components/data-table';
46
- import * as i3$1 from '@acorex/core/platform';
47
- import { AXTooltipModule } from '@acorex/components/tooltip';
48
- import * as i11$1 from '@acorex/components/search-box';
61
+ import * as i11 from '@acorex/components/search-box';
49
62
  import { AXSearchBoxModule } from '@acorex/components/search-box';
50
- import * as i2$3 from '@angular/forms';
51
- import { FormsModule } from '@angular/forms';
63
+ import { AXTooltipModule } from '@acorex/components/tooltip';
64
+ import * as i3$2 from '@acorex/core/platform';
52
65
  import { AXP_ENTITY_CONFIG_TOKEN } from '@acorex/platform/layout/entity';
53
- import * as i11 from '@acorex/core/translation';
54
- import { AXTranslationModule } from '@acorex/core/translation';
55
- import * as i5$2 from '@acorex/components/switch';
66
+ import * as i5$4 from '@acorex/components/switch';
56
67
  import { AXSwitchModule } from '@acorex/components/switch';
57
68
  import { moveItemInArray, CdkDropList, CdkDrag, CdkDragHandle, CdkDragPlaceholder } from '@angular/cdk/drag-drop';
58
- import * as i6 from '@acorex/components/select-box';
59
- import { AXSelectBoxModule } from '@acorex/components/select-box';
69
+
70
+ const routes = [
71
+ {
72
+ path: 'error',
73
+ children: [
74
+ {
75
+ path: 'offline',
76
+ loadComponent: () => import('./acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs').then(c => c.AXPErrorOfflineComponent),
77
+ },
78
+ {
79
+ path: '404',
80
+ loadComponent: () => import('./acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs').then(c => c.AXPError404Component),
81
+ },
82
+ {
83
+ path: '401',
84
+ loadComponent: () => import('./acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs').then(c => c.AXPError401Component),
85
+ },
86
+ ]
87
+ },
88
+ ];
60
89
 
61
90
  class AXPRootLayoutFooterComponent {
62
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPRootLayoutFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -224,34 +253,117 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
224
253
  }]
225
254
  }] });
226
255
 
227
- const routes = [
228
- {
229
- path: 'error',
230
- children: [
231
- {
232
- path: 'offline',
233
- loadComponent: () => import('./acorex-platform-themes-default-error-offline.component-B6wSkMdd.mjs').then(c => c.AXPErrorOfflineComponent),
234
- },
235
- {
236
- path: '404',
237
- loadComponent: () => import('./acorex-platform-themes-default-error-404.component-DSY_D3Iq.mjs').then(c => c.AXPError404Component),
256
+ class AXPCommentService {
257
+ }
258
+
259
+ class AXPCommentListViewComponent {
260
+ constructor() {
261
+ this.commentService = inject(AXPCommentService);
262
+ this.activeRoute = inject(ActivatedRoute);
263
+ this.vm = this.activeRoute.snapshot.data['vm'];
264
+ this.comments = signal([]);
265
+ this.value = signal('');
266
+ this.wysiwygOptions = signal({
267
+ look: 'solid',
268
+ });
269
+ this.avatarOptions = signal({
270
+ color: 'primary',
271
+ look: 'rounded',
272
+ type: 'solid', // 'image' | 'text' | 'icon' | 'default'
273
+ });
274
+ this.editorOption = new AXDataSource({
275
+ pageSize: 10,
276
+ key: 'id',
277
+ load: () => {
278
+ return new Promise((resolve) => {
279
+ resolve({
280
+ items: ['advance', 'basic'],
281
+ total: 2,
282
+ });
283
+ });
238
284
  },
239
- {
240
- path: '401',
241
- loadComponent: () => import('./acorex-platform-themes-default-error-401.component-D5QQ2HAv.mjs').then(c => c.AXPError401Component),
285
+ byKey: () => {
286
+ return new Promise((resolve) => {
287
+ resolve('advance');
288
+ });
242
289
  },
243
- ]
244
- },
245
- ];
290
+ });
291
+ this.validateFn = (val) => {
292
+ let isValid = true;
293
+ if (!val || val === '<p><br></p>') {
294
+ isValid = false;
295
+ }
296
+ return {
297
+ rule: 'callback',
298
+ result: isValid,
299
+ message: isValid ? '' : 'Please fill the content',
300
+ value: val,
301
+ };
302
+ };
303
+ }
304
+ ngOnInit() {
305
+ // this.loadComments();
306
+ }
307
+ async loadComments() {
308
+ const payload = {
309
+ roomType: 'default',
310
+ entityId: 'inspection.vehicle',
311
+ instanceId: 'a96d2a63-a304-0da6-1231-3a152a99efd4',
312
+ };
313
+ const data = await this.commentService.getComments(payload);
314
+ this.comments.set(data.items);
315
+ }
316
+ replyHandler() {
317
+ console.log('click');
318
+ }
319
+ valueChange(e) {
320
+ console.log(e);
321
+ }
322
+ submitComment() {
323
+ const payload = {
324
+ content: 'This is Content',
325
+ contentType: 'text',
326
+ roomType: 'default',
327
+ entityId: 'inspection.vehicle',
328
+ instanceId: 'a96d2a63-a304-0da6-1231-3a152a99efd4',
329
+ isPrivate: false,
330
+ isArchived: true,
331
+ members: [],
332
+ };
333
+ // this.commentService.postComment(payload);
334
+ }
335
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCommentListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
336
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXPCommentListViewComponent, isStandalone: true, selector: "axp-comment-list-view", ngImport: i0, template: "<div class=\"ax-mt-2\">\n <ax-comment-view class=\"ax-bg-surface\">\n <ax-comment-item>\n <ax-avatar [color]=\"avatarOptions().color\" [look]=\"avatarOptions().look\">\n <ax-image src=\"https://i.pravatar.cc/300\"></ax-image>\n </ax-avatar>\n <ax-title>Matin</ax-title>\n <ax-content>Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque, mollitia.</ax-content>\n <ax-comment-like [liked]=\"false\">2</ax-comment-like>\n <ax-comment-reply>4</ax-comment-reply>\n <ax-comment-reply-text (click)=\"replyHandler()\"></ax-comment-reply-text>\n\n <ax-comment-item>\n <ax-avatar [color]=\"avatarOptions().color\" [look]=\"avatarOptions().look\">\n <ax-image src=\"https://i.pravatar.cc/300\"></ax-image>\n </ax-avatar>\n <ax-title>Meysa</ax-title>\n <ax-content>Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque, mollitia.</ax-content>\n <ax-comment-like [liked]=\"true\">4</ax-comment-like>\n <ax-comment-reply>3</ax-comment-reply>\n <ax-comment-reply-text (click)=\"replyHandler()\"></ax-comment-reply-text>\n </ax-comment-item>\n </ax-comment-item>\n </ax-comment-view>\n\n <ax-form>\n <ax-form-field>\n <ax-wysiwyg-container [look]=\"wysiwygOptions().look\" (ngModelChange)=\"valueChange($event)\" [(ngModel)]=\"value\">\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n <ax-wysiwyg-insert></ax-wysiwyg-insert>\n <ax-suffix>\n <ax-button type=\"submit\" color=\"primary\" text=\"Send\" (onClick)=\"submitComment()\"></ax-button\n ></ax-suffix>\n </ax-wysiwyg-toolbar>\n <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateFn }\"></ax-validation-rule>\n </ax-wysiwyg-container>\n </ax-form-field>\n </ax-form>\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXCommentModule }, { kind: "component", type: i3$1.AXCommentViewComponent, selector: "ax-comment-view" }, { kind: "component", type: i3$1.AxCommentItemComponent, selector: "ax-comment-item" }, { kind: "component", type: i3$1.AXCommentLikeComponent, selector: "ax-comment-like", inputs: ["liked"] }, { kind: "component", type: i3$1.AXCommentReplyComponent, selector: "ax-comment-reply" }, { kind: "component", type: i3$1.AXCommentReplyTextComponent, selector: "ax-comment-reply-text" }, { kind: "ngmodule", type: AXWysiwygModule }, { kind: "component", type: i4$1.AXWysiwygContainerComponent, selector: "ax-wysiwyg-container", inputs: ["look"], outputs: ["onValueChanged"] }, { kind: "component", type: i4$1.AXWysiwygViewComponent, selector: "ax-wysiwyg-view", inputs: ["class"] }, { kind: "component", type: i4$1.AXWysiwygToolbarComponent, selector: "ax-wysiwyg-toolbar" }, { kind: "component", type: i4$1.AXWysiwygAlignmentComponent, selector: "ax-wysiwyg-alignment" }, { kind: "component", type: i4$1.AXWysiwygColorsComponent, selector: "ax-wysiwyg-colors" }, { kind: "component", type: i4$1.AXWysiwygFontStyleComponent, selector: "ax-wysiwyg-font-style" }, { kind: "component", type: i4$1.AXWysiwygHistoryComponent, selector: "ax-wysiwyg-history" }, { kind: "component", type: i4$1.AXWysiwygInsertComponent, selector: "ax-wysiwyg-insert" }, { kind: "component", type: i4$1.AXWysiwygListComponent, selector: "ax-wysiwyg-list" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXAvatarModule }, { kind: "component", type: i6.AXAvatarComponent, selector: "ax-avatar", inputs: ["color", "size", "look"], outputs: ["sizeChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2$2.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i2$2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "directive", type: i2$2.AXValidationRuleDirective, selector: "ax-validation-rule", inputs: ["rule", "options", "message"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
337
+ }
338
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPCommentListViewComponent, decorators: [{
339
+ type: Component,
340
+ args: [{ selector: 'axp-comment-list-view', imports: [
341
+ FormsModule,
342
+ CommonModule,
343
+ RouterModule,
344
+ AXDecoratorModule,
345
+ AXCommentModule,
346
+ AXWysiwygModule,
347
+ AXButtonModule,
348
+ AXTextBoxModule,
349
+ AXLabelModule,
350
+ AXAvatarModule,
351
+ AXImageModule,
352
+ AXSelectBoxModule,
353
+ AXFormModule,
354
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-mt-2\">\n <ax-comment-view class=\"ax-bg-surface\">\n <ax-comment-item>\n <ax-avatar [color]=\"avatarOptions().color\" [look]=\"avatarOptions().look\">\n <ax-image src=\"https://i.pravatar.cc/300\"></ax-image>\n </ax-avatar>\n <ax-title>Matin</ax-title>\n <ax-content>Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque, mollitia.</ax-content>\n <ax-comment-like [liked]=\"false\">2</ax-comment-like>\n <ax-comment-reply>4</ax-comment-reply>\n <ax-comment-reply-text (click)=\"replyHandler()\"></ax-comment-reply-text>\n\n <ax-comment-item>\n <ax-avatar [color]=\"avatarOptions().color\" [look]=\"avatarOptions().look\">\n <ax-image src=\"https://i.pravatar.cc/300\"></ax-image>\n </ax-avatar>\n <ax-title>Meysa</ax-title>\n <ax-content>Lorem ipsum dolor sit amet consectetur adipisicing elit. Itaque, mollitia.</ax-content>\n <ax-comment-like [liked]=\"true\">4</ax-comment-like>\n <ax-comment-reply>3</ax-comment-reply>\n <ax-comment-reply-text (click)=\"replyHandler()\"></ax-comment-reply-text>\n </ax-comment-item>\n </ax-comment-item>\n </ax-comment-view>\n\n <ax-form>\n <ax-form-field>\n <ax-wysiwyg-container [look]=\"wysiwygOptions().look\" (ngModelChange)=\"valueChange($event)\" [(ngModel)]=\"value\">\n <ax-wysiwyg-view class=\"ax-min-h-28\"></ax-wysiwyg-view>\n <ax-wysiwyg-toolbar>\n <ax-wysiwyg-history></ax-wysiwyg-history>\n <ax-wysiwyg-font-style></ax-wysiwyg-font-style>\n <ax-wysiwyg-colors></ax-wysiwyg-colors>\n <ax-wysiwyg-list></ax-wysiwyg-list>\n <ax-wysiwyg-alignment></ax-wysiwyg-alignment>\n <ax-wysiwyg-insert></ax-wysiwyg-insert>\n <ax-suffix>\n <ax-button type=\"submit\" color=\"primary\" text=\"Send\" (onClick)=\"submitComment()\"></ax-button\n ></ax-suffix>\n </ax-wysiwyg-toolbar>\n <ax-validation-rule rule=\"callback\" [options]=\"{ validate: validateFn }\"></ax-validation-rule>\n </ax-wysiwyg-container>\n </ax-form-field>\n </ax-form>\n</div>\n" }]
355
+ }] });
246
356
 
247
357
  class AXPEntityDetailListViewComponent {
248
- constructor(actionSheetService, unsubscriber, platform) {
358
+ constructor(actionSheetService, unsubscriber, platform, store) {
249
359
  this.actionSheetService = actionSheetService;
250
360
  this.unsubscriber = unsubscriber;
251
361
  this.platform = platform;
362
+ this.store = store;
252
363
  this.layout = inject(AXPLayoutService);
364
+ this.isSM = this.store.select(isSmallScreen());
253
365
  this.dropdownRowItems = computed(() => {
254
- return this.vm.rowActions().map(c => ({
366
+ return this.vm.rowActions().map((c) => ({
255
367
  icon: c.icon,
256
368
  name: c.name,
257
369
  text: c.title,
@@ -267,6 +379,9 @@ class AXPEntityDetailListViewComponent {
267
379
  this.vm.applyInlineFilter(e.value);
268
380
  }
269
381
  }
382
+ ngAfterViewInit() {
383
+ this.grid.refresh();
384
+ }
270
385
  handleRowDbClick(e) {
271
386
  const d = {
272
387
  component: e.component,
@@ -278,10 +393,10 @@ class AXPEntityDetailListViewComponent {
278
393
  async handleRowCommandClick(e) {
279
394
  this.vm.executeCommand(e.name, e.data);
280
395
  }
281
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityDetailListViewComponent, deps: [{ token: i1$2.AXActionSheetService }, { token: i2$1.AXUnsubscriber }, { token: i3$1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
282
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityDetailListViewComponent, isStandalone: true, selector: "axp-entity-detail-list-view", inputs: { vm: ["viewModel", "vm"] }, providers: [AXUnsubscriber], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-1 ax-overflow-auto ax-h-48\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1 \" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) {\n @if(col.visible)\n {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n }\n }\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n </ax-data-table>\n </div>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i4$1.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged"] }, { kind: "component", type: i4$1.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i4$1.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
396
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityDetailListViewComponent, deps: [{ token: i1$2.AXActionSheetService }, { token: i2$3.AXUnsubscriber }, { token: i3$2.AXPlatform }, { token: i4$3.Store }], target: i0.ɵɵFactoryTarget.Component }); }
397
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityDetailListViewComponent, isStandalone: true, selector: "axp-entity-detail-list-view", inputs: { vm: ["viewModel", "vm"] }, providers: [AXUnsubscriber], viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-col ax-items-end ax-gap-3 ax-flex-1 ax-overflow-auto ax-h-72\">\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n >\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></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-data-table>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i5$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged"] }, { kind: "component", type: i5$2.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i5$2.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
283
398
  //
284
- AXPLayoutBuilderModule }, { kind: "component", type: i10.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "node", "footerTemplate", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "ngmodule", type: AXPAuthModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
399
+ AXPLayoutBuilderModule }, { kind: "component", type: i5$3.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "node", "footerTemplate", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "ngmodule", type: AXTranslationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
285
400
  }
286
401
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityDetailListViewComponent, decorators: [{
287
402
  type: Component,
@@ -310,8 +425,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
310
425
  AXPStickyDirective,
311
426
  AXPGridLayoutDirective,
312
427
  AXPAuthModule,
313
- ], standalone: true, template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-1 ax-overflow-auto ax-h-48\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1 \" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) {\n @if(col.visible)\n {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n }\n }\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n </ax-data-table>\n </div>\n</div>" }]
314
- }], ctorParameters: () => [{ type: i1$2.AXActionSheetService }, { type: i2$1.AXUnsubscriber }, { type: i3$1.AXPlatform }], propDecorators: { vm: [{
428
+ AXTranslationModule,
429
+ ], standalone: true, template: "<div class=\"ax-flex ax-p-2\">\n <div class=\"ax-flex ax-flex-col ax-items-end ax-gap-3 ax-flex-1 ax-overflow-auto ax-h-72\">\n <ax-data-table\n #grid\n [showFooter]=\"false\"\n class=\"ax-flex-1\"\n [paging]=\"true\"\n [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\"\n [dataSource]=\"vm.dataSource\"\n (onRowDbClick)=\"handleRowDbClick($event)\"\n >\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></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-data-table>\n </div>\n</div>\n" }]
430
+ }], ctorParameters: () => [{ type: i1$2.AXActionSheetService }, { type: i2$3.AXUnsubscriber }, { type: i3$2.AXPlatform }, { type: i4$3.Store }], propDecorators: { vm: [{
315
431
  type: Input,
316
432
  args: ['viewModel']
317
433
  }], grid: [{
@@ -319,6 +435,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
319
435
  args: ['grid']
320
436
  }] } });
321
437
 
438
+ class AXPEntitySingleOverviewComponent {
439
+ constructor() {
440
+ this.activeRoute = inject(ActivatedRoute);
441
+ this.vm = this.activeRoute.snapshot.data['vm'];
442
+ this.selectedRelatedIEntityTabIndex = signal(0);
443
+ }
444
+ handleActiveRelatedEntityChanged(e) {
445
+ this.selectedRelatedIEntityTabIndex.set(e.index);
446
+ }
447
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntitySingleOverviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
448
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntitySingleOverviewComponent, isStandalone: true, selector: "axp-entity-single-overview", ngImport: i0, template: "<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-shadow-md ax-mt-2\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button\n class=\"ax-xs\"\n color=\"ghost\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if(vm.relatedEntities().length) {\n<ax-tabs\n [look]=\"'default'\"\n class=\"ax-mt-2 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities();track $index;let index= $index){\n<div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n</div>\n} }\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2$2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i3$3.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i3$3.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type:
449
+ //
450
+ AXPLayoutBuilderModule }, { kind: "component", type: i5$3.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "component", type: i5$3.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[gridLayout]", inputs: ["gridLayout"] }, { kind: "component", type: AXPEntityDetailListViewComponent, selector: "axp-entity-detail-list-view", inputs: ["viewModel"] }, { kind: "ngmodule", type:
451
+ //
452
+ AXTranslationModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
453
+ }
454
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntitySingleOverviewComponent, decorators: [{
455
+ type: Component,
456
+ args: [{ selector: 'axp-entity-single-overview', imports: [
457
+ CommonModule,
458
+ RouterModule,
459
+ AXDecoratorModule,
460
+ AXDropdownModule,
461
+ AXPopoverModule,
462
+ AXFormModule,
463
+ AXActionSheetModule,
464
+ AXDrawerModule,
465
+ AXDialogModule,
466
+ AXLoadingModule,
467
+ AXTabsModule,
468
+ AXButtonModule,
469
+ AXBreadcrumbsModule,
470
+ //
471
+ AXPLayoutBuilderModule,
472
+ AXPWidgetsModule,
473
+ AXPStickyDirective,
474
+ AXPGridLayoutDirective,
475
+ AXPEntityDetailListViewComponent,
476
+ //
477
+ AXTranslationModule,
478
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-shadow-md ax-mt-2\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button\n class=\"ax-xs\"\n color=\"ghost\"\n [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\"\n >\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n</div>\n\n@if(vm.relatedEntities().length) {\n<ax-tabs\n [look]=\"'default'\"\n class=\"ax-mt-2 ax-font-semibold\"\n #tab\n (onActiveTabChanged)=\"handleActiveRelatedEntityChanged($event)\"\n>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n</ax-tabs>\n@for(e of vm.relatedEntities();track $index;let index= $index){\n<div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n</div>\n} }\n" }]
479
+ }] });
480
+
322
481
  class AXPEntityMasterSingleViewComponent {
323
482
  constructor() {
324
483
  this.activeRoute = inject(ActivatedRoute);
@@ -327,20 +486,20 @@ class AXPEntityMasterSingleViewComponent {
327
486
  this.store = inject((Store));
328
487
  this.isSM = this.store.select(isSmallScreen());
329
488
  this.isOpen = this.store.select(getChildDrawer());
330
- this.selectedRelatedIEntityTabIndex = signal(0);
489
+ this.selectedDetailTabIndex = signal(0);
331
490
  }
332
- handleActiveTabChanged(e) {
333
- this.selectedRelatedIEntityTabIndex.set(e.index);
491
+ handleActiveDetailTabChanged(e) {
492
+ this.selectedDetailTabIndex.set(e.index);
334
493
  }
335
494
  ngOnDestroy() {
336
495
  this.vm.destroy();
337
496
  }
338
497
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityMasterSingleViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
339
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityMasterSingleViewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<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\n 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 class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyOffset]=\"30\"\n [stickyParent]=\"content.getHostElement()\">\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">{{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\" [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\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 @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\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 <ax-tabs [look]=\"'classic'\" class=\"ax-mt-4 ax-font-semibold\" [class.ax-hidden]=\"sticky.isSticky\">\n <ax-tab-item [text]=\"('overview' | translate | async) ?? 'Overview'\"> </ax-tab-item>\n <ax-tab-item [text]=\"('history' | translate | async) ?? 'History'\"> </ax-tab-item>\n <ax-tab-item [text]=\"('comments' | translate | async) ?? 'Comments'\"> </ax-tab-item>\n </ax-tabs>\n </div>\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-shadow-md ax-mt-2\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button class=\"ax-xs\" color=\"ghost\" [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\">\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n <!--------------------------------------------------------------->\n @if(vm.relatedEntities().length) {\n <ax-tabs [look]=\"'default'\" class=\"ax-mt-2 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveTabChanged($event)\">\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n </ax-content>\n</ax-drawer-container>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4$2.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "component", type: i2$2.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i4.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i7.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i7.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4$3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i9.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i9.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type:
498
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityMasterSingleViewComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<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\n 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 >\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 [stickyOffset]=\"30\"\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item\n [active]=\"last\"\n [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\"\n >\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\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 @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item\n [text]=\"tr.title\"\n class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\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 Sections -->\n <ax-tabs\n (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\"\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n [class.ax-hidden]=\"sticky.isSticky\"\n >\n <ax-tab-item id=\"overview\" [text]=\"('overview' | translate | async) ?? 'Overview'\"> </ax-tab-item>\n <ax-tab-item id=\"history\" [text]=\"('history' | translate | async) ?? 'History'\"> </ax-tab-item>\n <ax-tab-item id=\"comments\" [text]=\"('comments' | translate | async) ?? 'Comments'\"> </ax-tab-item>\n </ax-tabs>\n </div>\n\n @switch (selectedDetailTabIndex()) { @case(1){\n <div></div>\n } @case(2){\n <axp-comment-list-view vm=\"vm\"></axp-comment-list-view>\n } @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n } }\n <!-- Finish Sections -->\n </div>\n </ax-content>\n</ax-drawer-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4$4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i4.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "component", type: i3$3.AXTabsComponent, selector: "ax-tabs", inputs: ["look", "location", "fitParent", "minWidth", "content"], outputs: ["onActiveTabChanged"] }, { kind: "component", type: i3$3.AXTabItemComponent, selector: "ax-tab-item", inputs: ["disabled", "text", "key", "headerTemplate", "active"], outputs: ["disabledChange", "onClick", "onBlur", "onFocus", "activeChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4$2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i8$1.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i8$1.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type:
340
499
  //
341
- AXPLayoutBuilderModule }, { kind: "component", type: i10.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "variables", "functions"], outputs: ["onChanged", "contextChange"] }, { kind: "component", type: i10.AXPWidgetRendererComponent, selector: "axp-widget-renderer", inputs: ["node", "mode", "parentNode", "index"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "directive", type: AXPGridLayoutDirective, selector: "[gridLayout]", inputs: ["gridLayout"] }, { kind: "component", type:
500
+ AXPLayoutBuilderModule }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "component", type: AXPEntitySingleOverviewComponent, selector: "axp-entity-single-overview" }, { kind: "component", type: AXPCommentListViewComponent, selector: "axp-comment-list-view" }, { kind: "ngmodule", type:
342
501
  //
343
- AXPEntityDetailListViewComponent, selector: "axp-entity-detail-list-view", inputs: ["viewModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
502
+ AXTranslationModule }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
344
503
  }
345
504
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityMasterSingleViewComponent, decorators: [{
346
505
  type: Component,
@@ -363,10 +522,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
363
522
  AXPWidgetsModule,
364
523
  AXPStickyDirective,
365
524
  AXPGridLayoutDirective,
525
+ AXPEntitySingleOverviewComponent,
526
+ AXPCommentListViewComponent,
366
527
  //
367
- AXPEntityDetailListViewComponent,
368
- AXTranslationModule
369
- ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<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\n 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 class=\"ax-flex ax-flex-col ax-pt-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyOffset]=\"30\"\n [stickyParent]=\"content.getHostElement()\">\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">{{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\" [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\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 @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\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 <ax-tabs [look]=\"'classic'\" class=\"ax-mt-4 ax-font-semibold\" [class.ax-hidden]=\"sticky.isSticky\">\n <ax-tab-item [text]=\"('overview' | translate | async) ?? 'Overview'\"> </ax-tab-item>\n <ax-tab-item [text]=\"('history' | translate | async) ?? 'History'\"> </ax-tab-item>\n <ax-tab-item [text]=\"('comments' | translate | async) ?? 'Comments'\"> </ax-tab-item>\n </ax-tabs>\n </div>\n <!-- Begin Sections -->\n <div class=\"ax-grid ax-grid-cols-12 ax-gap-4\">\n @for(section of vm.sections(); track section.name()) {\n <div class=\"ax-card ax-shadow-md ax-mt-2\" [gridLayout]=\"section.layout()\">\n <ax-form #form>\n <axp-widgets-container [context]=\"vm.context()\">\n <div class=\"ax-card-header !ax-py-2 !ax-px-4\">\n <p>\n <span class=\"!ax-text-lg ax-font-semibold\">{{ section.title() }}</span>\n <br />\n @if(section.description()) {\n <span class=\"ax-text-sm ax-font-normal ax-text-gray-500\">{{ section.description() }}</span>\n }\n </p>\n @if(section.editable()) {\n <ax-button class=\"ax-xs\" color=\"ghost\" [look]=\"'blank'\"\n (onClick)=\"vm.executeCommand('modify-entity-section', section)\">\n <ax-icon class=\"fa-solid fa-pen ax-text-gray-600\"> </ax-icon>\n </ax-button>\n }\n </div>\n <div class=\"ax-card-body !ax-grid !ax-grid-cols-12 !ax-gap-4\">\n @for(attr of section.props(); track $index) {\n <div class=\"ax-flex ax-flex-col ax-gap-1\" [gridLayout]=\"attr.layout()\">\n <div>\n <div>\n <span class=\"ax-font-semibold\">{{ attr.title() }}</span>\n </div>\n </div>\n <div class=\"ax-text-neutral-500\">\n <axp-widget-renderer [node]=\"attr.node()\" [mode]=\"'view'\"> </axp-widget-renderer>\n </div>\n </div>\n }\n </div>\n </axp-widgets-container>\n </ax-form>\n </div>\n }\n </div>\n <!-- Finish Sections -->\n <!--------------------------------------------------------------->\n @if(vm.relatedEntities().length) {\n <ax-tabs [look]=\"'default'\" class=\"ax-mt-2 ax-font-semibold\" #tab\n (onActiveTabChanged)=\"handleActiveTabChanged($event)\">\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <ax-tab-item [text]=\"e.title()\" [key]=\"index.toString()\"> </ax-tab-item>\n }\n </ax-tabs>\n @for(e of vm.relatedEntities();track $index;let index= $index){\n <div [class.ax-hidden]=\"$index != selectedRelatedIEntityTabIndex()\">\n <axp-entity-detail-list-view [viewModel]=\"e\"></axp-entity-detail-list-view>\n </div>\n } }\n </div>\n </ax-content>\n</ax-drawer-container>" }]
528
+ AXTranslationModule,
529
+ ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<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\n 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 >\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 [stickyOffset]=\"30\"\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">\n {{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item\n [active]=\"last\"\n [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\"\n [routerLink]=\"b.url\"\n >\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\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 @for(tr of vm.secondaryActions();track $index) {\n <ng-container>\n @if(tr.separated) {\n <ax-divider></ax-divider>\n }\n <ax-button-item\n [text]=\"tr.title\"\n class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\"\n >\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\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 Sections -->\n <ax-tabs\n (onActiveTabChanged)=\"handleActiveDetailTabChanged($event)\"\n [look]=\"'classic'\"\n class=\"ax-mt-4 ax-font-semibold\"\n [class.ax-hidden]=\"sticky.isSticky\"\n >\n <ax-tab-item id=\"overview\" [text]=\"('overview' | translate | async) ?? 'Overview'\"> </ax-tab-item>\n <ax-tab-item id=\"history\" [text]=\"('history' | translate | async) ?? 'History'\"> </ax-tab-item>\n <ax-tab-item id=\"comments\" [text]=\"('comments' | translate | async) ?? 'Comments'\"> </ax-tab-item>\n </ax-tabs>\n </div>\n\n @switch (selectedDetailTabIndex()) { @case(1){\n <div></div>\n } @case(2){\n <axp-comment-list-view vm=\"vm\"></axp-comment-list-view>\n } @default {\n <axp-entity-single-overview></axp-entity-single-overview>\n } }\n <!-- Finish Sections -->\n </div>\n </ax-content>\n</ax-drawer-container>\n" }]
370
530
  }] });
371
531
 
372
532
  var entityMasterSingleView_component = /*#__PURE__*/Object.freeze({
@@ -401,7 +561,7 @@ class AXPListViewOptionsColumnsComponent {
401
561
  this.onClosed.emit();
402
562
  }
403
563
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPListViewOptionsColumnsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
404
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPListViewOptionsColumnsComponent, isStandalone: true, selector: "axp-list-view-option-columns", inputs: { vm: ["viewModel", "vm"] }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<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 @for(item of vm.columns();track item.name) {\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 }\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i5$2.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }] }); }
564
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPListViewOptionsColumnsComponent, isStandalone: true, selector: "axp-list-view-option-columns", inputs: { vm: ["viewModel", "vm"] }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<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 @for(item of vm.columns();track item.name) {\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 }\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i5$4.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "translate" }] }); }
405
565
  }
406
566
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPListViewOptionsColumnsComponent, decorators: [{
407
567
  type: Component,
@@ -446,7 +606,7 @@ class AXPListViewOptionSortingComponent {
446
606
  this.onClosed.emit();
447
607
  }
448
608
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPListViewOptionSortingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
449
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPListViewOptionSortingComponent, isStandalone: true, selector: "axp-list-view-option-sorting", inputs: { vm: ["viewModel", "vm"] }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<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)]]=\"vm.sortedCount() == 0\">\n @if(vm.sortedCount()==0){\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 @for(item of vm.sortedFields();track $index) {\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]=\"vm.sortableFields()\" 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 <ax-button look=\"blank\" (onClick)=\"vm.removeSort(item.name)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(vm.sortedCount()==0){\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"vm.addSort()\"\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 }@else if(vm.canAddMoreSort()) {\n <ax-button (onClick)=\"vm.addSort()\" color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i4$4.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }] }); }
609
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPListViewOptionSortingComponent, isStandalone: true, selector: "axp-list-view-option-sorting", inputs: { vm: ["viewModel", "vm"] }, outputs: { onClosed: "onClosed" }, ngImport: i0, template: "<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)]]=\"vm.sortedCount() == 0\">\n @if(vm.sortedCount()==0){\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 @for(item of vm.sortedFields();track $index) {\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]=\"vm.sortableFields()\" 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 <ax-button look=\"blank\" (onClick)=\"vm.removeSort(item.name)\">\n <ax-icon class=\"fa-solid fa-trash-can ax-text-danger-500\"></ax-icon>\n </ax-button>\n </div>\n }\n </div>\n\n <div class=\"ax-flex ax-gap-2\">\n <div class=\"ax-w-full\" #addField>\n @if(vm.sortedCount()==0){\n <div class=\"ax-flex ax-justify-center ax-w-full\">\n <ax-button\n (onClick)=\"vm.addSort()\"\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 }@else if(vm.canAddMoreSort()) {\n <ax-button (onClick)=\"vm.addSort()\" color=\"primary\" [text]=\"'entity.add-field' | translate | async\" look=\"blank\" class=\"ax-sm\"></ax-button>\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", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXImageModule }, { kind: "component", type: i7.AXImageComponent, selector: "ax-image", inputs: ["overlayMode", "src", "alt", "priority", "lazy"], outputs: ["onLoad", "onError"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i6$1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "translate" }] }); }
450
610
  }
451
611
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPListViewOptionSortingComponent, decorators: [{
452
612
  type: Component,
@@ -558,12 +718,12 @@ class AXPEntityMasterListViewComponent {
558
718
  ngOnDestroy() {
559
719
  this.vm.destroy();
560
720
  }
561
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityMasterListViewComponent, deps: [{ token: i1$2.AXActionSheetService }, { token: i3$1.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
562
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityMasterListViewComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<ax-drawer-container>\n <ax-content class=\"ax-flex ax-flex-col ax-overflow-hidden\" #content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 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 class=\"ax-flex ax-flex-col ax-pt-4 ax-gap-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Toolbar -------->\n <!-------- Begin Line 1 -------->\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">{{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\" [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : ('actions' | translate | async)\" 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 @for(tr of vm.secondaryActions();track $index;let first=$first) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n\n <!-------- Finish Line 1 -------->\n\n <!-------- Begin Line 2 -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n <!-------- Begin Selection -------->\n\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ vm.selectedItems().length }} Items Selected </span>\n <span (click)=\"vm.clearSelection()\"\n class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\">Clear\n Items</span>\n </div>\n\n <!-------- Finish Selection -------->\n\n } @else {\n\n <!-------- Begin View -------->\n\n <ax-button [text]=\"vm.view().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\n }}</ax-title>\n <ax-button-item *ngFor=\"let v of vm.views()\" [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"vm.view() == v\" (onClick)=\"vm.setView(v.name)\"></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 class=\"ax-pe-4 ax-flex ax-justify-between\" *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\" [class.ax-bg-on-surface]=\"(view$ | async) == v\" (onClick)=\"loader.setView(v.name)\">\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()\"\n 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 <!-------- Finish View -------->\n\n <!-------- Begin Inline Search -------->\n @if(vm.hasInlineFilters() && !(this.platform.is('Mobile') || this.platform.is('SM'))) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n <!-------- Finish Inline Search -------->\n </div>\n <!-- Begin View Action Menu -->\n @if(!vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3\">\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-button (onClick)=\"toggleSearchBar()\" color=\"ghost\"> <ax-icon class=\"fa-solid fa-search\"> </ax-icon>\n </ax-button>}\n\n <ax-button [text]=\"makeResponsive('entity.columns' | translate | async)\" color=\"ghost\"\n (onClick)=\"columnsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.visibleColumnCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button text=\"Filters\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\"\n *feature=\"'axp-entity-list-advance-filter'\">\n <ax-prefix>\n <i class=\"fa-solid fa-sliders\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"3\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n\n @if(vm.canSort()) {\n <ax-button [text]=\"makeResponsive('entity.sort' | translate | async)\" color=\"ghost\"\n (onClick)=\"sortsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars-sort\"></i>\n </ax-prefix>\n @if(vm.sortedCount()) {\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.sortedCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n }\n </div>\n }\n <!-- Finish View Action Menu -->\n </div>\n <div>\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-search-box [class.collapsed-search-box]=\"searchBarShown()\" class=\"ax-transition-all\"\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n }\n </div>\n <!-------- Finish Line 2 -------->\n\n <!----- Finish Toolbar ----->\n </div>\n </div>\n <!----- Begin DataTable ----->\n <div class=\"ax-flex ax-flex-1 ax-px-6 ax-py-6 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } }\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n </ax-data-table>\n </div>\n <!----- Finish DataTable ----->\n </ax-content>\n\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 [viewModel]=\"vm\" (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\"\n (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()\" [viewModel]=\"vm\"></axp-list-view-option-sorting>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".cdk-drag-preview{border-radius:.375rem;border-width:1px;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:rgba(var(--ax-color-on-surface));padding:.5rem;height:max-content!important}.collapsed-search-box{margin-top:0;height:0px;opacity:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$3.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4$3.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$3.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4$2.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i4.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed", "closeOthers"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i4.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i9.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i9.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i11$1.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i4$1.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged"] }, { kind: "component", type: i4$1.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i4$1.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
721
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityMasterListViewComponent, deps: [{ token: i1$2.AXActionSheetService }, { token: i3$2.AXPlatform }], target: i0.ɵɵFactoryTarget.Component }); }
722
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXPEntityMasterListViewComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], ngImport: i0, template: "<ax-drawer-container>\n <ax-content class=\"ax-flex ax-flex-col ax-overflow-hidden\" #content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 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 class=\"ax-flex ax-flex-col ax-pt-4 ax-gap-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Toolbar -------->\n <!-------- Begin Line 1 -------->\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">{{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\" [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : ('actions' | translate | async)\" 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 @for(tr of vm.secondaryActions();track $index;let first=$first) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n\n <!-------- Finish Line 1 -------->\n\n <!-------- Begin Line 2 -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n <!-------- Begin Selection -------->\n\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ vm.selectedItems().length }} Items Selected </span>\n <span (click)=\"vm.clearSelection()\"\n class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\">Clear\n Items</span>\n </div>\n\n <!-------- Finish Selection -------->\n\n } @else {\n\n <!-------- Begin View -------->\n\n <ax-button [text]=\"vm.view().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\n }}</ax-title>\n <ax-button-item *ngFor=\"let v of vm.views()\" [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"vm.view() == v\" (onClick)=\"vm.setView(v.name)\"></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 class=\"ax-pe-4 ax-flex ax-justify-between\" *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\" [class.ax-bg-on-surface]=\"(view$ | async) == v\" (onClick)=\"loader.setView(v.name)\">\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()\"\n 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 <!-------- Finish View -------->\n\n <!-------- Begin Inline Search -------->\n @if(vm.hasInlineFilters() && !(this.platform.is('Mobile') || this.platform.is('SM'))) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n <!-------- Finish Inline Search -------->\n </div>\n <!-- Begin View Action Menu -->\n @if(!vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3\">\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-button (onClick)=\"toggleSearchBar()\" color=\"ghost\"> <ax-icon class=\"fa-solid fa-search\"> </ax-icon>\n </ax-button>}\n\n <ax-button [text]=\"makeResponsive('entity.columns' | translate | async)\" color=\"ghost\"\n (onClick)=\"columnsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.visibleColumnCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button text=\"Filters\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\"\n *feature=\"'axp-entity-list-advance-filter'\">\n <ax-prefix>\n <i class=\"fa-solid fa-sliders\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"3\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n\n @if(vm.canSort()) {\n <ax-button [text]=\"makeResponsive('entity.sort' | translate | async)\" color=\"ghost\"\n (onClick)=\"sortsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars-sort\"></i>\n </ax-prefix>\n @if(vm.sortedCount()) {\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.sortedCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n }\n </div>\n }\n <!-- Finish View Action Menu -->\n </div>\n <div>\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-search-box [class.collapsed-search-box]=\"searchBarShown()\" class=\"ax-transition-all\"\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n }\n </div>\n <!-------- Finish Line 2 -------->\n\n <!----- Finish Toolbar ----->\n </div>\n </div>\n <!----- Begin DataTable ----->\n <div class=\"ax-flex ax-flex-1 ax-px-6 ax-py-6 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } }\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n </ax-data-table>\n </div>\n <!----- Finish DataTable ----->\n </ax-content>\n\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 [viewModel]=\"vm\" (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\"\n (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()\" [viewModel]=\"vm\"></axp-list-view-option-sorting>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".cdk-drag-preview{border-radius:.375rem;border-width:1px;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:rgba(var(--ax-color-on-surface));padding:.5rem;height:max-content!important}.collapsed-search-box{margin-top:0;height:0px;opacity:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i4$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type", "responsiveOn", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "responsiveOnChange", "loadingTextChange"] }, { kind: "component", type: i4$2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i4$2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i7$1.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i4$4.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXActionSheetModule }, { kind: "ngmodule", type: AXDrawerModule }, { kind: "component", type: i4.AXDrawerComponent, selector: "ax-drawer", inputs: ["location", "showBackdrop", "mode", "collapsed", "closeOthers"], outputs: ["locationChange", "modeChange", "collapsedChange"] }, { kind: "component", type: i4.AXDrawerContainerComponent, selector: "ax-drawer-container" }, { kind: "ngmodule", type: AXDialogModule }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXTabsModule }, { kind: "ngmodule", type: AXTooltipModule }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "component", type: i8$1.AXBreadCrumbsComponent, selector: "ax-breadcrumbs" }, { kind: "component", type: i8$1.AXBreadCrumbsItemComponent, selector: "ax-breadcrumbs-item", inputs: ["disabled", "active"] }, { kind: "ngmodule", type: AXSearchBoxModule }, { kind: "component", type: i11.AXSearchBoxComponent, selector: "ax-search-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "delayTime"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i5$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "rowTemplate", "emptyTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged"] }, { kind: "component", type: i5$2.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i5$2.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type:
563
723
  //
564
- AXPLayoutBuilderModule }, { kind: "component", type: i10.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "node", "footerTemplate", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "directive", type: i8.AXPFeatureDirective, selector: "[feature]", inputs: ["feature", "featureElse"] }, { kind: "component", type:
724
+ AXPLayoutBuilderModule }, { kind: "component", type: i5$3.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "node", "footerTemplate", "cellTemplate", "headerTemplate"] }, { kind: "ngmodule", type: AXPWidgetsModule }, { kind: "directive", type: AXPStickyDirective, selector: "[axpSticky]", inputs: ["axpSticky", "stickyOffset", "stickyParent", "stickyTarget"], outputs: ["isStickyChange"], exportAs: ["axpSticky"] }, { kind: "ngmodule", type: AXPAuthModule }, { kind: "directive", type: i8.AXPFeatureDirective, selector: "[feature]", inputs: ["feature", "featureElse"] }, { kind: "component", type:
565
725
  //
566
- AXPListViewOptionsColumnsComponent, selector: "axp-list-view-option-columns", inputs: ["viewModel"], outputs: ["onClosed"] }, { kind: "component", type: AXPListViewOptionSortingComponent, selector: "axp-list-view-option-sorting", inputs: ["viewModel"], outputs: ["onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i11.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
726
+ AXPListViewOptionsColumnsComponent, selector: "axp-list-view-option-columns", inputs: ["viewModel"], outputs: ["onClosed"] }, { kind: "component", type: AXPListViewOptionSortingComponent, selector: "axp-list-view-option-sorting", inputs: ["viewModel"], outputs: ["onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i9.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
567
727
  }
568
728
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPEntityMasterListViewComponent, decorators: [{
569
729
  type: Component,
@@ -597,7 +757,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
597
757
  AXPListViewOptionSortingComponent,
598
758
  AXTranslationModule
599
759
  ], standalone: true, template: "<ax-drawer-container>\n <ax-content class=\"ax-flex ax-flex-col ax-overflow-hidden\" #content>\n <div\n class=\"ax-flex ax-flex-col ax-gap-4 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 class=\"ax-flex ax-flex-col ax-pt-4 ax-gap-4 ax-sticky ax-top-0 ax-z-10 ax-transition-all\" #sticky=\"axpSticky\"\n [axpSticky]=\"'ax-bg-surface ax-px-6 ax-py-3 -ax-mx-6 ax-shadow-xl'\" [stickyParent]=\"content.getHostElement()\">\n <!-------- Begin Toolbar -------->\n <!-------- Begin Line 1 -------->\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 <div class=\"ax-flex ax-flex-col ax-gap-2 ax-transition\">\n <div class=\"ax-text-xl md:ax-text-3xl ax-font-bold\">{{ vm.title() }}</div>\n @if(vm.description()) {\n <div class=\"ax-text-sm ax-text-neutral-600\" [class.ax-hidden]=\"sticky.isSticky\">{{ vm.description() }}\n </div>\n }\n <ax-breadcrumbs class=\"child:ax-font-normal child:ax-text-neutral-400\" [class.ax-hidden]=\"isSM | async\">\n <ng-template #divider>\n <i class=\"fa-solid fa-chevron-right ax-text-xs ax-mx-2\"></i>\n </ng-template>\n @for(b of vm.beardcrumbs();track $index;let last=$last) {\n <ax-breadcrumbs-item [active]=\"last\" [class.!ax-font-semibold]=\"last\"\n [class.!ax-text-neutral-600]=\"last\" [routerLink]=\"b.url\">\n @if(b.icon) {\n <i [class]=\"b.icon\"></i>\n }\n {{ b.title }}\n </ax-breadcrumbs-item>\n }\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 @for(tr of vm.primaryActions();track $index) {\n <ax-button [text]=\"tr.title\" [color]=\"tr.color\" (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button>\n } @if(vm.secondaryActions().length) {\n <ax-button [text]=\"(isSM | async) ? null : ('actions' | translate | async)\" 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 @for(tr of vm.secondaryActions();track $index;let first=$first) {\n <ng-container>\n @if(tr.separated && !$first) {\n <ax-divider></ax-divider>\n }\n <ax-button-item [text]=\"tr.title\" class=\"ax-font-semibold ax-text-{{ tr.color }}\"\n (onClick)=\"vm.executeCommand(tr.name)\">\n <ax-prefix>\n <ax-icon [icon]=\"tr.icon\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n </ng-container>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n </ax-button>\n }\n </div>\n <!-- Finish Action Menu -->\n </div>\n\n <!-------- Finish Line 1 -------->\n\n <!-------- Begin Line 2 -------->\n <div class=\"ax-flex ax-justify-between ax-items-center\">\n <div class=\"ax-flex ax-justify-start ax-items-center ax-gap-4\">\n <!-------- Begin Selection -------->\n\n @if(vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3 ax-items-center ax-h-10\">\n <span class=\"ax-text-xl ax-font-bold\"> {{ vm.selectedItems().length }} Items Selected </span>\n <span (click)=\"vm.clearSelection()\"\n class=\"ax-text-sm ax-text-primary dark:ax-text-primary-300 ax-underline ax-cursor-pointer\">Clear\n Items</span>\n </div>\n\n <!-------- Finish Selection -------->\n\n } @else {\n\n <!-------- Begin View -------->\n\n <ax-button [text]=\"vm.view().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\n }}</ax-title>\n <ax-button-item *ngFor=\"let v of vm.views()\" [text]=\"v.title\"\n [class.ax-bg-on-surface]=\"vm.view() == v\" (onClick)=\"vm.setView(v.name)\"></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 class=\"ax-pe-4 ax-flex ax-justify-between\" *ngFor=\"let v of customViews$ | async\"\n [text]=\"v.title\" [class.ax-bg-on-surface]=\"(view$ | async) == v\" (onClick)=\"loader.setView(v.name)\">\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()\"\n 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 <!-------- Finish View -------->\n\n <!-------- Begin Inline Search -------->\n @if(vm.hasInlineFilters() && !(this.platform.is('Mobile') || this.platform.is('SM'))) {\n <div class=\"ax-w-72\">\n <ax-search-box\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n </div>\n } }\n <!-------- Finish Inline Search -------->\n </div>\n <!-- Begin View Action Menu -->\n @if(!vm.hasSelectedItems()) {\n <div class=\"ax-flex ax-gap-3\">\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-button (onClick)=\"toggleSearchBar()\" color=\"ghost\"> <ax-icon class=\"fa-solid fa-search\"> </ax-icon>\n </ax-button>}\n\n <ax-button [text]=\"makeResponsive('entity.columns' | translate | async)\" color=\"ghost\"\n (onClick)=\"columnsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.visibleColumnCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n <ax-button text=\"Filters\" color=\"ghost\" (onClick)=\"conditionsDrawer.open()\"\n *feature=\"'axp-entity-list-advance-filter'\">\n <ax-prefix>\n <i class=\"fa-solid fa-sliders\"></i>\n </ax-prefix>\n <ax-suffix>\n <ax-badge text=\"3\" color=\"primary\"></ax-badge>\n </ax-suffix>\n </ax-button>\n\n @if(vm.canSort()) {\n <ax-button [text]=\"makeResponsive('entity.sort' | translate | async)\" color=\"ghost\"\n (onClick)=\"sortsDrawer.open()\">\n <ax-prefix>\n <i class=\"fa-solid fa-bars-sort\"></i>\n </ax-prefix>\n @if(vm.sortedCount()) {\n <ax-suffix>\n <ax-badge [text]=\"makeResponsive(vm.sortedCount().toString())\" color=\"primary\"></ax-badge>\n </ax-suffix>\n }\n </ax-button>\n }\n </div>\n }\n <!-- Finish View Action Menu -->\n </div>\n <div>\n @if(vm.hasInlineFilters() && (this.platform.is('Mobile') || this.platform.is('SM'))) {\n <ax-search-box [class.collapsed-search-box]=\"searchBarShown()\" class=\"ax-transition-all\"\n [placeholder]=\"('widget.lookup.search' | translate | async) + vm.inlineFiltersPlaceholders().join(', ')\"\n (onValueChanged)=\"handleChangeSearchValue($event)\"><ax-clear-button></ax-clear-button></ax-search-box>\n }\n </div>\n <!-------- Finish Line 2 -------->\n\n <!----- Finish Toolbar ----->\n </div>\n </div>\n <!----- Begin DataTable ----->\n <div class=\"ax-flex ax-flex-1 ax-px-6 ax-py-6 ax-pt-0 ax-overflow-auto\">\n <ax-data-table #grid [showFooter]=\"false\" class=\"ax-flex-1\" [paging]=\"true\" [fetchDataMode]=\"'manual'\"\n [loading]=\"{ enabled: true, animation: true }\" [dataSource]=\"vm.dataSource\"\n (selectedRowsChange)=\"handleSelectedRowsChange($event)\" (onRowDbClick)=\"handleRowDbClick($event)\">\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n @for(col of vm.columns();track col.name) { @if(col.visible) {\n <axp-widget-column-renderer [caption]=\"col.title\" [node]=\"col.node()\"></axp-widget-column-renderer>\n } }\n <ax-dropdown-command-column fixed=\"end\" [width]=\"'60px'\" [items]=\"getDropdownRowItems\"\n (onItemClick)=\"handleRowCommandClick($event)\"></ax-dropdown-command-column>\n </ax-data-table>\n </div>\n <!----- Finish DataTable ----->\n </ax-content>\n\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 [viewModel]=\"vm\" (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\"\n (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()\" [viewModel]=\"vm\"></axp-list-view-option-sorting>\n </ax-content>\n </ax-drawer>\n</ax-drawer-container>", styles: [".cdk-drag-preview{border-radius:.375rem;border-width:1px;--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);background:rgba(var(--ax-color-on-surface));padding:.5rem;height:max-content!important}.collapsed-search-box{margin-top:0;height:0px;opacity:0}\n"] }]
600
- }], ctorParameters: () => [{ type: i1$2.AXActionSheetService }, { type: i3$1.AXPlatform }], propDecorators: { grid: [{
760
+ }], ctorParameters: () => [{ type: i1$2.AXActionSheetService }, { type: i3$2.AXPlatform }], propDecorators: { grid: [{
601
761
  type: ViewChild,
602
762
  args: ['grid']
603
763
  }] } });
@@ -639,10 +799,10 @@ class AXPDefaultThemeModule {
639
799
  single: () => Promise.resolve().then(function () { return entityMasterSingleView_component; })
640
800
  .then(c => c.AXPEntityMasterSingleViewComponent),
641
801
  ///
642
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-DKNRxpQk.mjs')
802
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs')
643
803
  .then(c => c.AXPEntityMasterCreateViewComponent),
644
804
  ///
645
- modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs')
805
+ modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs')
646
806
  .then(c => c.AXPEntityMasterModifyViewComponent),
647
807
  //
648
808
  list: () => Promise.resolve().then(function () { return entityMasterListView_component; })
@@ -674,10 +834,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
674
834
  single: () => Promise.resolve().then(function () { return entityMasterSingleView_component; })
675
835
  .then(c => c.AXPEntityMasterSingleViewComponent),
676
836
  ///
677
- create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-DKNRxpQk.mjs')
837
+ create: () => import('./acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs')
678
838
  .then(c => c.AXPEntityMasterCreateViewComponent),
679
839
  ///
680
- modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BDk03AnX.mjs')
840
+ modify: () => import('./acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs')
681
841
  .then(c => c.AXPEntityMasterModifyViewComponent),
682
842
  //
683
843
  list: () => Promise.resolve().then(function () { return entityMasterListView_component; })
@@ -695,5 +855,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
695
855
  * Generated bundle index. Do not edit.
696
856
  */
697
857
 
698
- export { AXPAdminRootLayoutModule, AXPDefaultThemeModule, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent };
858
+ export { AXPAdminRootLayoutModule, AXPCommentService, AXPDefaultThemeModule, AXPRootLayoutComponent, AXPRootLayoutFooterComponent, AXPRootLayoutHeaderComponent };
699
859
  //# sourceMappingURL=acorex-platform-themes-default.mjs.map