@acorex/modules 20.0.25 → 20.2.0-next.0

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 (263) hide show
  1. package/common/index.d.ts +8 -1
  2. package/conversation/index.d.ts +69 -9
  3. package/dashboard-management/index.d.ts +2 -0
  4. package/data-management/index.d.ts +401 -3
  5. package/fesm2022/{acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs → acorex-modules-application-management-module-designer.component-udoks-Ef.mjs} +17 -17
  6. package/fesm2022/acorex-modules-application-management-module-designer.component-udoks-Ef.mjs.map +1 -0
  7. package/fesm2022/acorex-modules-application-management.mjs +53 -53
  8. package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
  9. package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs → acorex-modules-auth-acorex-modules-auth-y6rICHrT.mjs} +67 -125
  10. package/fesm2022/acorex-modules-auth-acorex-modules-auth-y6rICHrT.mjs.map +1 -0
  11. package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs → acorex-modules-auth-app-chooser.component-Cpy0VN6n.mjs} +7 -7
  12. package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs.map → acorex-modules-auth-app-chooser.component-Cpy0VN6n.mjs.map} +1 -1
  13. package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs → acorex-modules-auth-blank.layout-C8NsXB9K.mjs} +5 -5
  14. package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map → acorex-modules-auth-blank.layout-C8NsXB9K.mjs.map} +1 -1
  15. package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs → acorex-modules-auth-login.module-ZEX4NMuJ.mjs} +8 -8
  16. package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs.map → acorex-modules-auth-login.module-ZEX4NMuJ.mjs.map} +1 -1
  17. package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs → acorex-modules-auth-master.layout-D-lIn4Pl.mjs} +7 -7
  18. package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs.map → acorex-modules-auth-master.layout-D-lIn4Pl.mjs.map} +1 -1
  19. package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs → acorex-modules-auth-password.component-CafZfqKe.mjs} +12 -12
  20. package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs.map → acorex-modules-auth-password.component-CafZfqKe.mjs.map} +1 -1
  21. package/fesm2022/{acorex-modules-auth-password.component-BbsQWpEh.mjs → acorex-modules-auth-password.component-DLCb0_6e.mjs} +16 -16
  22. package/fesm2022/acorex-modules-auth-password.component-DLCb0_6e.mjs.map +1 -0
  23. package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs → acorex-modules-auth-routes-D9-qfC3V.mjs} +2 -2
  24. package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs.map → acorex-modules-auth-routes-D9-qfC3V.mjs.map} +1 -1
  25. package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -1
  26. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs → acorex-modules-auth-tenant-chooser.component-B1aE-TOD.mjs} +10 -10
  27. package/fesm2022/{acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map → acorex-modules-auth-tenant-chooser.component-B1aE-TOD.mjs.map} +1 -1
  28. package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs → acorex-modules-auth-two-factor-code.component-BglerlU-.mjs} +10 -10
  29. package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map → acorex-modules-auth-two-factor-code.component-BglerlU-.mjs.map} +1 -1
  30. package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs → acorex-modules-auth-two-factor.module-D3N2XyOH.mjs} +7 -7
  31. package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs.map → acorex-modules-auth-two-factor.module-D3N2XyOH.mjs.map} +1 -1
  32. package/fesm2022/acorex-modules-auth.mjs +1 -1
  33. package/fesm2022/acorex-modules-calendar-management.mjs +19 -19
  34. package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
  35. package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs +1667 -0
  36. package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs.map +1 -0
  37. package/fesm2022/{acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs → acorex-modules-common-search-popup.component-CpFvcrxw.mjs} +13 -13
  38. package/fesm2022/acorex-modules-common-search-popup.component-CpFvcrxw.mjs.map +1 -0
  39. package/fesm2022/{acorex-modules-platform-management-settings.provider-intHn3XI.mjs → acorex-modules-common-settings.provider-ha75F6g5.mjs} +2 -3
  40. package/fesm2022/acorex-modules-common-settings.provider-ha75F6g5.mjs.map +1 -0
  41. package/fesm2022/{acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs → acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs} +11 -11
  42. package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs.map +1 -0
  43. package/fesm2022/acorex-modules-common.mjs +1 -1199
  44. package/fesm2022/acorex-modules-common.mjs.map +1 -1
  45. package/fesm2022/{acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs → acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs} +47 -222
  46. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs.map +1 -0
  47. package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs} +2 -2
  48. package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs.map → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs.map} +1 -1
  49. package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs} +2 -2
  50. package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs.map → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs.map} +1 -1
  51. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs} +2 -2
  52. package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs.map → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs.map} +1 -1
  53. package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs} +2 -2
  54. package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs.map → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs.map} +1 -1
  55. package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs} +2 -2
  56. package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs.map → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs.map} +1 -1
  57. package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs} +2 -2
  58. package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs.map → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs.map} +1 -1
  59. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs} +2 -2
  60. package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs.map → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs.map} +1 -1
  61. package/fesm2022/acorex-modules-contact-management.mjs +1 -1
  62. package/fesm2022/acorex-modules-content-management.mjs +14 -14
  63. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  64. package/fesm2022/acorex-modules-conversation.mjs +608 -178
  65. package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
  66. package/fesm2022/acorex-modules-dashboard-management.mjs +191 -191
  67. package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
  68. package/fesm2022/acorex-modules-data-management.mjs +2215 -265
  69. package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
  70. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs → acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs} +144 -144
  71. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs.map +1 -0
  72. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs} +5 -5
  73. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs.map → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs.map} +1 -1
  74. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs → acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs} +22 -22
  75. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs.map +1 -0
  76. package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs} +5 -5
  77. package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs.map → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs.map} +1 -1
  78. package/fesm2022/{acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs → acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs} +18 -18
  79. package/fesm2022/acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs.map +1 -0
  80. package/fesm2022/{acorex-modules-document-management-drive.component-CUej0GjY.mjs → acorex-modules-document-management-drive.component-DrkSd6Rv.mjs} +28 -28
  81. package/fesm2022/acorex-modules-document-management-drive.component-DrkSd6Rv.mjs.map +1 -0
  82. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs} +5 -5
  83. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs.map → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs.map} +1 -1
  84. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Cs-mjiQX.mjs → acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs} +5 -5
  85. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-Cs-mjiQX.mjs.map → acorex-modules-document-management-large-tiles-view.component-Bgr9s_zf.mjs.map} +1 -1
  86. package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs} +5 -5
  87. package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs.map} +1 -1
  88. package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs} +5 -5
  89. package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs.map → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs.map} +1 -1
  90. package/fesm2022/{acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs → acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs} +20 -20
  91. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs.map +1 -0
  92. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs → acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs} +4 -4
  93. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-column.component-gunvY9et.mjs.map → acorex-modules-document-management-meta-selector-widget-column.component-C_J1rPak.mjs.map} +1 -1
  94. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs → acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs} +7 -7
  95. package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs.map +1 -0
  96. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs → acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs} +4 -4
  97. package/fesm2022/{acorex-modules-document-management-meta-selector-widget-view.component-D4gu7liQ.mjs.map → acorex-modules-document-management-meta-selector-widget-view.component-zwCw3v1w.mjs.map} +1 -1
  98. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs} +2 -2
  99. package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs.map → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs.map} +1 -1
  100. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs → acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs} +15 -15
  101. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs.map +1 -0
  102. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs} +6 -6
  103. package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs.map} +1 -1
  104. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs} +5 -5
  105. package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs.map → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs.map} +1 -1
  106. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dh5Di_2Y.mjs → acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs} +5 -5
  107. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-Dh5Di_2Y.mjs.map → acorex-modules-document-management-small-icons-view.component-wvFkjOqg.mjs.map} +1 -1
  108. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-mOjQbw-f.mjs → acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs} +5 -5
  109. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-mOjQbw-f.mjs.map → acorex-modules-document-management-small-tiles-view.component-C4ARGOZR.mjs.map} +1 -1
  110. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  111. package/fesm2022/{acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs → acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs} +68 -68
  112. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs.map +1 -0
  113. package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs} +2 -2
  114. package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs.map} +1 -1
  115. package/fesm2022/{acorex-modules-form-template-management-designer.page-B14QVCAw.mjs → acorex-modules-form-template-management-designer.page-DQorNK3f.mjs} +6 -6
  116. package/fesm2022/acorex-modules-form-template-management-designer.page-DQorNK3f.mjs.map +1 -0
  117. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs} +2 -2
  118. package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs.map → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs.map} +1 -1
  119. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs} +2 -2
  120. package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs.map} +1 -1
  121. package/fesm2022/{acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs → acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs} +14 -14
  122. package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs.map +1 -0
  123. package/fesm2022/{acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs → acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs} +9 -9
  124. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs.map +1 -0
  125. package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs} +2 -2
  126. package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs.map} +1 -1
  127. package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs → acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs} +12 -12
  128. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs.map +1 -0
  129. package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
  130. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DKdtV_QL.mjs → acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs} +45 -45
  131. package/fesm2022/{acorex-modules-issue-management-acorex-modules-issue-management-DKdtV_QL.mjs.map → acorex-modules-issue-management-acorex-modules-issue-management-B8ZVc-0b.mjs.map} +1 -1
  132. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs} +7 -7
  133. package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs.map → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs.map} +1 -1
  134. package/fesm2022/acorex-modules-issue-management.mjs +1 -1
  135. package/fesm2022/acorex-modules-log-management.mjs +427 -479
  136. package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
  137. package/fesm2022/acorex-modules-notification-management.mjs +169 -63
  138. package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
  139. package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs} +16 -16
  140. package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs.map} +1 -1
  141. package/fesm2022/{acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs → acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs} +80 -6
  142. package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +1 -0
  143. package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +1 -1
  144. package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +1 -1
  145. package/fesm2022/{acorex-modules-organization-management-department.entity-BMojk26d.mjs → acorex-modules-organization-management-department.entity-BxCyXNtv.mjs} +68 -7
  146. package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +1 -0
  147. package/fesm2022/{acorex-modules-organization-management-division.entity-BnWpX4US.mjs → acorex-modules-organization-management-division.entity-DzQT2jpz.mjs} +68 -6
  148. package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +1 -0
  149. package/fesm2022/{acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs → acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs} +152 -28
  150. package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +1 -0
  151. package/fesm2022/{acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs → acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs} +21 -8
  152. package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +1 -0
  153. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs → acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs} +6 -6
  154. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs.map +1 -0
  155. package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs → acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs} +5 -5
  156. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs.map +1 -0
  157. package/fesm2022/{acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs → acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs} +20 -20
  158. package/fesm2022/acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs.map +1 -0
  159. package/fesm2022/{acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs → acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs} +20 -35
  160. package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +1 -0
  161. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs +526 -0
  162. package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +1 -0
  163. package/fesm2022/{acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs → acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs} +12 -25
  164. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +1 -0
  165. package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs → acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs} +70 -25
  166. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +1 -0
  167. package/fesm2022/{acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs → acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs} +22 -14
  168. package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +1 -0
  169. package/fesm2022/{acorex-modules-organization-management-position.entity-CY4TugWR.mjs → acorex-modules-organization-management-role.entity-CruQeObl.mjs} +77 -79
  170. package/fesm2022/acorex-modules-organization-management-role.entity-CruQeObl.mjs.map +1 -0
  171. package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
  172. package/fesm2022/{acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs → acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs} +18 -33
  173. package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +1 -0
  174. package/fesm2022/{acorex-modules-organization-management-skill.entity-D9XojzUV.mjs → acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs} +61 -22
  175. package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +1 -0
  176. package/fesm2022/{acorex-modules-organization-management-team.entity-mYPhrc2l.mjs → acorex-modules-organization-management-team.entity-DMCfAZsr.mjs} +58 -10
  177. package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +1 -0
  178. package/fesm2022/acorex-modules-organization-management.mjs +221 -136
  179. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  180. package/fesm2022/{acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs → acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs} +9 -9
  181. package/fesm2022/acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs.map +1 -0
  182. package/fesm2022/acorex-modules-platform-management.mjs +3479 -1
  183. package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
  184. package/fesm2022/acorex-modules-project-management.mjs +43 -43
  185. package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
  186. package/fesm2022/{acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs → acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs} +10 -10
  187. package/fesm2022/acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs.map +1 -0
  188. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs → acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs} +13 -13
  189. package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-C3UP9Jsi.mjs.map → acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs.map} +1 -1
  190. package/fesm2022/acorex-modules-report-management.mjs +465 -232
  191. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  192. package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
  193. package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
  194. package/fesm2022/acorex-modules-security-management.mjs +432 -900
  195. package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
  196. package/fesm2022/{acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs → acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs} +17 -17
  197. package/fesm2022/acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs.map +1 -0
  198. package/fesm2022/{acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs → acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs} +11 -11
  199. package/fesm2022/acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs.map +1 -0
  200. package/fesm2022/acorex-modules-settings-management.mjs +6 -6
  201. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  202. package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -1
  203. package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
  204. package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
  205. package/fesm2022/acorex-modules-training-management.mjs +43 -43
  206. package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
  207. package/fesm2022/{acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs → acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs} +123 -133
  208. package/fesm2022/acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs.map +1 -0
  209. package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
  210. package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
  211. package/log-management/index.d.ts +46 -19
  212. package/notification-management/index.d.ts +125 -29
  213. package/organization-management/index.d.ts +41 -13
  214. package/package.json +5 -5
  215. package/platform-management/index.d.ts +8 -277
  216. package/report-management/index.d.ts +182 -126
  217. package/security-management/index.d.ts +5 -58
  218. package/fesm2022/acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map +0 -1
  219. package/fesm2022/acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs.map +0 -1
  220. package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs.map +0 -1
  221. package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs +0 -135
  222. package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs.map +0 -1
  223. package/fesm2022/acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs.map +0 -1
  224. package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map +0 -1
  225. package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs.map +0 -1
  226. package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs.map +0 -1
  227. package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs.map +0 -1
  228. package/fesm2022/acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs.map +0 -1
  229. package/fesm2022/acorex-modules-document-management-drive.component-CUej0GjY.mjs.map +0 -1
  230. package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map +0 -1
  231. package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map +0 -1
  232. package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs.map +0 -1
  233. package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map +0 -1
  234. package/fesm2022/acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map +0 -1
  235. package/fesm2022/acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map +0 -1
  236. package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map +0 -1
  237. package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map +0 -1
  238. package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +0 -1
  239. package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +0 -1
  240. package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +0 -1
  241. package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +0 -1
  242. package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +0 -1
  243. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map +0 -1
  244. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map +0 -1
  245. package/fesm2022/acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map +0 -1
  246. package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +0 -1
  247. package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +0 -1
  248. package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +0 -1
  249. package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +0 -1
  250. package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +0 -1
  251. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs +0 -324
  252. package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +0 -1
  253. package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +0 -1
  254. package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +0 -1
  255. package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +0 -1
  256. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs +0 -5524
  257. package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs.map +0 -1
  258. package/fesm2022/acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs.map +0 -1
  259. package/fesm2022/acorex-modules-platform-management-settings.provider-intHn3XI.mjs.map +0 -1
  260. package/fesm2022/acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs.map +0 -1
  261. package/fesm2022/acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map +0 -1
  262. package/fesm2022/acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map +0 -1
  263. package/fesm2022/acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs.map +0 -1
@@ -1,28 +1,32 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, Injector, Injectable, EventEmitter, signal, Output, Input, ChangeDetectionStrategy, Component, computed, NgModule } from '@angular/core';
2
+ import { inject, Injector, Injectable, computed, effect, HostBinding, ChangeDetectionStrategy, Component, EventEmitter, signal, Output, Input, NgModule } from '@angular/core';
3
3
  import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex/platform/auth';
4
- import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
5
- import { AXPEntityService, AXMEntityCrudServiceImpl, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
6
- import * as i4$1 from '@acorex/platform/layout/builder';
7
- import { AXPWidgetsCatalog, AXPWidgetGroupEnum, AXP_WIDGETS_EDITOR_CATEGORY, AXPLayoutBuilderModule, AXPValueWidgetComponent } from '@acorex/platform/layout/builder';
8
- import { AXDataSource } from '@acorex/cdk/common';
4
+ import { AXPSearchCommandProvider, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, createQueryView, AXP_MENU_PROVIDER, AXP_SETTING_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex/platform/common';
5
+ import { AXPEntityService, AXMEntityCrudServiceImpl, AXPEntityResolver, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
6
+ import * as i4 from '@acorex/platform/layout/builder';
7
+ import { AXPWidgetsCatalog, AXPWidgetRegistryService, AXP_WIDGETS_EDITOR_CATEGORY, AXPValueWidgetComponent, AXPLayoutBuilderModule, AXPWidgetGroupEnum, AXP_WIDGET_DATASOURCE_PROVIDER } from '@acorex/platform/layout/builder';
8
+ import { AXDataSource, convertArrayToDataSource } from '@acorex/cdk/common';
9
9
  import { AXPWidgetsList } from '@acorex/modules/common';
10
- import { AXMDataSourceService } from '@acorex/modules/platform-management';
11
- import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_LABEL_PROPERTY, AXP_READONLY_PROPERTY, AXP_DISABLED_PROPERTY } from '@acorex/platform/widgets';
12
- import * as i2 from '@acorex/components/button';
13
- import { AXButtonModule } from '@acorex/components/button';
14
- import * as i1 from '@acorex/components/select-box';
10
+ import { AXTranslationService } from '@acorex/core/translation';
11
+ import { AXPDataSourceDefinitionProviderService, AXP_DATASOURCE_DEFINITION_PROVIDER } from '@acorex/platform/core';
12
+ import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex/platform/widgets';
13
+ import * as i2 from '@acorex/components/select-box';
15
14
  import { AXSelectBoxModule } from '@acorex/components/select-box';
15
+ import * as i3 from '@acorex/components/decorators';
16
+ import { AXDecoratorModule } from '@acorex/components/decorators';
17
+ import * as i1$1 from '@angular/common';
18
+ import { CommonModule } from '@angular/common';
19
+ import * as i1 from '@angular/forms';
20
+ import { FormsModule } from '@angular/forms';
21
+ import * as i2$1 from '@acorex/components/text-box';
16
22
  import { AXTextBoxModule } from '@acorex/components/text-box';
23
+ import * as i2$2 from '@acorex/components/button';
24
+ import { AXButtonModule } from '@acorex/components/button';
17
25
  import { AXFormModule } from '@acorex/components/form';
18
- import * as i4 from '@acorex/components/decorators';
19
- import { AXDecoratorModule } from '@acorex/components/decorators';
20
26
  import * as i5 from '@acorex/components/dropdown';
21
27
  import { AXDropdownModule } from '@acorex/components/dropdown';
22
28
  import { moveItemInArray, AXDragDirective, AXDragHandleDirective, AXDropListDirective } from '@acorex/cdk/drag-drop';
23
- import * as i1$1 from '@angular/common';
24
- import { CommonModule } from '@angular/common';
25
- import { FormsModule } from '@angular/forms';
29
+ import get from 'lodash-es/get';
26
30
 
27
31
  const config = {
28
32
  i18n: 'data-management',
@@ -49,6 +53,18 @@ const RootConfig = {
49
53
  titlePlural: `t("queryCategoryPlural", { scope: "${config.i18n}" })`,
50
54
  icon: 'fa-regular fa-layer-group',
51
55
  },
56
+ dataSource: {
57
+ name: 'DataSource',
58
+ title: `t("dataSource", { scope: "${config.i18n}" })`,
59
+ titlePlural: `t("dataSourcePlural", { scope: "${config.i18n}" })`,
60
+ icon: 'fa-regular fa-database',
61
+ },
62
+ dataSourceCategory: {
63
+ name: 'DataSourceCategory',
64
+ title: `t("dataSourceCategory", { scope: "${config.i18n}" })`,
65
+ titlePlural: `t("dataSourceCategoryPlural", { scope: "${config.i18n}" })`,
66
+ icon: 'fa-regular fa-layer-group',
67
+ },
52
68
  // category: {
53
69
  // name: 'Category',
54
70
  // title: 't("category", { scope: "common" })',
@@ -81,6 +97,18 @@ class AXMMenuProvider {
81
97
  icon: RootConfig.entities.query.icon,
82
98
  priority: 9002,
83
99
  },
100
+ {
101
+ text: RootConfig.entities.dataSource.title,
102
+ path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.dataSource.name),
103
+ icon: RootConfig.entities.dataSource.icon,
104
+ priority: 9003,
105
+ },
106
+ {
107
+ text: RootConfig.entities.dataSourceCategory.title,
108
+ path: this.entityService.createPath(RootConfig.module.name, RootConfig.entities.dataSourceCategory.name),
109
+ icon: RootConfig.entities.dataSourceCategory.icon,
110
+ priority: 9004,
111
+ },
84
112
  ]
85
113
  }
86
114
  ]);
@@ -105,14 +133,18 @@ class AXMEntityProvider {
105
133
  return (await Promise.resolve().then(function () { return queryCategory_entity; })).queryCategoryFactory(this.injector);
106
134
  case RootConfig.entities.query.name:
107
135
  return (await Promise.resolve().then(function () { return query_entity; })).queryFactory(this.injector);
136
+ case RootConfig.entities.dataSource.name:
137
+ return (await Promise.resolve().then(function () { return dataSource_entity; })).dataSourceEntityFactory(this.injector);
138
+ case RootConfig.entities.dataSourceCategory.name:
139
+ return (await Promise.resolve().then(function () { return dataSourceCategory_entity; })).dataSourceCategoryFactory(this.injector);
108
140
  }
109
141
  }
110
142
  return null;
111
143
  }
112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
113
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMEntityProvider }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMEntityProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
145
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMEntityProvider }); }
114
146
  }
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMEntityProvider, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMEntityProvider, decorators: [{
116
148
  type: Injectable
117
149
  }] });
118
150
 
@@ -181,10 +213,10 @@ class AXMQueryCategoryServiceImpl extends AXMQueryCategoryService {
181
213
  constructor() {
182
214
  super(`${RootConfig.module.name}.${RootConfig.entities.queryCategory.name}`);
183
215
  }
184
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMQueryCategoryServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
185
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMQueryCategoryServiceImpl }); }
216
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMQueryCategoryServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
217
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMQueryCategoryServiceImpl }); }
186
218
  }
187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMQueryCategoryServiceImpl, decorators: [{
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMQueryCategoryServiceImpl, decorators: [{
188
220
  type: Injectable
189
221
  }], ctorParameters: () => [] });
190
222
 
@@ -412,31 +444,247 @@ var queryCategory_entity = /*#__PURE__*/Object.freeze({
412
444
  queryCategoryFactory: queryCategoryFactory
413
445
  });
414
446
 
415
- class AXMQueryService extends AXMEntityCrudServiceImpl {
447
+ //#region ---- Column Definition Widget ----
448
+ const AXM_COLUMN_DEF_WIDGET = [
449
+ {
450
+ type: 'grid-row-layout',
451
+ mode: 'view',
452
+ children: [
453
+ {
454
+ type: 'grid-item-layout',
455
+ mode: 'view',
456
+ options: { colSpan: 3 },
457
+ children: [
458
+ {
459
+ type: 'text-editor',
460
+ mode: 'edit',
461
+ path: 'name',
462
+ options: {
463
+ placeholder: 'Column Name',
464
+ required: true,
465
+ },
466
+ },
467
+ ],
468
+ },
469
+ {
470
+ type: 'grid-item-layout',
471
+ mode: 'view',
472
+ options: { colSpan: 3 },
473
+ children: [
474
+ {
475
+ type: 'text-editor',
476
+ mode: 'edit',
477
+ path: 'title',
478
+ options: {
479
+ placeholder: 'Display Title',
480
+ required: true,
481
+ },
482
+ },
483
+ ],
484
+ },
485
+ {
486
+ type: 'grid-item-layout',
487
+ options: { colSpan: 3 },
488
+ mode: 'view',
489
+ children: [
490
+ {
491
+ type: 'select-editor',
492
+ mode: 'edit',
493
+ path: 'type',
494
+ options: {
495
+ placeholder: 'Widget Type',
496
+ valueField: 'name',
497
+ textField: 'title',
498
+ dataSource: new AXDataSource({
499
+ load: async () => {
500
+ const service = AXPWidgetRegistryService.instance;
501
+ const data = service.all().filter(c => c.type.startsWith('editor'));
502
+ return {
503
+ items: data,
504
+ total: data.length,
505
+ };
506
+ },
507
+ byKey: async (key) => {
508
+ const service = AXPWidgetRegistryService.instance;
509
+ const data = service.all();
510
+ return data.find((c) => c.name == key);
511
+ },
512
+ pageSize: 1000,
513
+ }),
514
+ direction: 'horizontal',
515
+ multiple: false,
516
+ required: true,
517
+ },
518
+ },
519
+ ],
520
+ },
521
+ {
522
+ type: 'grid-item-layout',
523
+ options: { colSpan: 1 },
524
+ mode: 'view',
525
+ children: [
526
+ {
527
+ type: 'checkbox-editor',
528
+ mode: 'edit',
529
+ path: 'isValueField',
530
+ options: {
531
+ tooltip: 'Value Field (only one can be selected)',
532
+ label: 'Value',
533
+ },
534
+ triggers: [
535
+ {
536
+ event: "{{ events.context('columns.isValueField') }}",
537
+ action: `{{ context.set('columns.isValueField', context.eval('columns.isValueField')[0]); }}`,
538
+ },
539
+ ],
540
+ },
541
+ ],
542
+ },
543
+ {
544
+ type: 'grid-item-layout',
545
+ options: { colSpan: 1 },
546
+ mode: 'view',
547
+ children: [
548
+ {
549
+ type: 'checkbox-editor',
550
+ mode: 'edit',
551
+ path: 'isTextField',
552
+ options: {
553
+ tooltip: 'Text Field (multiple allowed)',
554
+ label: 'Text',
555
+ },
556
+ },
557
+ ],
558
+ },
559
+ {
560
+ type: 'grid-item-layout',
561
+ options: { colSpan: 1 },
562
+ mode: 'view',
563
+ children: [
564
+ {
565
+ type: 'checkbox-editor',
566
+ mode: 'edit',
567
+ path: 'isRequired',
568
+ options: {
569
+ label: 'Required',
570
+ tooltip: 'Required field',
571
+ },
572
+ },
573
+ ],
574
+ },
575
+ ],
576
+ },
577
+ ];
578
+ //#endregion
579
+
580
+ //#region ---- Filter Definition Widget ----
581
+ const AXM_FILTER_DEF_WIDGET = [
582
+ {
583
+ type: 'grid-row-layout',
584
+ mode: 'view',
585
+ children: [
586
+ {
587
+ type: 'grid-item-layout',
588
+ mode: 'view',
589
+ options: { colSpan: 6 },
590
+ children: [
591
+ {
592
+ type: 'column-filter-selector-editor',
593
+ mode: 'edit',
594
+ path: 'filter',
595
+ options: {
596
+ columns: '{{context.eval("columns")}}',
597
+ placeholder: 'Select Column and Set Filter Value',
598
+ },
599
+ },
600
+ ],
601
+ triggers: [
602
+ {
603
+ event: '{{ events.context("filters.*") }}',
604
+ action: '{{ console.log(context.eval("filters")) }}',
605
+ }
606
+ ],
607
+ },
608
+ {
609
+ type: 'grid-item-layout',
610
+ options: { colSpan: 2 },
611
+ mode: 'view',
612
+ children: [
613
+ {
614
+ type: 'checkbox-editor',
615
+ mode: 'edit',
616
+ path: 'isSystemFilter',
617
+ options: {
618
+ label: 'System',
619
+ tooltip: 'User can enable/disable in report',
620
+ },
621
+ },
622
+ ],
623
+ },
624
+ {
625
+ type: 'grid-item-layout',
626
+ options: { colSpan: 2 },
627
+ mode: 'view',
628
+ children: [
629
+ {
630
+ type: 'checkbox-editor',
631
+ mode: 'edit',
632
+ path: 'isRequired',
633
+ options: {
634
+ label: 'Required',
635
+ tooltip: 'Must be present in report',
636
+ },
637
+ },
638
+ ],
639
+ },
640
+ ],
641
+ },
642
+ ];
643
+ //#endregion
644
+
645
+ class AXMDataSourceService extends AXMEntityCrudServiceImpl {
416
646
  }
417
- class AXMQueryServiceImpl extends AXMQueryService {
647
+ class AXMDataSourceServiceImpl extends AXMEntityCrudServiceImpl {
418
648
  constructor() {
419
- super(`${RootConfig.module.name}.${RootConfig.entities.query.name}`);
649
+ super(`${RootConfig.module.name}.${RootConfig.entities.dataSource.name}`);
420
650
  }
421
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMQueryServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
422
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMQueryServiceImpl }); }
651
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSourceServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
652
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSourceServiceImpl }); }
423
653
  }
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMQueryServiceImpl, decorators: [{
654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSourceServiceImpl, decorators: [{
425
655
  type: Injectable
426
656
  }], ctorParameters: () => [] });
427
657
 
428
- async function queryFactory(injector) {
429
- const dataService = injector.get(AXMQueryService);
430
- const dataSourceService = injector.get(AXMDataSourceService);
658
+ //#region ---- Output Types ----
659
+ var AXMDataSourceOutputType;
660
+ (function (AXMDataSourceOutputType) {
661
+ AXMDataSourceOutputType["Table"] = "table";
662
+ AXMDataSourceOutputType["SingleObject"] = "single_object";
663
+ AXMDataSourceOutputType["Value"] = "value";
664
+ })(AXMDataSourceOutputType || (AXMDataSourceOutputType = {}));
665
+ //#endregion
666
+ //#region ---- Source Types ----
667
+ var AXMDataSourceType;
668
+ (function (AXMDataSourceType) {
669
+ AXMDataSourceType["Static"] = "static";
670
+ AXMDataSourceType["Query"] = "query";
671
+ // ExternalApi = 'external_api' // TODO: Will be implemented later
672
+ })(AXMDataSourceType || (AXMDataSourceType = {}));
673
+ //#endregion
674
+
675
+ async function dataSourceEntityFactory(injector) {
676
+ const dataService = injector.get(AXMDataSourceService);
431
677
  const i18n = RootConfig.config.i18n;
678
+ const translationService = injector.get(AXTranslationService);
679
+ const dataSourceDefinitionService = injector.get(AXPDataSourceDefinitionProviderService);
432
680
  const entityDef = {
433
681
  module: RootConfig.module.name,
434
- name: RootConfig.entities.query.name,
682
+ name: RootConfig.entities.dataSource.name,
435
683
  source: '',
436
- title: RootConfig.entities.query.title,
684
+ title: RootConfig.entities.dataSource.title,
437
685
  formats: {
438
- individual: RootConfig.entities.query.title,
439
- plural: RootConfig.entities.query.titlePlural,
686
+ individual: RootConfig.entities.dataSource.title,
687
+ plural: RootConfig.entities.dataSource.titlePlural,
440
688
  searchResult: {
441
689
  title: '{{ title }}',
442
690
  description: RootConfig.module.title,
@@ -444,7 +692,7 @@ async function queryFactory(injector) {
444
692
  },
445
693
  relatedEntities: [],
446
694
  category: {
447
- entity: `${RootConfig.module.name}.${RootConfig.entities.queryCategory.name}`,
695
+ entity: `${RootConfig.module.name}.${RootConfig.entities.dataSourceCategory.name}`,
448
696
  title: 'Categories',
449
697
  textField: 'title',
450
698
  valueField: 'id',
@@ -460,15 +708,55 @@ async function queryFactory(injector) {
460
708
  },
461
709
  groups: [
462
710
  {
463
- id: 'section',
464
- title: RootConfig.entities.query.title,
711
+ id: 'dataSource',
712
+ title: RootConfig.entities.dataSource.title,
713
+ },
714
+ {
715
+ id: 'columns',
716
+ title: 't("columns", {scope:"${config.i18n}"})',
717
+ },
718
+ {
719
+ id: 'filters',
720
+ title: 't("filters", {scope:"${config.i18n}"})',
721
+ },
722
+ {
723
+ id: 'samples',
724
+ title: 't("samples", {scope:"${config.i18n}"})',
465
725
  },
466
726
  ],
467
727
  properties: [
468
728
  {
469
729
  name: 'name',
470
730
  title: `t("name", { scope: "common" })`,
471
- groupId: 'section',
731
+ groupId: 'dataSource',
732
+ schema: {
733
+ dataType: 'string',
734
+ interface: {
735
+ type: AXPWidgetsCatalog.text,
736
+ },
737
+ },
738
+ validations: [
739
+ {
740
+ rule: 'required',
741
+ },
742
+ ],
743
+ },
744
+ {
745
+ name: 'title',
746
+ title: `t("title", { scope: "common" })`,
747
+ groupId: 'dataSource',
748
+ schema: {
749
+ dataType: 'string',
750
+ interface: {
751
+ type: AXPWidgetsCatalog.text,
752
+ options: {},
753
+ },
754
+ },
755
+ validations: [
756
+ {
757
+ rule: 'required',
758
+ },
759
+ ],
472
760
  options: {
473
761
  sort: {
474
762
  enabled: true,
@@ -478,14 +766,27 @@ async function queryFactory(injector) {
478
766
  enabled: true,
479
767
  },
480
768
  inline: {
481
- enabled: false,
769
+ enabled: true,
482
770
  },
483
771
  },
484
772
  },
773
+ },
774
+ {
775
+ name: 'categoryIds',
776
+ title: `t("category", { scope: "common" })`,
777
+ groupId: 'dataSource',
485
778
  schema: {
486
779
  dataType: 'string',
487
780
  interface: {
488
- type: AXPWidgetsCatalog.text,
781
+ type: AXPWidgetsCatalog.lookup,
782
+ options: {
783
+ entity: `${RootConfig.module.name}.${RootConfig.entities.dataSourceCategory.name}`,
784
+ multiple: true,
785
+ expose: [
786
+ { source: 'id', target: 'categories.{id}' },
787
+ { source: 'title', target: 'categories.{title}' },
788
+ ],
789
+ },
489
790
  },
490
791
  },
491
792
  validations: [
@@ -495,9 +796,112 @@ async function queryFactory(injector) {
495
796
  ],
496
797
  },
497
798
  {
498
- name: 'title',
499
- title: `t("title", { scope: "common" })`,
500
- groupId: 'section',
799
+ name: 'columns',
800
+ title: `t("columns", { scope: "${i18n}" })`,
801
+ groupId: 'columns',
802
+ schema: {
803
+ defaultValue: [
804
+ {
805
+ name: 'name',
806
+ title: 'Name',
807
+ type: 'text-editor',
808
+ },
809
+ {
810
+ name: 'title',
811
+ title: 'Title',
812
+ type: 'text-editor',
813
+ },
814
+ ],
815
+ dataType: 'object',
816
+ interface: {
817
+ type: AXPWidgetsCatalog.repeaterLayout,
818
+ children: AXM_COLUMN_DEF_WIDGET,
819
+ triggers: [
820
+ {
821
+ event: "{{ events.context('sourceEntity') }}",
822
+ action: `{{ widget.setValue(context.eval('sourceEntity')?.columns); }}`,
823
+ },
824
+ {
825
+ event: "{{ events.context('columns') }}",
826
+ action: `{{ console.log(context.eval('columns.*.isTextField')); }}`,
827
+ },
828
+ ],
829
+ },
830
+ },
831
+ },
832
+ {
833
+ name: 'filters',
834
+ title: `t("filters", { scope: "${i18n}" })`,
835
+ groupId: 'filters',
836
+ schema: {
837
+ defaultValue: [],
838
+ dataType: 'object',
839
+ interface: {
840
+ type: AXPWidgetsCatalog.repeaterLayout,
841
+ children: AXM_FILTER_DEF_WIDGET,
842
+ },
843
+ },
844
+ },
845
+ {
846
+ name: 'samples',
847
+ title: `t("samples", { scope: "${i18n}" })`,
848
+ groupId: 'samples',
849
+ schema: {
850
+ dataType: 'object',
851
+ interface: {
852
+ type: AXPWidgetsCatalog.table,
853
+ options: {
854
+ columns: '{{context.eval("columns"); }}',
855
+ defaultRowCount: 2,
856
+ },
857
+ },
858
+ },
859
+ validations: [
860
+ {
861
+ rule: 'required',
862
+ },
863
+ ],
864
+ },
865
+ {
866
+ name: 'sourceType',
867
+ title: `t("sourceType", { scope: "${i18n}" })`,
868
+ groupId: 'dataSource',
869
+ schema: {
870
+ defaultValue: {
871
+ name: 'static',
872
+ title: 'Static',
873
+ },
874
+ dataType: 'string',
875
+ interface: {
876
+ type: AXPWidgetsCatalog.select,
877
+ options: {
878
+ valueField: 'name',
879
+ textField: 'title',
880
+ dataSource: [
881
+ // TODO: External API temporarily disabled for upgrade
882
+ // {
883
+ // name: 'external_api',
884
+ // title: 'External Api',
885
+ // },
886
+ {
887
+ name: 'query',
888
+ title: 'Query',
889
+ },
890
+ {
891
+ name: 'static',
892
+ title: 'Static',
893
+ },
894
+ ],
895
+ multiple: false,
896
+ },
897
+ triggers: [
898
+ {
899
+ event: "{{ events.context('sourceType') }}",
900
+ action: `{{context.set('columns' , []); context.set('sourceEntity' , null); if(context.eval('sourceType')?.name == 'static') { context.set('columns', [ { name: 'name',title: 'Name',type: { title: 'Text', name: 'text-editor', },},{name: 'title',title: 'Title',type: {title: 'Text',name: 'text-editor',},}, ] );} }}`,
901
+ },
902
+ ],
903
+ },
904
+ },
501
905
  options: {
502
906
  sort: {
503
907
  enabled: true,
@@ -506,15 +910,6 @@ async function queryFactory(injector) {
506
910
  advance: {
507
911
  enabled: true,
508
912
  },
509
- inline: {
510
- enabled: false,
511
- },
512
- },
513
- },
514
- schema: {
515
- dataType: 'string',
516
- interface: {
517
- type: AXPWidgetsCatalog.text,
518
913
  },
519
914
  },
520
915
  validations: [
@@ -524,63 +919,1636 @@ async function queryFactory(injector) {
524
919
  ],
525
920
  },
526
921
  {
527
- name: 'categoryIds',
528
- title: `t("category", { scope: "common" })`,
529
- groupId: 'section',
530
- schema: {
531
- dataType: 'string',
532
- interface: {
533
- type: AXPWidgetsCatalog.lookup,
534
- options: {
535
- entity: `${RootConfig.module.name}.${RootConfig.entities.queryCategory.name}`,
536
- multiple: true,
537
- expose: [
538
- { source: 'id', target: 'categories.{id}' },
539
- { source: 'title', target: 'categories.{title}' },
540
- ],
541
- },
542
- },
543
- },
544
- validations: [
545
- {
546
- rule: 'required',
547
- },
548
- ],
922
+ name: 'outputType',
923
+ title: `t("outputType", { scope: "${i18n}" })`,
924
+ groupId: 'dataSource',
925
+ schema: {
926
+ defaultValue: {
927
+ name: AXMDataSourceOutputType.Table,
928
+ title: 'Table',
929
+ },
930
+ dataType: 'string',
931
+ interface: {
932
+ type: AXPWidgetsCatalog.select,
933
+ options: {
934
+ valueField: 'name',
935
+ textField: 'title',
936
+ dataSource: [
937
+ {
938
+ name: AXMDataSourceOutputType.Table,
939
+ title: 'Table (List of Records)',
940
+ },
941
+ {
942
+ name: AXMDataSourceOutputType.SingleObject,
943
+ title: 'Single Object',
944
+ },
945
+ {
946
+ name: AXMDataSourceOutputType.Value,
947
+ title: 'Value (Count/Number)',
948
+ },
949
+ ],
950
+ multiple: false,
951
+ },
952
+ },
953
+ },
954
+ validations: [
955
+ {
956
+ rule: 'required',
957
+ },
958
+ ],
959
+ options: {
960
+ sort: {
961
+ enabled: true,
962
+ },
963
+ filter: {
964
+ advance: {
965
+ enabled: true,
966
+ },
967
+ },
968
+ },
969
+ },
970
+ {
971
+ name: 'sourceStatic',
972
+ title: `t("sourceStatic", { scope: "${i18n}" })`,
973
+ groupId: 'dataSource',
974
+ schema: {
975
+ dataType: 'string',
976
+ interface: {
977
+ type: AXPWidgetsCatalog.table,
978
+ options: {
979
+ visibility: '{{context.eval("sourceType")?.name == "static" }}',
980
+ columns: '{{context.eval("columns")}}',
981
+ defaultRowCount: 2,
982
+ },
983
+ },
984
+ },
985
+ validations: [
986
+ // Validation removed: field is now auto-derived from columns flags
987
+ ],
988
+ },
989
+ {
990
+ name: 'sourceEntity',
991
+ title: `t("sourceEntity", { scope: "${i18n}" })`,
992
+ groupId: 'dataSource',
993
+ schema: {
994
+ dataType: 'string',
995
+ interface: {
996
+ type: AXPWidgetsCatalog.select,
997
+ options: {
998
+ visibility: '{{context.eval("sourceType")?.name == "query" }}',
999
+ valueField: 'name',
1000
+ textField: 'title',
1001
+ dataSource: new AXDataSource({
1002
+ load: async (e) => {
1003
+ const entities = await dataSourceDefinitionService.items();
1004
+ // Map each entity to a promise that performs the translation
1005
+ const translatedEntities = await Promise.all(entities.map(async (entity) => ({
1006
+ ...entity,
1007
+ title: await translationService.translateAsync(entity.title),
1008
+ })));
1009
+ return {
1010
+ total: translatedEntities.length,
1011
+ items: translatedEntities,
1012
+ };
1013
+ },
1014
+ pageSize: 1000,
1015
+ }),
1016
+ },
1017
+ triggers: [
1018
+ {
1019
+ event: "{{ events.context('sourceEntity') }}",
1020
+ action: `{{ context.set('samples', context.eval('sourceEntity')?.samples); }}`,
1021
+ },
1022
+ ],
1023
+ },
1024
+ },
1025
+ validations: [
1026
+ // Validation removed: field is now auto-derived from columns flags
1027
+ ],
1028
+ },
1029
+ ],
1030
+ columns: [{ name: 'name' }, { name: 'title' }, { name: 'categoryIds', options: { dataPath: 'categories' } }, { name: 'sourceType' }, { name: 'outputType' }],
1031
+ commands: {
1032
+ create: {
1033
+ execute: async (data) => {
1034
+ console.log(data);
1035
+ if (data.sourceType.name == 'query') {
1036
+ data.sourceEntity = data.sourceEntity?.name;
1037
+ }
1038
+ // if (data.sourceType.name == 'static') {
1039
+ // data.sourceStatic = data.sourceStatic?.name;
1040
+ // }
1041
+ // derive textField & valueField from columns flags
1042
+ if (Array.isArray(data.columns)) {
1043
+ const txtColsArr = data.columns.filter((c) => c.isTextField).map((c) => c.name);
1044
+ const txtCols = txtColsArr.join(',');
1045
+ const valCol = data.columns.find((c) => c.isValueField);
1046
+ data.textField = txtCols;
1047
+ data.valueField = valCol ? valCol.name : null;
1048
+ }
1049
+ console.log('after save', data);
1050
+ const res = await dataService.insertOne(data);
1051
+ return { id: res };
1052
+ },
1053
+ },
1054
+ delete: {
1055
+ execute: async (id) => {
1056
+ return await dataService.deleteOne(id);
1057
+ },
1058
+ },
1059
+ update: {
1060
+ execute: async (data) => {
1061
+ // derive textField & valueField from columns flags
1062
+ if (Array.isArray(data.columns)) {
1063
+ const txtColsArr = data.columns.filter((c) => c.isTextField).map((c) => c.name);
1064
+ const txtCols = txtColsArr.join(',');
1065
+ const valCol = data.columns.find((c) => c.isValueField);
1066
+ data.textField = txtCols;
1067
+ data.valueField = valCol ? valCol.name : null;
1068
+ }
1069
+ return await dataService.updateOne(data.id, data);
1070
+ },
1071
+ },
1072
+ },
1073
+ queries: {
1074
+ byKey: {
1075
+ execute: async (id) => {
1076
+ return await dataService.getOne(id);
1077
+ },
1078
+ type: AXPEntityQueryType.Single,
1079
+ },
1080
+ list: {
1081
+ execute: async (e) => {
1082
+ return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
1083
+ },
1084
+ type: AXPEntityQueryType.List,
1085
+ },
1086
+ },
1087
+ interfaces: {
1088
+ master: {
1089
+ create: {
1090
+ sections: [
1091
+ {
1092
+ id: 'dataSource',
1093
+ },
1094
+ {
1095
+ id: 'columns',
1096
+ },
1097
+ {
1098
+ id: 'filters',
1099
+ },
1100
+ {
1101
+ id: 'samples',
1102
+ },
1103
+ ],
1104
+ properties: [
1105
+ {
1106
+ name: 'name',
1107
+ layout: {
1108
+ positions: {
1109
+ lg: {
1110
+ colSpan: 6,
1111
+ order: 1,
1112
+ },
1113
+ },
1114
+ },
1115
+ },
1116
+ {
1117
+ name: 'title',
1118
+ layout: {
1119
+ positions: {
1120
+ lg: {
1121
+ colSpan: 6,
1122
+ order: 2,
1123
+ },
1124
+ },
1125
+ },
1126
+ },
1127
+ {
1128
+ name: 'categoryIds',
1129
+ layout: {
1130
+ positions: {
1131
+ lg: {
1132
+ colSpan: 6,
1133
+ order: 3,
1134
+ },
1135
+ },
1136
+ },
1137
+ },
1138
+ {
1139
+ name: 'columns',
1140
+ layout: {
1141
+ positions: {
1142
+ lg: {
1143
+ colSpan: 12,
1144
+ order: 5,
1145
+ },
1146
+ },
1147
+ },
1148
+ },
1149
+ {
1150
+ name: 'samples',
1151
+ layout: {
1152
+ positions: {
1153
+ lg: {
1154
+ colSpan: 12,
1155
+ order: 11,
1156
+ },
1157
+ },
1158
+ },
1159
+ },
1160
+ {
1161
+ name: 'sourceType',
1162
+ layout: {
1163
+ positions: {
1164
+ lg: {
1165
+ colSpan: 6,
1166
+ order: 3,
1167
+ },
1168
+ },
1169
+ },
1170
+ },
1171
+ {
1172
+ name: 'sourceStatic',
1173
+ layout: {
1174
+ positions: {
1175
+ lg: {
1176
+ colSpan: 6,
1177
+ order: 4,
1178
+ },
1179
+ },
1180
+ },
1181
+ },
1182
+ {
1183
+ name: 'sourceEntity',
1184
+ layout: {
1185
+ positions: {
1186
+ lg: {
1187
+ colSpan: 6,
1188
+ order: 4,
1189
+ },
1190
+ },
1191
+ },
1192
+ },
1193
+ {
1194
+ name: 'outputType',
1195
+ layout: {
1196
+ positions: {
1197
+ lg: {
1198
+ colSpan: 6,
1199
+ order: 5,
1200
+ },
1201
+ },
1202
+ },
1203
+ },
1204
+ {
1205
+ name: 'filters',
1206
+ layout: {
1207
+ positions: {
1208
+ lg: {
1209
+ colSpan: 12,
1210
+ order: 6,
1211
+ },
1212
+ },
1213
+ },
1214
+ },
1215
+ ],
1216
+ },
1217
+ update: {
1218
+ sections: [
1219
+ {
1220
+ id: 'dataSource',
1221
+ },
1222
+ {
1223
+ id: 'columns',
1224
+ },
1225
+ {
1226
+ id: 'filters',
1227
+ },
1228
+ {
1229
+ id: 'samples',
1230
+ },
1231
+ ],
1232
+ properties: [
1233
+ {
1234
+ name: 'name',
1235
+ layout: {
1236
+ positions: {
1237
+ lg: {
1238
+ colSpan: 6,
1239
+ order: 1,
1240
+ },
1241
+ },
1242
+ },
1243
+ },
1244
+ {
1245
+ name: 'title',
1246
+ layout: {
1247
+ positions: {
1248
+ lg: {
1249
+ colSpan: 6,
1250
+ order: 2,
1251
+ },
1252
+ },
1253
+ },
1254
+ },
1255
+ {
1256
+ name: 'categoryIds',
1257
+ layout: {
1258
+ positions: {
1259
+ lg: {
1260
+ colSpan: 6,
1261
+ order: 3,
1262
+ },
1263
+ },
1264
+ },
1265
+ },
1266
+ {
1267
+ name: 'columns',
1268
+ layout: {
1269
+ positions: {
1270
+ lg: {
1271
+ colSpan: 12,
1272
+ order: 5,
1273
+ },
1274
+ },
1275
+ },
1276
+ },
1277
+ {
1278
+ name: 'sourceType',
1279
+ layout: {
1280
+ positions: {
1281
+ lg: {
1282
+ colSpan: 6,
1283
+ order: 3,
1284
+ },
1285
+ },
1286
+ },
1287
+ },
1288
+ {
1289
+ name: 'sourceEntity',
1290
+ layout: {
1291
+ positions: {
1292
+ lg: {
1293
+ colSpan: 12,
1294
+ order: 4,
1295
+ },
1296
+ },
1297
+ },
1298
+ },
1299
+ {
1300
+ name: 'sourceStatic',
1301
+ layout: {
1302
+ positions: {
1303
+ lg: {
1304
+ colSpan: 12,
1305
+ order: 4,
1306
+ },
1307
+ },
1308
+ },
1309
+ },
1310
+ {
1311
+ name: 'outputType',
1312
+ layout: {
1313
+ positions: {
1314
+ lg: {
1315
+ colSpan: 6,
1316
+ order: 5,
1317
+ },
1318
+ },
1319
+ },
1320
+ },
1321
+ {
1322
+ name: 'filters',
1323
+ layout: {
1324
+ positions: {
1325
+ lg: {
1326
+ colSpan: 12,
1327
+ order: 6,
1328
+ },
1329
+ },
1330
+ },
1331
+ },
1332
+ ],
1333
+ },
1334
+ single: {
1335
+ title: '{{title}}',
1336
+ sections: [
1337
+ {
1338
+ id: 'dataSource',
1339
+ },
1340
+ {
1341
+ id: 'columns',
1342
+ },
1343
+ {
1344
+ id: 'filters',
1345
+ },
1346
+ {
1347
+ id: 'samples',
1348
+ },
1349
+ ],
1350
+ properties: [
1351
+ {
1352
+ name: 'name',
1353
+ layout: {
1354
+ positions: {
1355
+ lg: {
1356
+ colSpan: 6,
1357
+ order: 1,
1358
+ },
1359
+ },
1360
+ },
1361
+ },
1362
+ {
1363
+ name: 'title',
1364
+ layout: {
1365
+ positions: {
1366
+ lg: {
1367
+ colSpan: 6,
1368
+ order: 2,
1369
+ },
1370
+ },
1371
+ },
1372
+ },
1373
+ {
1374
+ name: 'categoryIds',
1375
+ dataPath: 'categories',
1376
+ layout: {
1377
+ positions: {
1378
+ lg: {
1379
+ colSpan: 6,
1380
+ order: 3,
1381
+ },
1382
+ },
1383
+ },
1384
+ },
1385
+ {
1386
+ name: 'columns',
1387
+ layout: {
1388
+ positions: {
1389
+ lg: {
1390
+ colSpan: 12,
1391
+ order: 3,
1392
+ },
1393
+ },
1394
+ },
1395
+ },
1396
+ {
1397
+ name: 'sourceType',
1398
+ layout: {
1399
+ positions: {
1400
+ lg: {
1401
+ colSpan: 6,
1402
+ order: 4,
1403
+ },
1404
+ },
1405
+ },
1406
+ },
1407
+ {
1408
+ name: 'sourceEntity',
1409
+ layout: {
1410
+ positions: {
1411
+ lg: {
1412
+ colSpan: 6,
1413
+ order: 5,
1414
+ },
1415
+ },
1416
+ },
1417
+ },
1418
+ {
1419
+ name: 'sourceStatic',
1420
+ layout: {
1421
+ positions: {
1422
+ lg: {
1423
+ colSpan: 6,
1424
+ order: 5,
1425
+ },
1426
+ },
1427
+ },
1428
+ },
1429
+ {
1430
+ name: 'outputType',
1431
+ layout: {
1432
+ positions: {
1433
+ lg: {
1434
+ colSpan: 6,
1435
+ order: 6,
1436
+ },
1437
+ },
1438
+ },
1439
+ },
1440
+ {
1441
+ name: 'filters',
1442
+ layout: {
1443
+ positions: {
1444
+ lg: {
1445
+ colSpan: 12,
1446
+ order: 7,
1447
+ },
1448
+ },
1449
+ },
1450
+ },
1451
+ {
1452
+ name: 'samples',
1453
+ layout: {
1454
+ positions: {
1455
+ lg: {
1456
+ colSpan: 12,
1457
+ order: 10,
1458
+ },
1459
+ },
1460
+ },
1461
+ },
1462
+ ],
1463
+ actions: [],
1464
+ },
1465
+ list: {
1466
+ actions: [
1467
+ {
1468
+ title: `t("create", { scope: "common" })`,
1469
+ command: {
1470
+ name: 'create-entity',
1471
+ options: {
1472
+ layout: {
1473
+ size: 'lg',
1474
+ },
1475
+ },
1476
+ },
1477
+ priority: 'primary',
1478
+ type: 'create',
1479
+ scope: AXPEntityCommandScope.TypeLevel,
1480
+ },
1481
+ {
1482
+ title: 't("deleteItems", { scope: "common" })',
1483
+ command: 'delete-entity',
1484
+ priority: 'primary',
1485
+ type: 'delete',
1486
+ scope: AXPEntityCommandScope.Selected,
1487
+ },
1488
+ {
1489
+ title: 't("detail", { scope: "common" })',
1490
+ command: 'open-entity',
1491
+ priority: 'secondary',
1492
+ type: 'view',
1493
+ scope: AXPEntityCommandScope.Individual,
1494
+ },
1495
+ {
1496
+ title: 't("delete", { scope: "common" })',
1497
+ command: 'delete-entity',
1498
+ priority: 'secondary',
1499
+ type: 'delete',
1500
+ scope: AXPEntityCommandScope.Individual,
1501
+ },
1502
+ {
1503
+ title: 't("entity.modify", { scope: "common" })',
1504
+ command: {
1505
+ name: 'quick-modify-entity', options: {
1506
+ layout: {
1507
+ size: 'lg',
1508
+ },
1509
+ },
1510
+ },
1511
+ priority: 'secondary',
1512
+ type: 'update',
1513
+ scope: AXPEntityCommandScope.Individual,
1514
+ },
1515
+ ],
1516
+ views: [
1517
+ createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] }),
1518
+ createQueryView('static', `t("static", { scope: "${i18n}" })`, true, {
1519
+ conditions: [
1520
+ {
1521
+ name: 'sourceType.name',
1522
+ operator: {
1523
+ type: 'equal',
1524
+ },
1525
+ value: 'static',
1526
+ },
1527
+ ],
1528
+ }),
1529
+ createQueryView('query', `t("query", { scope: "${i18n}" })`, true, {
1530
+ conditions: [
1531
+ {
1532
+ name: 'sourceType.name',
1533
+ operator: {
1534
+ type: 'equal',
1535
+ },
1536
+ value: 'query',
1537
+ },
1538
+ ],
1539
+ }),
1540
+ ],
1541
+ },
1542
+ },
1543
+ },
1544
+ };
1545
+ return entityDef;
1546
+ }
1547
+
1548
+ var dataSource_entity = /*#__PURE__*/Object.freeze({
1549
+ __proto__: null,
1550
+ dataSourceEntityFactory: dataSourceEntityFactory
1551
+ });
1552
+
1553
+ const AXMColumnFilterSelectorWidget = {
1554
+ name: 'column-filter-selector-editor',
1555
+ title: 'Column Filter Selector',
1556
+ icon: 'fa-light fa-filter',
1557
+ description: 'Selects a column and configures its filter value',
1558
+ categories: AXP_WIDGETS_EDITOR_CATEGORY,
1559
+ type: 'editor',
1560
+ defaultFilterWidgetName: 'string-filter',
1561
+ options: {
1562
+ needLabel: false,
1563
+ },
1564
+ properties: [
1565
+ AXP_NAME_PROPERTY,
1566
+ AXP_DATA_PATH_PROPERTY,
1567
+ AXP_DISABLED_PROPERTY,
1568
+ ],
1569
+ components: {
1570
+ view: {
1571
+ component: () => Promise.resolve().then(function () { return columnFilterSelectorWidgetView_component; }).then((c) => c.AXMColumnFilterSelectorWidgetViewComponent),
1572
+ },
1573
+ edit: {
1574
+ component: () => Promise.resolve().then(function () { return columnFilterSelectorWidgetEdit_component; }).then((c) => c.AXMColumnFilterSelectorWidgetEditComponent),
1575
+ },
1576
+ filter: {
1577
+ component: () => Promise.resolve().then(function () { return columnFilterSelectorWidgetFilter_component; }).then((c) => c.AXMColumnFilterSelectorWidgetFilterComponent),
1578
+ },
1579
+ column: {
1580
+ component: () => Promise.resolve().then(function () { return columnFilterSelectorWidgetColumn_component; }).then((c) => c.AXMColumnFilterSelectorWidgetColumnComponent),
1581
+ },
1582
+ print: {
1583
+ component: () => Promise.resolve().then(function () { return columnFilterSelectorWidgetPrint_component; }).then((c) => c.AXMColumnFilterSelectorWidgetPrintComponent),
1584
+ },
1585
+ designer: {
1586
+ component: () => Promise.resolve().then(function () { return columnFilterSelectorWidgetEdit_component; }).then((c) => c.AXMColumnFilterSelectorWidgetEditComponent),
1587
+ },
1588
+ },
1589
+ };
1590
+
1591
+ class AXMColumnFilterSelectorWidgetEditComponent extends AXPValueWidgetComponent {
1592
+ constructor() {
1593
+ super(...arguments);
1594
+ //#region ---- Properties ----
1595
+ this.disabled = computed(() => this.options()['disabled'], ...(ngDevMode ? [{ debugName: "disabled" }] : []));
1596
+ this.columns = computed(() => this.options()['columns'] || [], ...(ngDevMode ? [{ debugName: "columns" }] : []));
1597
+ //#endregion
1598
+ //#region ---- Computed Properties ----
1599
+ this.columnsDataSource = computed(() => {
1600
+ return new AXDataSource({
1601
+ load: async () => {
1602
+ const items = this.columns();
1603
+ return {
1604
+ items: items,
1605
+ total: items.length,
1606
+ };
1607
+ },
1608
+ pageSize: 100,
1609
+ });
1610
+ }, ...(ngDevMode ? [{ debugName: "columnsDataSource" }] : []));
1611
+ this.selectedColumn = computed(() => {
1612
+ const columnName = this.getValue()?.columnName;
1613
+ if (!columnName)
1614
+ return null;
1615
+ return this.columns().find(col => col.name === columnName);
1616
+ }, ...(ngDevMode ? [{ debugName: "selectedColumn" }] : []));
1617
+ this.filterWidgetNode = computed(() => {
1618
+ const column = this.selectedColumn();
1619
+ if (!column)
1620
+ return null;
1621
+ const widgetType = this.getWidgetTypeForColumn(column.type);
1622
+ return {
1623
+ type: widgetType,
1624
+ defaultValue: this.getValue()?.value,
1625
+ path: 'value',
1626
+ name: 'value',
1627
+ options: {
1628
+ placeholder: `Enter ${column.title}`,
1629
+ disabled: this.disabled()
1630
+ }
1631
+ };
1632
+ }, ...(ngDevMode ? [{ debugName: "filterWidgetNode" }] : []));
1633
+ //#endregion
1634
+ //#region ---- Lifecycle ----
1635
+ //Update parent value when selections change
1636
+ this.#effect = effect(() => {
1637
+ const columnName = this.getValue()?.columnName;
1638
+ const value = this.getValue()?.value;
1639
+ console.log(columnName, value);
1640
+ this.setValue({
1641
+ columnName: columnName || undefined,
1642
+ value: value
1643
+ });
1644
+ }, ...(ngDevMode ? [{ debugName: "#effect" }] : []));
1645
+ }
1646
+ //#endregion
1647
+ //#region ---- Lifecycle ----
1648
+ //Update parent value when selections change
1649
+ #effect;
1650
+ //#endregion
1651
+ //#region ---- Event Handlers ----
1652
+ handleColumnChange(event) {
1653
+ this.setValue({
1654
+ columnName: event.value,
1655
+ value: undefined
1656
+ });
1657
+ }
1658
+ handleWidgetValueChange(event) {
1659
+ this.setValue({
1660
+ columnName: this.getValue()?.columnName,
1661
+ value: event.data.value
1662
+ });
1663
+ }
1664
+ //#endregion
1665
+ //#region ---- Utility Methods ----
1666
+ getWidgetTypeForColumn(columnType) {
1667
+ // Map column types to appropriate widget types
1668
+ //TODO default value need object
1669
+ let type = columnType;
1670
+ if (typeof columnType === 'object' && columnType !== null && 'name' in columnType) {
1671
+ type = columnType['name'];
1672
+ }
1673
+ switch (type) {
1674
+ case 'text-editor':
1675
+ case 'large-text-editor':
1676
+ case 'string':
1677
+ return 'string-filter';
1678
+ case 'number-editor':
1679
+ case 'number':
1680
+ return 'number-filter';
1681
+ case 'date-time-editor':
1682
+ case 'datetime':
1683
+ case 'date':
1684
+ return 'datetime-filter';
1685
+ case 'select-editor':
1686
+ case 'select':
1687
+ return 'select-filter';
1688
+ case 'checkbox-editor':
1689
+ case 'toggle-editor':
1690
+ case 'boolean':
1691
+ return 'boolean-filter';
1692
+ case 'color-editor':
1693
+ return 'color-filter';
1694
+ default:
1695
+ return 'text-editor'; // Default fallback
1696
+ }
1697
+ }
1698
+ //#endregion
1699
+ //#region ---- Host Binding ----
1700
+ get __hostClass() {
1701
+ return 'axm-column-filter-selector-widget-edit';
1702
+ }
1703
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1704
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXMColumnFilterSelectorWidgetEditComponent, isStandalone: true, selector: "axm-column-filter-selector-widget-edit", host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: `
1705
+ <div class="ax-flex ax-gap-4 ax-w-full ax-items-center">
1706
+ <axp-widgets-container
1707
+ [context]="getValue()"
1708
+ (onContextChanged)="handleWidgetValueChange($event)">
1709
+ <ax-select-box
1710
+ [placeholder]="'Select Column'"
1711
+ [dataSource]="columnsDataSource()"
1712
+ [valueField]="'name'"
1713
+ [textField]="'title'"
1714
+ [ngModel]="getValue().columnName"
1715
+ [disabled]="disabled()"
1716
+ (onValueChanged)="handleColumnChange($event)"
1717
+ >
1718
+ <ax-clear-button></ax-clear-button>
1719
+ </ax-select-box>
1720
+
1721
+
1722
+ @if (filterWidgetNode()) {
1723
+
1724
+ <ng-container
1725
+ axp-widget-renderer
1726
+ [node]="filterWidgetNode()!"
1727
+ [mode]="'edit'">
1728
+ </ng-container>
1729
+ }
1730
+ </axp-widgets-container>
1731
+ </div>
1732
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i4.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i4.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1733
+ }
1734
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetEditComponent, decorators: [{
1735
+ type: Component,
1736
+ args: [{
1737
+ selector: 'axm-column-filter-selector-widget-edit',
1738
+ template: `
1739
+ <div class="ax-flex ax-gap-4 ax-w-full ax-items-center">
1740
+ <axp-widgets-container
1741
+ [context]="getValue()"
1742
+ (onContextChanged)="handleWidgetValueChange($event)">
1743
+ <ax-select-box
1744
+ [placeholder]="'Select Column'"
1745
+ [dataSource]="columnsDataSource()"
1746
+ [valueField]="'name'"
1747
+ [textField]="'title'"
1748
+ [ngModel]="getValue().columnName"
1749
+ [disabled]="disabled()"
1750
+ (onValueChanged)="handleColumnChange($event)"
1751
+ >
1752
+ <ax-clear-button></ax-clear-button>
1753
+ </ax-select-box>
1754
+
1755
+
1756
+ @if (filterWidgetNode()) {
1757
+
1758
+ <ng-container
1759
+ axp-widget-renderer
1760
+ [node]="filterWidgetNode()!"
1761
+ [mode]="'edit'">
1762
+ </ng-container>
1763
+ }
1764
+ </axp-widgets-container>
1765
+ </div>
1766
+ `,
1767
+ changeDetection: ChangeDetectionStrategy.OnPush,
1768
+ imports: [
1769
+ CommonModule,
1770
+ FormsModule,
1771
+ AXSelectBoxModule,
1772
+ AXDecoratorModule,
1773
+ AXPLayoutBuilderModule
1774
+ ],
1775
+ }]
1776
+ }], propDecorators: { __hostClass: [{
1777
+ type: HostBinding,
1778
+ args: ['class']
1779
+ }] } });
1780
+
1781
+ var columnFilterSelectorWidgetEdit_component = /*#__PURE__*/Object.freeze({
1782
+ __proto__: null,
1783
+ AXMColumnFilterSelectorWidgetEditComponent: AXMColumnFilterSelectorWidgetEditComponent
1784
+ });
1785
+
1786
+ class AXMColumnFilterSelectorWidgetViewComponent extends AXPValueWidgetComponent {
1787
+ constructor() {
1788
+ super(...arguments);
1789
+ //#region ---- Computed Properties ----
1790
+ this.currentValue = computed(() => this.getValue(), ...(ngDevMode ? [{ debugName: "currentValue" }] : []));
1791
+ this.displayValue = computed(() => {
1792
+ const value = this.currentValue()?.value;
1793
+ if (value === null || value === undefined) {
1794
+ return '';
1795
+ }
1796
+ return ` ${value.operation.type} ${value.value}`;
1797
+ }, ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
1798
+ }
1799
+ //#endregion
1800
+ //#region ---- Host Binding ----
1801
+ get __hostClass() {
1802
+ return 'axm-column-filter-selector-widget';
1803
+ }
1804
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1805
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXMColumnFilterSelectorWidgetViewComponent, isStandalone: true, selector: "axm-column-filter-selector-widget-view", host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: `
1806
+ <div class="__content">
1807
+ @if (currentValue()) {
1808
+ <div class="__filter-display">
1809
+ <span class="__column-name">{{ currentValue().columnName }}</span>
1810
+ <span class="__separator">:</span>
1811
+ <span class="__filter-value">{{ displayValue() }}</span>
1812
+ </div>
1813
+ } @else {
1814
+ <span class="__empty">No filter selected</span>
1815
+ }
1816
+ </div>
1817
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1818
+ }
1819
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetViewComponent, decorators: [{
1820
+ type: Component,
1821
+ args: [{
1822
+ selector: 'axm-column-filter-selector-widget-view',
1823
+ template: `
1824
+ <div class="__content">
1825
+ @if (currentValue()) {
1826
+ <div class="__filter-display">
1827
+ <span class="__column-name">{{ currentValue().columnName }}</span>
1828
+ <span class="__separator">:</span>
1829
+ <span class="__filter-value">{{ displayValue() }}</span>
1830
+ </div>
1831
+ } @else {
1832
+ <span class="__empty">No filter selected</span>
1833
+ }
1834
+ </div>
1835
+ `,
1836
+ changeDetection: ChangeDetectionStrategy.OnPush,
1837
+ imports: [],
1838
+ }]
1839
+ }], propDecorators: { __hostClass: [{
1840
+ type: HostBinding,
1841
+ args: ['class']
1842
+ }] } });
1843
+
1844
+ var columnFilterSelectorWidgetView_component = /*#__PURE__*/Object.freeze({
1845
+ __proto__: null,
1846
+ AXMColumnFilterSelectorWidgetViewComponent: AXMColumnFilterSelectorWidgetViewComponent
1847
+ });
1848
+
1849
+ class AXMColumnFilterSelectorWidgetColumnComponent extends AXPValueWidgetComponent {
1850
+ constructor() {
1851
+ super(...arguments);
1852
+ //#region ---- Computed Properties ----
1853
+ this.currentValue = computed(() => this.getValue(), ...(ngDevMode ? [{ debugName: "currentValue" }] : []));
1854
+ this.displayValue = computed(() => {
1855
+ const value = this.currentValue()?.value;
1856
+ if (value === null || value === undefined) {
1857
+ return '';
1858
+ }
1859
+ if (typeof value === 'boolean') {
1860
+ return value ? 'Yes' : 'No';
1861
+ }
1862
+ if (typeof value === 'string' && value.length > 20) {
1863
+ return value.substring(0, 20) + '...';
1864
+ }
1865
+ return String(value);
1866
+ }, ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
1867
+ }
1868
+ //#endregion
1869
+ //#region ---- Host Binding ----
1870
+ get __hostClass() {
1871
+ return 'axm-column-filter-selector-widget';
1872
+ }
1873
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1874
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXMColumnFilterSelectorWidgetColumnComponent, isStandalone: true, selector: "axm-column-filter-selector-widget-column", host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: `
1875
+ @if (currentValue().columnName) {
1876
+ <span class="__column-filter">{{ currentValue().columnName }}: {{ displayValue() }}</span>
1877
+ } @else {
1878
+ <span class="__empty">-</span>
1879
+ }
1880
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1881
+ }
1882
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetColumnComponent, decorators: [{
1883
+ type: Component,
1884
+ args: [{
1885
+ selector: 'axm-column-filter-selector-widget-column',
1886
+ template: `
1887
+ @if (currentValue().columnName) {
1888
+ <span class="__column-filter">{{ currentValue().columnName }}: {{ displayValue() }}</span>
1889
+ } @else {
1890
+ <span class="__empty">-</span>
1891
+ }
1892
+ `,
1893
+ changeDetection: ChangeDetectionStrategy.OnPush,
1894
+ imports: [],
1895
+ }]
1896
+ }], propDecorators: { __hostClass: [{
1897
+ type: HostBinding,
1898
+ args: ['class']
1899
+ }] } });
1900
+
1901
+ var columnFilterSelectorWidgetColumn_component = /*#__PURE__*/Object.freeze({
1902
+ __proto__: null,
1903
+ AXMColumnFilterSelectorWidgetColumnComponent: AXMColumnFilterSelectorWidgetColumnComponent
1904
+ });
1905
+
1906
+ class AXMColumnFilterSelectorWidgetFilterComponent extends AXPValueWidgetComponent {
1907
+ //#region ---- Event Handlers ----
1908
+ handleValueChange(event) {
1909
+ const currentValue = this.getValue() || {};
1910
+ this.setValue({
1911
+ ...currentValue,
1912
+ columnName: event.value
1913
+ });
1914
+ }
1915
+ //#endregion
1916
+ //#region ---- Host Binding ----
1917
+ get __hostClass() {
1918
+ return 'axm-column-filter-selector-widget';
1919
+ }
1920
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1921
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AXMColumnFilterSelectorWidgetFilterComponent, isStandalone: true, selector: "axm-column-filter-selector-widget-filter", host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: `
1922
+ <ax-text-box
1923
+ [placeholder]="'Filter by column name...'"
1924
+ [ngModel]="getValue().columnName"
1925
+ (onValueChanged)="handleValueChange($event)"
1926
+ >
1927
+ <ax-clear-button></ax-clear-button>
1928
+ </ax-text-box>
1929
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "component", type: i2$1.AXTextBoxComponent, selector: "ax-text-box", inputs: ["disabled", "tabIndex", "readonly", "value", "state", "name", "id", "placeholder", "maxLength", "allowNull", "type", "autoComplete", "look", "mask-options", "class"], outputs: ["onBlur", "onFocus", "valueChange", "stateChange", "onValueChanged", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1930
+ }
1931
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetFilterComponent, decorators: [{
1932
+ type: Component,
1933
+ args: [{
1934
+ selector: 'axm-column-filter-selector-widget-filter',
1935
+ template: `
1936
+ <ax-text-box
1937
+ [placeholder]="'Filter by column name...'"
1938
+ [ngModel]="getValue().columnName"
1939
+ (onValueChanged)="handleValueChange($event)"
1940
+ >
1941
+ <ax-clear-button></ax-clear-button>
1942
+ </ax-text-box>
1943
+ `,
1944
+ changeDetection: ChangeDetectionStrategy.OnPush,
1945
+ imports: [FormsModule, AXTextBoxModule, AXDecoratorModule],
1946
+ }]
1947
+ }], propDecorators: { __hostClass: [{
1948
+ type: HostBinding,
1949
+ args: ['class']
1950
+ }] } });
1951
+
1952
+ var columnFilterSelectorWidgetFilter_component = /*#__PURE__*/Object.freeze({
1953
+ __proto__: null,
1954
+ AXMColumnFilterSelectorWidgetFilterComponent: AXMColumnFilterSelectorWidgetFilterComponent
1955
+ });
1956
+
1957
+ class AXMColumnFilterSelectorWidgetPrintComponent extends AXPValueWidgetComponent {
1958
+ constructor() {
1959
+ super(...arguments);
1960
+ //#region ---- Computed Properties ----
1961
+ this.currentValue = computed(() => this.getValue(), ...(ngDevMode ? [{ debugName: "currentValue" }] : []));
1962
+ this.displayValue = computed(() => {
1963
+ const value = this.currentValue()?.value;
1964
+ if (value === null || value === undefined) {
1965
+ return 'No value';
1966
+ }
1967
+ if (typeof value === 'boolean') {
1968
+ return value ? 'Yes' : 'No';
1969
+ }
1970
+ return String(value);
1971
+ }, ...(ngDevMode ? [{ debugName: "displayValue" }] : []));
1972
+ }
1973
+ //#endregion
1974
+ //#region ---- Host Binding ----
1975
+ get __hostClass() {
1976
+ return 'axm-column-filter-selector-widget';
1977
+ }
1978
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetPrintComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1979
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXMColumnFilterSelectorWidgetPrintComponent, isStandalone: true, selector: "axm-column-filter-selector-widget-print", host: { properties: { "class": "this.__hostClass" } }, usesInheritance: true, ngImport: i0, template: `
1980
+ @if (currentValue().columnName) {
1981
+ <div class="__print-content">
1982
+ <strong>{{ currentValue().columnName }}:</strong> {{ displayValue() }}
1983
+ </div>
1984
+ }
1985
+ `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1986
+ }
1987
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMColumnFilterSelectorWidgetPrintComponent, decorators: [{
1988
+ type: Component,
1989
+ args: [{
1990
+ selector: 'axm-column-filter-selector-widget-print',
1991
+ template: `
1992
+ @if (currentValue().columnName) {
1993
+ <div class="__print-content">
1994
+ <strong>{{ currentValue().columnName }}:</strong> {{ displayValue() }}
1995
+ </div>
1996
+ }
1997
+ `,
1998
+ changeDetection: ChangeDetectionStrategy.OnPush,
1999
+ imports: [],
2000
+ }]
2001
+ }], propDecorators: { __hostClass: [{
2002
+ type: HostBinding,
2003
+ args: ['class']
2004
+ }] } });
2005
+
2006
+ var columnFilterSelectorWidgetPrint_component = /*#__PURE__*/Object.freeze({
2007
+ __proto__: null,
2008
+ AXMColumnFilterSelectorWidgetPrintComponent: AXMColumnFilterSelectorWidgetPrintComponent
2009
+ });
2010
+
2011
+ class AXMQueryService extends AXMEntityCrudServiceImpl {
2012
+ }
2013
+ class AXMQueryServiceImpl extends AXMQueryService {
2014
+ constructor() {
2015
+ super(`${RootConfig.module.name}.${RootConfig.entities.query.name}`);
2016
+ }
2017
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMQueryServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2018
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMQueryServiceImpl }); }
2019
+ }
2020
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMQueryServiceImpl, decorators: [{
2021
+ type: Injectable
2022
+ }], ctorParameters: () => [] });
2023
+
2024
+ async function queryFactory(injector) {
2025
+ const dataService = injector.get(AXMQueryService);
2026
+ const dataSourceService = injector.get(AXMDataSourceService);
2027
+ const i18n = RootConfig.config.i18n;
2028
+ const entityDef = {
2029
+ module: RootConfig.module.name,
2030
+ name: RootConfig.entities.query.name,
2031
+ source: '',
2032
+ title: RootConfig.entities.query.title,
2033
+ formats: {
2034
+ individual: RootConfig.entities.query.title,
2035
+ plural: RootConfig.entities.query.titlePlural,
2036
+ searchResult: {
2037
+ title: '{{ title }}',
2038
+ description: RootConfig.module.title,
2039
+ },
2040
+ },
2041
+ relatedEntities: [],
2042
+ category: {
2043
+ entity: `${RootConfig.module.name}.${RootConfig.entities.queryCategory.name}`,
2044
+ title: 'Categories',
2045
+ textField: 'title',
2046
+ valueField: 'id',
2047
+ applyConditions: [
2048
+ {
2049
+ name: 'categoryIds',
2050
+ operator: {
2051
+ type: 'contains',
2052
+ },
2053
+ value: 'id',
2054
+ },
2055
+ ],
2056
+ },
2057
+ groups: [
2058
+ {
2059
+ id: 'section',
2060
+ title: RootConfig.entities.query.title,
2061
+ },
2062
+ ],
2063
+ properties: [
2064
+ {
2065
+ name: 'name',
2066
+ title: `t("name", { scope: "common" })`,
2067
+ groupId: 'section',
2068
+ options: {
2069
+ sort: {
2070
+ enabled: true,
2071
+ },
2072
+ filter: {
2073
+ advance: {
2074
+ enabled: true,
2075
+ },
2076
+ inline: {
2077
+ enabled: false,
2078
+ },
2079
+ },
2080
+ },
2081
+ schema: {
2082
+ dataType: 'string',
2083
+ interface: {
2084
+ type: AXPWidgetsCatalog.text,
2085
+ },
2086
+ },
2087
+ validations: [
2088
+ {
2089
+ rule: 'required',
2090
+ },
2091
+ ],
2092
+ },
2093
+ {
2094
+ name: 'title',
2095
+ title: `t("title", { scope: "common" })`,
2096
+ groupId: 'section',
2097
+ options: {
2098
+ sort: {
2099
+ enabled: true,
2100
+ },
2101
+ filter: {
2102
+ advance: {
2103
+ enabled: true,
2104
+ },
2105
+ inline: {
2106
+ enabled: false,
2107
+ },
2108
+ },
2109
+ },
2110
+ schema: {
2111
+ dataType: 'string',
2112
+ interface: {
2113
+ type: AXPWidgetsCatalog.text,
2114
+ },
2115
+ },
2116
+ validations: [
2117
+ {
2118
+ rule: 'required',
2119
+ },
2120
+ ],
2121
+ },
2122
+ {
2123
+ name: 'categoryIds',
2124
+ title: `t("category", { scope: "common" })`,
2125
+ groupId: 'section',
2126
+ schema: {
2127
+ dataType: 'string',
2128
+ interface: {
2129
+ type: AXPWidgetsCatalog.lookup,
2130
+ options: {
2131
+ entity: `${RootConfig.module.name}.${RootConfig.entities.queryCategory.name}`,
2132
+ multiple: true,
2133
+ expose: [
2134
+ { source: 'id', target: 'categories.{id}' },
2135
+ { source: 'title', target: 'categories.{title}' },
2136
+ ],
2137
+ },
2138
+ },
2139
+ },
2140
+ validations: [
2141
+ {
2142
+ rule: 'required',
2143
+ },
2144
+ ],
2145
+ },
2146
+ {
2147
+ name: 'dataSource',
2148
+ title: `t("dataSource", { scope: "${i18n}" })`,
2149
+ groupId: 'section',
2150
+ schema: {
2151
+ dataType: 'string',
2152
+ interface: {
2153
+ type: AXPWidgetsCatalog.select,
2154
+ options: {
2155
+ valueField: 'name',
2156
+ textField: 'title',
2157
+ dataSource: new AXDataSource({
2158
+ load: async () => {
2159
+ const items = await dataSourceService.query({
2160
+ skip: 0,
2161
+ take: 10000,
2162
+ });
2163
+ return { total: items.total, items: items.items };
2164
+ },
2165
+ pageSize: 1000,
2166
+ }),
2167
+ multiple: false,
2168
+ },
2169
+ triggers: [
2170
+ {
2171
+ event: "{{ events.context('dataSource') }}",
2172
+ action: `{{
2173
+ var selectedDataSource = context.eval('dataSource');
2174
+ if (selectedDataSource) {
2175
+ context.set('availableColumns', selectedDataSource.columns || []);
2176
+ }
2177
+ }}`,
2178
+ },
2179
+ ],
2180
+ },
2181
+ },
2182
+ validations: [
2183
+ {
2184
+ rule: 'required',
2185
+ },
2186
+ ],
2187
+ },
2188
+ {
2189
+ name: 'query',
2190
+ title: `t("query", { scope: "${i18n}" })`,
2191
+ groupId: 'section',
2192
+ schema: {
2193
+ dataType: 'object',
2194
+ interface: {
2195
+ type: AXPWidgetsList.Editors.QueryBuilder,
2196
+ options: {
2197
+ dataSources: '{{ [context.eval("dataSource")] }}',
2198
+ availableColumns: '{{ context.eval("availableColumns") || [] }}',
2199
+ },
2200
+ },
2201
+ },
2202
+ },
2203
+ ],
2204
+ columns: [
2205
+ { name: 'name' },
2206
+ { name: 'title' },
2207
+ { name: 'categoryIds', options: { dataPath: 'categories' } },
2208
+ { name: 'dataSource' },
2209
+ { name: 'query' },
2210
+ ],
2211
+ commands: {
2212
+ create: {
2213
+ execute: async (data) => {
2214
+ console.log(data.query);
2215
+ const res = await dataService.insertOne(data);
2216
+ return { id: res };
2217
+ },
2218
+ },
2219
+ delete: {
2220
+ execute: async (id) => {
2221
+ return await dataService.deleteOne(id);
2222
+ },
2223
+ },
2224
+ update: {
2225
+ execute: async (data) => {
2226
+ return await dataService.updateOne(data.id, data);
2227
+ },
2228
+ },
2229
+ },
2230
+ queries: {
2231
+ byKey: {
2232
+ execute: async (id) => {
2233
+ return await dataService.getOne(id);
2234
+ },
2235
+ type: AXPEntityQueryType.Single,
2236
+ },
2237
+ list: {
2238
+ execute: async (e) => {
2239
+ return await dataService.query({ skip: e.skip, take: e.take, filter: e.filter });
2240
+ },
2241
+ type: AXPEntityQueryType.List,
2242
+ },
2243
+ },
2244
+ interfaces: {
2245
+ master: {
2246
+ create: {
2247
+ sections: [
2248
+ {
2249
+ id: 'section',
2250
+ },
2251
+ ],
2252
+ properties: [
2253
+ {
2254
+ name: 'name',
2255
+ layout: {
2256
+ positions: {
2257
+ lg: {
2258
+ colSpan: 6,
2259
+ order: 1,
2260
+ },
2261
+ },
2262
+ },
2263
+ },
2264
+ {
2265
+ name: 'title',
2266
+ layout: {
2267
+ positions: {
2268
+ lg: {
2269
+ colSpan: 6,
2270
+ order: 2,
2271
+ },
2272
+ },
2273
+ },
2274
+ },
2275
+ {
2276
+ name: 'categoryIds',
2277
+ layout: {
2278
+ positions: {
2279
+ lg: {
2280
+ colSpan: 6,
2281
+ order: 3,
2282
+ },
2283
+ },
2284
+ },
2285
+ },
2286
+ {
2287
+ name: 'dataSource',
2288
+ layout: {
2289
+ positions: {
2290
+ lg: {
2291
+ colSpan: 6,
2292
+ order: 4,
2293
+ },
2294
+ },
2295
+ },
2296
+ },
2297
+ {
2298
+ name: 'query',
2299
+ layout: {
2300
+ positions: {
2301
+ lg: {
2302
+ colSpan: 12,
2303
+ order: 5,
2304
+ },
2305
+ },
2306
+ },
2307
+ },
2308
+ ],
2309
+ },
2310
+ update: {
2311
+ sections: [
2312
+ {
2313
+ id: 'section',
2314
+ },
2315
+ ],
2316
+ properties: [
2317
+ {
2318
+ name: 'name',
2319
+ layout: {
2320
+ positions: {
2321
+ lg: {
2322
+ colSpan: 6,
2323
+ order: 1,
2324
+ },
2325
+ },
2326
+ },
2327
+ },
2328
+ {
2329
+ name: 'title',
2330
+ layout: {
2331
+ positions: {
2332
+ lg: {
2333
+ colSpan: 6,
2334
+ order: 2,
2335
+ },
2336
+ },
2337
+ },
2338
+ },
2339
+ {
2340
+ name: 'categoryIds',
2341
+ layout: {
2342
+ positions: {
2343
+ lg: {
2344
+ colSpan: 6,
2345
+ order: 3,
2346
+ },
2347
+ },
2348
+ },
2349
+ },
2350
+ {
2351
+ name: 'dataSource',
2352
+ layout: {
2353
+ positions: {
2354
+ lg: {
2355
+ colSpan: 6,
2356
+ order: 4,
2357
+ },
2358
+ },
2359
+ },
2360
+ },
2361
+ {
2362
+ name: 'query',
2363
+ layout: {
2364
+ positions: {
2365
+ lg: {
2366
+ colSpan: 12,
2367
+ order: 5,
2368
+ },
2369
+ },
2370
+ },
2371
+ },
2372
+ ],
2373
+ },
2374
+ single: {
2375
+ title: '{{title}}',
2376
+ sections: [
2377
+ {
2378
+ id: 'section',
2379
+ layout: {
2380
+ positions: {
2381
+ lg: {
2382
+ colSpan: 12,
2383
+ },
2384
+ },
2385
+ },
2386
+ },
2387
+ ],
2388
+ properties: [
2389
+ {
2390
+ name: 'name',
2391
+ layout: {
2392
+ positions: {
2393
+ lg: {
2394
+ colSpan: 6,
2395
+ order: 1,
2396
+ },
2397
+ },
2398
+ },
2399
+ },
2400
+ {
2401
+ name: 'title',
2402
+ layout: {
2403
+ positions: {
2404
+ lg: {
2405
+ colSpan: 6,
2406
+ order: 2,
2407
+ },
2408
+ },
2409
+ },
2410
+ },
2411
+ {
2412
+ name: 'categoryIds',
2413
+ dataPath: 'categories',
2414
+ layout: {
2415
+ positions: {
2416
+ lg: {
2417
+ colSpan: 6,
2418
+ order: 3,
2419
+ },
2420
+ },
2421
+ },
2422
+ },
2423
+ {
2424
+ name: 'dataSource',
2425
+ layout: {
2426
+ positions: {
2427
+ lg: {
2428
+ colSpan: 6,
2429
+ order: 4,
2430
+ },
2431
+ },
2432
+ },
2433
+ },
2434
+ {
2435
+ name: 'query',
2436
+ layout: {
2437
+ positions: {
2438
+ lg: {
2439
+ colSpan: 12,
2440
+ order: 5,
2441
+ },
2442
+ },
2443
+ },
2444
+ },
2445
+ ],
2446
+ actions: [],
2447
+ },
2448
+ list: {
2449
+ actions: [
2450
+ {
2451
+ title: `t("create", { scope: "common" })`,
2452
+ command: {
2453
+ name: 'create-entity',
2454
+ options: {
2455
+ layout: {
2456
+ size: 'lg',
2457
+ },
2458
+ },
2459
+ },
2460
+ priority: 'primary',
2461
+ type: 'create',
2462
+ scope: AXPEntityCommandScope.TypeLevel,
2463
+ },
2464
+ {
2465
+ title: 't("deleteItems", { scope: "common" })',
2466
+ command: 'delete-entity',
2467
+ priority: 'primary',
2468
+ type: 'delete',
2469
+ scope: AXPEntityCommandScope.Selected,
2470
+ },
2471
+ {
2472
+ title: 't("detail", { scope: "common" })',
2473
+ command: 'open-entity',
2474
+ priority: 'secondary',
2475
+ type: 'view',
2476
+ scope: AXPEntityCommandScope.Individual,
2477
+ },
2478
+ {
2479
+ title: 't("delete", { scope: "common" })',
2480
+ command: 'delete-entity',
2481
+ priority: 'secondary',
2482
+ type: 'delete',
2483
+ scope: AXPEntityCommandScope.Individual,
2484
+ },
2485
+ ],
2486
+ views: [
2487
+ createAllQueryView({
2488
+ sorts: [{ name: 'name', dir: 'asc' }],
2489
+ }),
2490
+ ],
2491
+ },
2492
+ },
2493
+ },
2494
+ };
2495
+ return entityDef;
2496
+ }
2497
+
2498
+ var query_entity = /*#__PURE__*/Object.freeze({
2499
+ __proto__: null,
2500
+ queryFactory: queryFactory
2501
+ });
2502
+
2503
+ class AXMDataSourceCategoryService extends AXMEntityCrudServiceImpl {
2504
+ }
2505
+ class AXMDataSourceCategoryServiceImpl extends AXMDataSourceCategoryService {
2506
+ constructor() {
2507
+ super(`${RootConfig.module.name}.${RootConfig.entities.dataSourceCategory.name}`);
2508
+ }
2509
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSourceCategoryServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
2510
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSourceCategoryServiceImpl }); }
2511
+ }
2512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSourceCategoryServiceImpl, decorators: [{
2513
+ type: Injectable
2514
+ }], ctorParameters: () => [] });
2515
+
2516
+ async function dataSourceCategoryFactory(injector) {
2517
+ const dataService = injector.get(AXMDataSourceCategoryService);
2518
+ const i18n = RootConfig.config.i18n;
2519
+ const entityDef = {
2520
+ module: RootConfig.module.name,
2521
+ name: RootConfig.entities.dataSourceCategory.name,
2522
+ parentKey: 'parentId',
2523
+ source: '',
2524
+ title: RootConfig.entities.dataSourceCategory.title,
2525
+ formats: {
2526
+ individual: RootConfig.entities.dataSourceCategory.title,
2527
+ plural: RootConfig.entities.dataSourceCategory.titlePlural,
2528
+ searchResult: {
2529
+ title: '{{ title }}',
2530
+ description: RootConfig.module.title,
2531
+ },
2532
+ },
2533
+ relatedEntities: [],
2534
+ groups: [
2535
+ {
2536
+ id: 'section',
2537
+ title: `t("dataSourceCategory", { scope: "${i18n}" })`,
549
2538
  },
2539
+ ],
2540
+ properties: [
550
2541
  {
551
- name: 'dataSource',
552
- title: `t("dataSource", { scope: "${i18n}" })`,
2542
+ name: 'title',
2543
+ title: `t("title", { scope: "common" })`,
553
2544
  groupId: 'section',
554
2545
  schema: {
555
2546
  dataType: 'string',
556
2547
  interface: {
557
- type: AXPWidgetsCatalog.select,
2548
+ type: AXPWidgetsCatalog.text,
558
2549
  options: {
559
- valueField: 'name',
560
- textField: 'title',
561
- dataSource: new AXDataSource({
562
- load: async () => {
563
- const items = await dataSourceService.query({
564
- skip: 0,
565
- take: 10000,
566
- });
567
- return { total: items.total, items: items.items };
568
- },
569
- pageSize: 1000,
570
- }),
571
- multiple: false,
2550
+ width: '400px',
572
2551
  },
573
- triggers: [
574
- {
575
- event: "{{ events.context('dataSource') }}",
576
- action: `{{
577
- var selectedDataSource = context.eval('dataSource');
578
- if (selectedDataSource) {
579
- context.set('availableColumns', selectedDataSource.columns || []);
580
- }
581
- }}`,
582
- },
583
- ],
584
2552
  },
585
2553
  },
586
2554
  validations: [
@@ -590,32 +2558,24 @@ async function queryFactory(injector) {
590
2558
  ],
591
2559
  },
592
2560
  {
593
- name: 'query',
594
- title: `t("query", { scope: "${i18n}" })`,
2561
+ name: 'parentId',
2562
+ title: `t("parent", { scope: "${i18n}" })`,
595
2563
  groupId: 'section',
596
2564
  schema: {
597
- dataType: 'object',
2565
+ dataType: 'string',
598
2566
  interface: {
599
- type: AXPWidgetsList.Editors.QueryBuilder,
2567
+ type: AXPWidgetsCatalog.lookup,
600
2568
  options: {
601
- dataSources: '{{ [context.eval("dataSource")] }}',
602
- availableColumns: '{{ context.eval("availableColumns") || [] }}',
2569
+ entity: `${RootConfig.module.name}.${RootConfig.entities.dataSourceCategory.name}`,
603
2570
  },
604
2571
  },
605
2572
  },
606
2573
  },
607
2574
  ],
608
- columns: [
609
- { name: 'name' },
610
- { name: 'title' },
611
- { name: 'categoryIds', options: { dataPath: 'categories' } },
612
- { name: 'dataSource' },
613
- { name: 'query' },
614
- ],
2575
+ columns: [{ name: 'title' }],
615
2576
  commands: {
616
2577
  create: {
617
2578
  execute: async (data) => {
618
- console.log(data.query);
619
2579
  const res = await dataService.insertOne(data);
620
2580
  return { id: res };
621
2581
  },
@@ -655,7 +2615,7 @@ async function queryFactory(injector) {
655
2615
  ],
656
2616
  properties: [
657
2617
  {
658
- name: 'name',
2618
+ name: 'title',
659
2619
  layout: {
660
2620
  positions: {
661
2621
  lg: {
@@ -666,7 +2626,7 @@ async function queryFactory(injector) {
666
2626
  },
667
2627
  },
668
2628
  {
669
- name: 'title',
2629
+ name: 'parentId',
670
2630
  layout: {
671
2631
  positions: {
672
2632
  lg: {
@@ -676,39 +2636,6 @@ async function queryFactory(injector) {
676
2636
  },
677
2637
  },
678
2638
  },
679
- {
680
- name: 'categoryIds',
681
- layout: {
682
- positions: {
683
- lg: {
684
- colSpan: 6,
685
- order: 3,
686
- },
687
- },
688
- },
689
- },
690
- {
691
- name: 'dataSource',
692
- layout: {
693
- positions: {
694
- lg: {
695
- colSpan: 6,
696
- order: 4,
697
- },
698
- },
699
- },
700
- },
701
- {
702
- name: 'query',
703
- layout: {
704
- positions: {
705
- lg: {
706
- colSpan: 12,
707
- order: 5,
708
- },
709
- },
710
- },
711
- },
712
2639
  ],
713
2640
  },
714
2641
  update: {
@@ -719,7 +2646,7 @@ async function queryFactory(injector) {
719
2646
  ],
720
2647
  properties: [
721
2648
  {
722
- name: 'name',
2649
+ name: 'title',
723
2650
  layout: {
724
2651
  positions: {
725
2652
  lg: {
@@ -730,7 +2657,7 @@ async function queryFactory(injector) {
730
2657
  },
731
2658
  },
732
2659
  {
733
- name: 'title',
2660
+ name: 'parentId',
734
2661
  layout: {
735
2662
  positions: {
736
2663
  lg: {
@@ -740,39 +2667,6 @@ async function queryFactory(injector) {
740
2667
  },
741
2668
  },
742
2669
  },
743
- {
744
- name: 'categoryIds',
745
- layout: {
746
- positions: {
747
- lg: {
748
- colSpan: 6,
749
- order: 3,
750
- },
751
- },
752
- },
753
- },
754
- {
755
- name: 'dataSource',
756
- layout: {
757
- positions: {
758
- lg: {
759
- colSpan: 6,
760
- order: 4,
761
- },
762
- },
763
- },
764
- },
765
- {
766
- name: 'query',
767
- layout: {
768
- positions: {
769
- lg: {
770
- colSpan: 12,
771
- order: 5,
772
- },
773
- },
774
- },
775
- },
776
2670
  ],
777
2671
  },
778
2672
  single: {
@@ -791,7 +2685,7 @@ async function queryFactory(injector) {
791
2685
  ],
792
2686
  properties: [
793
2687
  {
794
- name: 'name',
2688
+ name: 'title',
795
2689
  layout: {
796
2690
  positions: {
797
2691
  lg: {
@@ -802,7 +2696,7 @@ async function queryFactory(injector) {
802
2696
  },
803
2697
  },
804
2698
  {
805
- name: 'title',
2699
+ name: 'parentId',
806
2700
  layout: {
807
2701
  positions: {
808
2702
  lg: {
@@ -812,40 +2706,6 @@ async function queryFactory(injector) {
812
2706
  },
813
2707
  },
814
2708
  },
815
- {
816
- name: 'categoryIds',
817
- dataPath: 'categories',
818
- layout: {
819
- positions: {
820
- lg: {
821
- colSpan: 6,
822
- order: 3,
823
- },
824
- },
825
- },
826
- },
827
- {
828
- name: 'dataSource',
829
- layout: {
830
- positions: {
831
- lg: {
832
- colSpan: 6,
833
- order: 4,
834
- },
835
- },
836
- },
837
- },
838
- {
839
- name: 'query',
840
- layout: {
841
- positions: {
842
- lg: {
843
- colSpan: 12,
844
- order: 5,
845
- },
846
- },
847
- },
848
- },
849
2709
  ],
850
2710
  actions: [],
851
2711
  },
@@ -853,14 +2713,7 @@ async function queryFactory(injector) {
853
2713
  actions: [
854
2714
  {
855
2715
  title: `t("create", { scope: "common" })`,
856
- command: {
857
- name: 'create-entity',
858
- options: {
859
- layout: {
860
- size: 'lg',
861
- },
862
- },
863
- },
2716
+ command: 'create-entity',
864
2717
  priority: 'primary',
865
2718
  type: 'create',
866
2719
  scope: AXPEntityCommandScope.TypeLevel,
@@ -889,7 +2742,7 @@ async function queryFactory(injector) {
889
2742
  ],
890
2743
  views: [
891
2744
  createAllQueryView({
892
- sorts: [{ name: 'name', dir: 'asc' }],
2745
+ sorts: [{ name: 'title', dir: 'asc' }],
893
2746
  }),
894
2747
  ],
895
2748
  },
@@ -899,9 +2752,9 @@ async function queryFactory(injector) {
899
2752
  return entityDef;
900
2753
  }
901
2754
 
902
- var query_entity = /*#__PURE__*/Object.freeze({
2755
+ var dataSourceCategory_entity = /*#__PURE__*/Object.freeze({
903
2756
  __proto__: null,
904
- queryFactory: queryFactory
2757
+ dataSourceCategoryFactory: dataSourceCategoryFactory
905
2758
  });
906
2759
 
907
2760
  const AXPQueryBuilderWidget = {
@@ -950,16 +2803,16 @@ class AXPQueryBuilderConditionComponent {
950
2803
  constructor() {
951
2804
  this.itemChange = new EventEmitter();
952
2805
  this.removeItem = new EventEmitter();
953
- this.context = signal({});
2806
+ this.context = signal({}, ...(ngDevMode ? [{ debugName: "context" }] : []));
954
2807
  //#endregion
955
2808
  //#region ---- Signals ----
956
- this.selectedField = signal(null);
2809
+ this.selectedField = signal(null, ...(ngDevMode ? [{ debugName: "selectedField" }] : []));
957
2810
  this.filterNode = signal({
958
2811
  name: 'filter',
959
2812
  path: 'filter',
960
2813
  type: `string-filter`,
961
2814
  mode: 'edit'
962
- });
2815
+ }, ...(ngDevMode ? [{ debugName: "filterNode" }] : []));
963
2816
  }
964
2817
  ngOnInit() {
965
2818
  this.selectedField.set({
@@ -1025,10 +2878,10 @@ class AXPQueryBuilderConditionComponent {
1025
2878
  onRemoveClick() {
1026
2879
  this.removeItem.emit(this.item.id);
1027
2880
  }
1028
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderConditionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1029
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", type: AXPQueryBuilderConditionComponent, isStandalone: true, selector: "axp-query-builder-condition", inputs: { item: "item", availableFields: "availableFields" }, outputs: { itemChange: "itemChange", removeItem: "removeItem" }, ngImport: i0, template: "<div class=\"__condition-card\">\n <div class=\"__condition-content\">\n <!-- Field -->\n <div class=\"__field-group\">\n <label class=\"__field-label\">Field</label>\n <ax-select-box\n [dataSource]=\"availableFields\"\n (onValueChanged)=\"onFieldChange($event)\"\n valueField=\"value\"\n textField=\"field\"\n placeholder=\"Select field\"\n >\n </ax-select-box>\n </div>\n\n <!-- render -->\n <div class=\"__field-group\">\n <label class=\"__field-label\">Value</label>\n <axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [context]=\"context()\" (onContextChanged)='onContextChange($event)'>\n <ng-container axp-widget-renderer [node]=\"filterNode()\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"__condition-actions\">\n <ax-button [look]=\"'blank'\" [color]=\"'danger'\" (onClick)=\"onRemoveClick()\">\n <ax-icon class=\"fa-light fa-trash\"></ax-icon>\n </ax-button>\n </div>\n</div>\n", styles: [".__condition-card{display:flex;align-items:center;align-content:center;gap:.5rem;padding:.75rem;background-color:var(--ax-form-field-background);border:1px solid var(--ax-form-field-border-color);border-radius:var(--ax-form-field-border-radius);width:100%}.__condition-content{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;flex-grow:1}.__field-group{display:flex;flex-direction:column;gap:.25rem}.__field-label{font-size:.75rem;color:var(--ax-text-color-secondary);font-weight:500}.__condition-actions{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i4$1.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i4$1.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2881
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderConditionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
2882
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AXPQueryBuilderConditionComponent, isStandalone: true, selector: "axp-query-builder-condition", inputs: { item: "item", availableFields: "availableFields" }, outputs: { itemChange: "itemChange", removeItem: "removeItem" }, ngImport: i0, template: "<div class=\"__condition-card\">\n <div class=\"__condition-content\">\n <!-- Field -->\n <div class=\"__field-group\">\n <label class=\"__field-label\">Field</label>\n <ax-select-box\n [dataSource]=\"availableFields\"\n (onValueChanged)=\"onFieldChange($event)\"\n valueField=\"value\"\n textField=\"field\"\n placeholder=\"Select field\"\n >\n </ax-select-box>\n </div>\n\n <!-- render -->\n <div class=\"__field-group\">\n <label class=\"__field-label\">Value</label>\n <axp-widgets-container class=\"ax-flex ax-flex-col ax-gap-2 ax-p-4\" [context]=\"context()\" (onContextChanged)='onContextChange($event)'>\n <ng-container axp-widget-renderer [node]=\"filterNode()\" [mode]=\"'edit'\"> </ng-container>\n </axp-widgets-container>\n </div>\n </div>\n\n <!-- Actions -->\n <div class=\"__condition-actions\">\n <ax-button [look]=\"'blank'\" [color]=\"'danger'\" (onClick)=\"onRemoveClick()\">\n <ax-icon class=\"fa-light fa-trash\"></ax-icon>\n </ax-button>\n </div>\n</div>\n", styles: [".__condition-card{display:flex;align-items:center;align-content:center;gap:.5rem;padding:.75rem;background-color:var(--ax-form-field-background);border:1px solid var(--ax-form-field-border-color);border-radius:var(--ax-form-field-border-radius);width:100%}.__condition-content{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;flex-grow:1}.__field-group{display:flex;flex-direction:column;gap:.25rem}.__field-label{font-size:.75rem;color:var(--ax-text-color-secondary);font-weight:500}.__condition-actions{display:flex;align-items:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i4.AXPWidgetContainerComponent, selector: "axp-widgets-container", inputs: ["context", "functions"], outputs: ["onContextChanged"] }, { kind: "directive", type: i4.AXPWidgetRendererDirective, selector: "[axp-widget-renderer]", inputs: ["parentNode", "index", "mode", "node"], outputs: ["onOptionsChanged", "onValueChanged"], exportAs: ["widgetRenderer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1030
2883
  }
1031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderConditionComponent, decorators: [{
2884
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderConditionComponent, decorators: [{
1032
2885
  type: Component,
1033
2886
  args: [{ selector: 'axp-query-builder-condition', standalone: true, imports: [
1034
2887
  CommonModule,
@@ -1061,10 +2914,10 @@ class AXPQueryBuilderWidgetEditComponent extends AXPValueWidgetComponent {
1061
2914
  type: 'group',
1062
2915
  logic: 'and',
1063
2916
  filters: []
1064
- });
2917
+ }, ...(ngDevMode ? [{ debugName: "queryData" }] : []));
1065
2918
  //#endregion
1066
2919
  //#region ---- Data Sources ----
1067
- this.selectedDataSource = signal(null);
2920
+ this.selectedDataSource = signal(null, ...(ngDevMode ? [{ debugName: "selectedDataSource" }] : []));
1068
2921
  this.logicalOperators = [
1069
2922
  { value: 'and', text: 'And' },
1070
2923
  { value: 'or', text: 'Or' }
@@ -1073,7 +2926,7 @@ class AXPQueryBuilderWidgetEditComponent extends AXPValueWidgetComponent {
1073
2926
  // Get data sources from options or parent context
1074
2927
  const dataSources = this.options()['dataSources'] || [];
1075
2928
  return dataSources;
1076
- });
2929
+ }, ...(ngDevMode ? [{ debugName: "availableDataSources" }] : []));
1077
2930
  this.availableFields = computed(() => {
1078
2931
  // Get columns from options (passed from entity context)
1079
2932
  const columns = this.options()['availableColumns'] || [];
@@ -1082,7 +2935,7 @@ class AXPQueryBuilderWidgetEditComponent extends AXPValueWidgetComponent {
1082
2935
  text: column.title || column.name,
1083
2936
  type: column.type || 'string'
1084
2937
  }));
1085
- });
2938
+ }, ...(ngDevMode ? [{ debugName: "availableFields" }] : []));
1086
2939
  this.initializeFromValue();
1087
2940
  }
1088
2941
  //#endregion
@@ -1409,8 +3262,8 @@ class AXPQueryBuilderWidgetEditComponent extends AXPValueWidgetComponent {
1409
3262
  this.reorderGroupItems(parentId, index, index + 1);
1410
3263
  }
1411
3264
  }
1412
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1413
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPQueryBuilderWidgetEditComponent, isStandalone: true, selector: "axp-query-builder-widget-edit", usesInheritance: true, ngImport: i0, template: `
3265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetEditComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXPQueryBuilderWidgetEditComponent, isStandalone: true, selector: "axp-query-builder-widget-edit", usesInheritance: true, ngImport: i0, template: `
1414
3267
  <div class="__query-builder">
1415
3268
  <div class="__header">
1416
3269
  <div class="__title">
@@ -1665,9 +3518,9 @@ class AXPQueryBuilderWidgetEditComponent extends AXPValueWidgetComponent {
1665
3518
  </div>
1666
3519
  </div>
1667
3520
  </ng-template>
1668
- `, isInline: true, styles: [".__query-builder{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.__query-builder .__header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #eef2ff var(--tw-gradient-to-position);padding:1rem}.__query-builder .__header .__title{display:flex;align-items:center;gap:.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.__query-builder .__header .__title i{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.__query-builder .__header .__actions{display:flex;gap:.5rem}.__query-builder .__query-content{padding:1rem}.__query-builder .__query-content .__empty-state{display:flex;min-height:10rem;align-items:center;justify-content:center;text-align:center}.__query-builder .__query-content .__empty-state .__empty-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.__query-builder .__query-content .__empty-state .__empty-content i{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__empty-state .__empty-content p{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__empty-state .__empty-content .__empty-actions{display:flex;gap:.5rem}.__query-builder .__query-content .__root-group{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1));padding:1rem}.__query-builder .__query-content .__root-group .__group-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.__query-builder .__query-content .__root-group .__group-header .__group-operator{display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__root-group .__group-header .__group-operator label{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__root-group .__group-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.__query-builder .__query-content .__root-group .__group-content.ax-drop-list-receiving{border-radius:.5rem;border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__root-group .__group-content .__query-item{display:flex;align-items:flex-start;gap:.75rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.__query-builder .__query-content .__root-group .__group-content .__query-item.ax-drag-preview{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem;--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.__query-builder .__query-content .__root-group .__group-content .__query-item.ax-drag-disabled .__item-controls .__drag-handle{cursor:not-allowed;opacity:.5}.__query-builder .__query-content .__query-item{position:relative}.__query-builder .__query-content .__query-item.ax-drag-preview{--tw-rotate: 2deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:.8;--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)}.__query-builder .__query-content .__query-item.ax-drag-placeholder{border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));opacity:.5}.__query-builder .__query-content .__query-item .__item-controls{margin-right:.75rem;display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__query-item .__item-controls .__drag-handle{cursor:move;padding:.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.__query-builder .__query-content .__query-item .__item-controls .__drag-handle:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__query-item .__item-controls .__move-controls{display:flex;flex-direction:column;gap:.25rem}.__query-builder .__query-content .__query-item .__item-content{flex:1 1 0%}.__query-builder .__query-content .__query-item .__item-connector{display:flex;justify-content:center;padding-top:.5rem;padding-bottom:.5rem}.__query-builder .__query-content .__query-item .__item-connector .__operator-badge{border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__condition-card{display:flex;align-items:flex-start;gap:1rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.__query-builder .__query-content .__condition-card .__condition-content{display:grid;flex:1 1 0%;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.__query-builder .__query-content .__condition-card .__condition-content{grid-template-columns:repeat(3,minmax(0,1fr))}}.__query-builder .__query-content .__condition-card .__condition-content .__field-group{display:flex;flex-direction:column;gap:.5rem}.__query-builder .__query-content .__condition-card .__condition-content .__field-group .__field-label{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__condition-card .__condition-actions{display:flex;align-items:center}.__query-builder .__query-content .__nested-group{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.75rem}.__query-builder .__query-content .__nested-group .__group-header{margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem}.__query-builder .__query-content .__nested-group .__group-header .__group-info{display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__nested-group .__group-header .__group-info i{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__group-header .__group-info .__group-label{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__group-header .__group-operator{display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__nested-group .__group-header .__group-actions{display:flex;align-items:center;gap:.25rem}.__query-builder .__query-content .__nested-group .__group-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.__query-builder .__query-content .__nested-group .__group-content .__group-empty{padding-top:1rem;padding-bottom:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-style:italic;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group{margin-left:1rem;--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__group-header{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__group-header .__group-info i{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__nested-group{margin-left:1rem;--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__nested-group .__group-header{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__nested-group .__group-header .__group-info i{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.__query-builder .__footer{display:flex;align-items:center;justify-content:space-between;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.__query-builder .__footer .__footer-info{display:flex;align-items:center;gap:.5rem}.__query-builder .__footer .__footer-info .__item-count{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i1.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i4.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i4.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i5.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXDragHandleDirective, selector: "[axDragHandle]" }, { kind: "directive", type: AXDropListDirective, selector: "[axDropList]", inputs: ["sortingDisabled", "dropListGroup", "dropListOrientation"], outputs: ["dropListDropped"], exportAs: ["axDropList"] }, { kind: "component", type: AXPQueryBuilderConditionComponent, selector: "axp-query-builder-condition", inputs: ["item", "availableFields"], outputs: ["itemChange", "removeItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3521
+ `, isInline: true, styles: [".__query-builder{width:100%;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.__query-builder .__header{display:flex;align-items:center;justify-content:space-between;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));background-image:linear-gradient(to right,var(--tw-gradient-stops));--tw-gradient-from: #eff6ff var(--tw-gradient-from-position);--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: #eef2ff var(--tw-gradient-to-position);padding:1rem}.__query-builder .__header .__title{display:flex;align-items:center;gap:.5rem;font-weight:600;--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.__query-builder .__header .__title i{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.__query-builder .__header .__actions{display:flex;gap:.5rem}.__query-builder .__query-content{padding:1rem}.__query-builder .__query-content .__empty-state{display:flex;min-height:10rem;align-items:center;justify-content:center;text-align:center}.__query-builder .__query-content .__empty-state .__empty-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.__query-builder .__query-content .__empty-state .__empty-content i{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__empty-state .__empty-content p{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__empty-state .__empty-content .__empty-actions{display:flex;gap:.5rem}.__query-builder .__query-content .__root-group{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1));padding:1rem}.__query-builder .__query-content .__root-group .__group-header{margin-bottom:1rem;display:flex;align-items:center;justify-content:space-between}.__query-builder .__query-content .__root-group .__group-header .__group-operator{display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__root-group .__group-header .__group-operator label{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__root-group .__group-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.__query-builder .__query-content .__root-group .__group-content.ax-drop-list-receiving{border-radius:.5rem;border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__root-group .__group-content .__query-item{display:flex;align-items:flex-start;gap:.75rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s;animation-duration:.2s}.__query-builder .__query-content .__root-group .__group-content .__query-item.ax-drag-preview{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem;--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.__query-builder .__query-content .__root-group .__group-content .__query-item.ax-drag-disabled .__item-controls .__drag-handle{cursor:not-allowed;opacity:.5}.__query-builder .__query-content .__query-item{position:relative}.__query-builder .__query-content .__query-item.ax-drag-preview{--tw-rotate: 2deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));opacity:.8;--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)}.__query-builder .__query-content .__query-item.ax-drag-placeholder{border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));opacity:.5}.__query-builder .__query-content .__query-item .__item-controls{margin-right:.75rem;display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__query-item .__item-controls .__drag-handle{cursor:move;padding:.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.__query-builder .__query-content .__query-item .__item-controls .__drag-handle:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1));border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__query-item .__item-controls .__move-controls{display:flex;flex-direction:column;gap:.25rem}.__query-builder .__query-content .__query-item .__item-content{flex:1 1 0%}.__query-builder .__query-content .__query-item .__item-connector{display:flex;justify-content:center;padding-top:.5rem;padding-bottom:.5rem}.__query-builder .__query-content .__query-item .__item-connector .__operator-badge{border-radius:9999px;border-width:1px;--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));padding:.25rem .75rem;font-size:.75rem;line-height:1rem;font-weight:600;--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__condition-card{display:flex;align-items:flex-start;gap:1rem;border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:1rem;--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.__query-builder .__query-content .__condition-card .__condition-content{display:grid;flex:1 1 0%;grid-template-columns:repeat(1,minmax(0,1fr));gap:1rem}@media (min-width: 768px){.__query-builder .__query-content .__condition-card .__condition-content{grid-template-columns:repeat(3,minmax(0,1fr))}}.__query-builder .__query-content .__condition-card .__condition-content .__field-group{display:flex;flex-direction:column;gap:.5rem}.__query-builder .__query-content .__condition-card .__condition-content .__field-group .__field-label{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__condition-card .__condition-actions{display:flex;align-items:center}.__query-builder .__query-content .__nested-group{border-radius:.5rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:.75rem}.__query-builder .__query-content .__nested-group .__group-header{margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem}.__query-builder .__query-content .__nested-group .__group-header .__group-info{display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__nested-group .__group-header .__group-info i{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__group-header .__group-info .__group-label{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__group-header .__group-operator{display:flex;align-items:center;gap:.5rem}.__query-builder .__query-content .__nested-group .__group-header .__group-actions{display:flex;align-items:center;gap:.25rem}.__query-builder .__query-content .__nested-group .__group-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.__query-builder .__query-content .__nested-group .__group-content .__group-empty{padding-top:1rem;padding-bottom:1rem;text-align:center;font-size:.875rem;line-height:1.25rem;font-style:italic;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group{margin-left:1rem;--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 247 237 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__group-header{--tw-border-opacity: 1;border-color:rgb(254 215 170 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__group-header .__group-info i{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__nested-group{margin-left:1rem;--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(250 245 255 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__nested-group .__group-header{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.__query-builder .__query-content .__nested-group .__nested-group .__nested-group .__group-header .__group-info i{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.__query-builder .__footer{display:flex;align-items:center;justify-content:space-between;border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.__query-builder .__footer .__footer-info{display:flex;align-items:center;gap:.5rem}.__query-builder .__footer .__footer-info .__item-count{font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$2.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "component", type: i2$2.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2$2.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "disabledField", "textTemplate", "selectedItems", "dataSource", "minRecordsForSearch", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth", "searchBoxAutoFocus"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTextBoxModule }, { kind: "ngmodule", type: AXFormModule }, { 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-subtitle, ax-placeholder, ax-overlay" }, { kind: "ngmodule", type: AXDropdownModule }, { kind: "component", type: i5.AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "directive", type: AXDragDirective, selector: "[axDrag]", inputs: ["dragData", "dragDisabled", "dragTransition", "dragElementClone", "dropZoneGroup", "dragStartDelay", "dragResetOnDblClick", "dragLockAxis", "dragClonedTemplate", "dragCursor", "dragBoundary", "dragTransitionDuration"], outputs: ["dragPositionChanged"] }, { kind: "directive", type: AXDragHandleDirective, selector: "[axDragHandle]" }, { kind: "directive", type: AXDropListDirective, selector: "[axDropList]", inputs: ["sortingDisabled", "dropListGroup", "dropListOrientation"], outputs: ["dropListDropped"], exportAs: ["axDropList"] }, { kind: "component", type: AXPQueryBuilderConditionComponent, selector: "axp-query-builder-condition", inputs: ["item", "availableFields"], outputs: ["itemChange", "removeItem"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1669
3522
  }
1670
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetEditComponent, decorators: [{
3523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetEditComponent, decorators: [{
1671
3524
  type: Component,
1672
3525
  args: [{ selector: 'axp-query-builder-widget-edit', template: `
1673
3526
  <div class="__query-builder">
@@ -1953,7 +3806,7 @@ class AXPQueryBuilderWidgetViewComponent extends AXPValueWidgetComponent {
1953
3806
  const value = this.getValue();
1954
3807
  console.log(value);
1955
3808
  return value;
1956
- });
3809
+ }, ...(ngDevMode ? [{ debugName: "queryData" }] : []));
1957
3810
  }
1958
3811
  //#endregion
1959
3812
  //#region ---- Public Methods ----
@@ -1973,8 +3826,8 @@ class AXPQueryBuilderWidgetViewComponent extends AXPValueWidgetComponent {
1973
3826
  const data = this.queryData();
1974
3827
  return data?.filters ? countFilters(data.filters) : 0;
1975
3828
  }
1976
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
1977
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPQueryBuilderWidgetViewComponent, isStandalone: true, selector: "axp-query-builder-widget-view", usesInheritance: true, ngImport: i0, template: `
3829
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3830
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXPQueryBuilderWidgetViewComponent, isStandalone: true, selector: "axp-query-builder-widget-view", usesInheritance: true, ngImport: i0, template: `
1978
3831
  <div class="__query-builder-view">
1979
3832
  @if (queryData().filters.length) {
1980
3833
  <div class="__query-display">
@@ -2051,7 +3904,7 @@ class AXPQueryBuilderWidgetViewComponent extends AXPValueWidgetComponent {
2051
3904
  </ng-template>
2052
3905
  `, isInline: true, styles: [".__query-builder-view{width:100%;border-radius:.375rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.__query-builder-view .__query-display{padding:.75rem}.__query-builder-view .__query-display .__root-group{border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1));padding:.75rem}.__query-builder-view .__query-display .__root-group .__group-header{margin-bottom:.75rem}.__query-builder-view .__query-display .__root-group .__group-header .__group-title{font-size:.875rem;line-height:1.25rem;font-weight:600;--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.__query-builder-view .__query-display .__root-group .__group-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.__query-builder-view .__query-display .__query-item{position:relative}.__query-builder-view .__query-display .__query-item .__item-connector{display:flex;justify-content:center;padding-top:.25rem;padding-bottom:.25rem}.__query-builder-view .__query-display .__query-item .__item-connector .__operator-badge{border-radius:9999px;--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.__query-builder-view .__query-display .__condition-display{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1));padding:.5rem}.__query-builder-view .__query-display .__condition-display .__field{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(22 101 52 / var(--tw-text-opacity, 1))}.__query-builder-view .__query-display .__condition-display .__operator{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(154 52 18 / var(--tw-text-opacity, 1))}.__query-builder-view .__query-display .__condition-display .__value{border-radius:.25rem;--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1));padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(107 33 168 / var(--tw-text-opacity, 1))}.__query-builder-view .__query-display .__group-display{border-radius:.25rem;border-width:1px;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem}.__query-builder-view .__query-display .__group-display .__group-header{margin-bottom:.5rem}.__query-builder-view .__query-display .__group-display .__group-header .__group-title{font-size:.75rem;line-height:1rem;font-weight:500;--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.__query-builder-view .__query-display .__group-display .__group-content>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.__query-builder-view .__query-display .__group-display .__group-display{--tw-border-opacity: 1;border-color:rgb(253 186 116 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(255 237 213 / var(--tw-bg-opacity, 1))}.__query-builder-view .__query-display .__group-display .__group-display .__group-display{--tw-border-opacity: 1;border-color:rgb(216 180 254 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.__query-builder-view .__summary{border-top-width:1px;--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1));padding:.5rem .75rem}.__query-builder-view .__summary .__count{font-size:.75rem;line-height:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.__query-builder-view .__empty-state{padding:1rem;text-align:center}.__query-builder-view .__empty-state .__empty-message{font-size:.875rem;line-height:1.25rem;font-style:italic;--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2053
3906
  }
2054
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetViewComponent, decorators: [{
3907
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetViewComponent, decorators: [{
2055
3908
  type: Component,
2056
3909
  args: [{ selector: 'axp-query-builder-widget-view', template: `
2057
3910
  <div class="__query-builder-view">
@@ -2144,7 +3997,7 @@ class AXPQueryBuilderWidgetColumnComponent extends AXPValueWidgetComponent {
2144
3997
  this.queryData = computed(() => {
2145
3998
  const value = this.getValue();
2146
3999
  return value;
2147
- });
4000
+ }, ...(ngDevMode ? [{ debugName: "queryData" }] : []));
2148
4001
  }
2149
4002
  //#endregion
2150
4003
  //#region ---- Public Methods ----
@@ -2164,8 +4017,8 @@ class AXPQueryBuilderWidgetColumnComponent extends AXPValueWidgetComponent {
2164
4017
  const data = this.queryData();
2165
4018
  return data?.filters ? countFilters(data.filters) : 0;
2166
4019
  }
2167
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.7", type: AXPQueryBuilderWidgetColumnComponent, isStandalone: true, selector: "axp-query-builder-widget-column", usesInheritance: true, ngImport: i0, template: `
4020
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetColumnComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4021
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXPQueryBuilderWidgetColumnComponent, isStandalone: true, selector: "axp-query-builder-widget-column", usesInheritance: true, ngImport: i0, template: `
2169
4022
  <div class="__query-builder-column">
2170
4023
  @if (queryData().filters.length) {
2171
4024
  <span class="__summary">{{ getTotalItemsCount() }} item(s)</span>
@@ -2175,7 +4028,7 @@ class AXPQueryBuilderWidgetColumnComponent extends AXPValueWidgetComponent {
2175
4028
  </div>
2176
4029
  `, isInline: true, styles: [".__query-builder-column{font-size:.875rem;line-height:1.25rem}.__query-builder-column .__summary{font-weight:500}.__query-builder-column .__summary{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.__query-builder-column .__empty{font-style:italic}.__query-builder-column .__empty{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2177
4030
  }
2178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetColumnComponent, decorators: [{
4031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetColumnComponent, decorators: [{
2179
4032
  type: Component,
2180
4033
  args: [{ selector: 'axp-query-builder-widget-column', template: `
2181
4034
  <div class="__query-builder-column">
@@ -2194,8 +4047,8 @@ var queryBuilderWidgetColumn_component = /*#__PURE__*/Object.freeze({
2194
4047
  });
2195
4048
 
2196
4049
  class AXPQueryBuilderWidgetDesignerComponent extends AXPValueWidgetComponent {
2197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
2198
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.7", type: AXPQueryBuilderWidgetDesignerComponent, isStandalone: true, selector: "axp-query-builder-widget-designer", usesInheritance: true, ngImport: i0, template: `
4050
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetDesignerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
4051
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.3", type: AXPQueryBuilderWidgetDesignerComponent, isStandalone: true, selector: "axp-query-builder-widget-designer", usesInheritance: true, ngImport: i0, template: `
2199
4052
  <div class="__query-builder-designer">
2200
4053
  <div class="__preview">
2201
4054
  <div class="__icon">
@@ -2209,7 +4062,7 @@ class AXPQueryBuilderWidgetDesignerComponent extends AXPValueWidgetComponent {
2209
4062
  </div>
2210
4063
  `, isInline: true, styles: [".__query-builder-designer{width:100%;border-radius:.5rem;border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));padding:1rem}.__query-builder-designer .__preview{display:flex}.__query-builder-designer .__preview{align-items:center}.__query-builder-designer .__preview{gap:.75rem}.__query-builder-designer .__preview .__icon{display:flex}.__query-builder-designer .__preview .__icon{height:2.5rem}.__query-builder-designer .__preview .__icon{width:2.5rem}.__query-builder-designer .__preview .__icon{align-items:center}.__query-builder-designer .__preview .__icon{justify-content:center}.__query-builder-designer .__preview .__icon{border-radius:.5rem}.__query-builder-designer .__preview .__icon{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.__query-builder-designer .__preview .__icon i{font-size:1.125rem;line-height:1.75rem}.__query-builder-designer .__preview .__icon i{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.__query-builder-designer .__preview .__content .__title{margin-bottom:.25rem}.__query-builder-designer .__preview .__content .__title{font-size:.875rem;line-height:1.25rem}.__query-builder-designer .__preview .__content .__title{font-weight:600}.__query-builder-designer .__preview .__content .__title{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.__query-builder-designer .__preview .__content .__description{font-size:.75rem;line-height:1rem}.__query-builder-designer .__preview .__content .__description{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2211
4064
  }
2212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXPQueryBuilderWidgetDesignerComponent, decorators: [{
4065
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPQueryBuilderWidgetDesignerComponent, decorators: [{
2213
4066
  type: Component,
2214
4067
  args: [{ selector: 'axp-query-builder-widget-designer', template: `
2215
4068
  <div class="__query-builder-designer">
@@ -2231,10 +4084,71 @@ var queryBuilderWidgetDesigner_component = /*#__PURE__*/Object.freeze({
2231
4084
  AXPQueryBuilderWidgetDesignerComponent: AXPQueryBuilderWidgetDesignerComponent
2232
4085
  });
2233
4086
 
4087
+ class AXMDynamicDataSourceProvider {
4088
+ constructor() {
4089
+ this.dataSourceService = inject(AXMDataSourceService);
4090
+ this.entityResolverService = inject(AXPEntityResolver);
4091
+ this.dataSourceDefinitionProviderService = inject(AXPDataSourceDefinitionProviderService);
4092
+ }
4093
+ async items() {
4094
+ const dataSources = await this.dataSourceService.query({
4095
+ skip: 0,
4096
+ take: 1000,
4097
+ });
4098
+ const mapFn = (item) => {
4099
+ return {
4100
+ ...item,
4101
+ valueField: get(item, 'valueField.name'),
4102
+ textField: get(item, 'textField.name'),
4103
+ source: async () => {
4104
+ if (item.sourceType.name == 'static') {
4105
+ return convertArrayToDataSource(item.sourceStatic);
4106
+ }
4107
+ // Entity
4108
+ else if (item.sourceType.name == 'query') {
4109
+ const definition = await this.dataSourceDefinitionProviderService.get(item.sourceEntity);
4110
+ if (definition) {
4111
+ return definition.source();
4112
+ }
4113
+ }
4114
+ //
4115
+ return convertArrayToDataSource([]);
4116
+ },
4117
+ };
4118
+ };
4119
+ const mapped = dataSources.items.map((item) => mapFn(item));
4120
+ return mapped;
4121
+ }
4122
+ }
4123
+
4124
+ class AXMQueryDataSourceProvider {
4125
+ constructor() {
4126
+ this.dataSourceDefinitionProviderService = inject(AXPDataSourceDefinitionProviderService);
4127
+ this.providers = inject(AXP_DATASOURCE_DEFINITION_PROVIDER, { optional: true });
4128
+ }
4129
+ async items() {
4130
+ const items = [];
4131
+ if (Array.isArray(this.providers)) {
4132
+ for (const provider of this.providers) {
4133
+ items.push(...(await provider.items()));
4134
+ }
4135
+ }
4136
+ const mapFn = (item) => {
4137
+ return {
4138
+ ...item,
4139
+ valueField: get(item, 'valueField.name'),
4140
+ textField: get(item, 'textField.name'),
4141
+ };
4142
+ };
4143
+ const mapped = items.map((item) => mapFn(item));
4144
+ return mapped;
4145
+ }
4146
+ }
4147
+
2234
4148
  class AXMDataManagementModule {
2235
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDataManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
2236
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.7", ngImport: i0, type: AXMDataManagementModule, imports: [i4$1.AXPLayoutBuilderModule] }); }
2237
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDataManagementModule, providers: [
4149
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
4150
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.3", ngImport: i0, type: AXMDataManagementModule, imports: [i4.AXPLayoutBuilderModule] }); }
4151
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataManagementModule, providers: [
2238
4152
  {
2239
4153
  provide: AXP_MENU_PROVIDER,
2240
4154
  useClass: AXMMenuProvider,
@@ -2267,17 +4181,35 @@ class AXMDataManagementModule {
2267
4181
  {
2268
4182
  provide: AXMQueryService,
2269
4183
  useClass: AXMQueryServiceImpl,
4184
+ },
4185
+ {
4186
+ provide: AXMDataSourceService,
4187
+ useClass: AXMDataSourceServiceImpl,
4188
+ },
4189
+ {
4190
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
4191
+ useClass: AXMDynamicDataSourceProvider,
4192
+ multi: true,
4193
+ },
4194
+ {
4195
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
4196
+ useClass: AXMQueryDataSourceProvider,
4197
+ multi: true,
4198
+ },
4199
+ {
4200
+ provide: AXMDataSourceCategoryService,
4201
+ useClass: AXMDataSourceCategoryServiceImpl,
2270
4202
  }
2271
4203
  ], imports: [AXPLayoutBuilderModule.forChild({
2272
- widgets: [AXPQueryBuilderWidget],
4204
+ widgets: [AXPQueryBuilderWidget, AXMColumnFilterSelectorWidget],
2273
4205
  })] }); }
2274
4206
  }
2275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImport: i0, type: AXMDataManagementModule, decorators: [{
4207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataManagementModule, decorators: [{
2276
4208
  type: NgModule,
2277
4209
  args: [{
2278
4210
  imports: [
2279
4211
  AXPLayoutBuilderModule.forChild({
2280
- widgets: [AXPQueryBuilderWidget],
4212
+ widgets: [AXPQueryBuilderWidget, AXMColumnFilterSelectorWidget],
2281
4213
  }),
2282
4214
  ],
2283
4215
  exports: [],
@@ -2315,6 +4247,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
2315
4247
  {
2316
4248
  provide: AXMQueryService,
2317
4249
  useClass: AXMQueryServiceImpl,
4250
+ },
4251
+ {
4252
+ provide: AXMDataSourceService,
4253
+ useClass: AXMDataSourceServiceImpl,
4254
+ },
4255
+ {
4256
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
4257
+ useClass: AXMDynamicDataSourceProvider,
4258
+ multi: true,
4259
+ },
4260
+ {
4261
+ provide: AXP_WIDGET_DATASOURCE_PROVIDER,
4262
+ useClass: AXMQueryDataSourceProvider,
4263
+ multi: true,
4264
+ },
4265
+ {
4266
+ provide: AXMDataSourceCategoryService,
4267
+ useClass: AXMDataSourceCategoryServiceImpl,
2318
4268
  }
2319
4269
  ]
2320
4270
  }]
@@ -2324,5 +4274,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
2324
4274
  * Generated bundle index. Do not edit.
2325
4275
  */
2326
4276
 
2327
- export { AXMDataManagementModule, AXMEntityProvider, AXMMenuProvider, AXMQueryCategoryService, AXMQueryCategoryServiceImpl, AXMQueryService, AXMQueryServiceImpl, AXMSearchCommandProvider, AXMSettingProvider, RootConfig, queryCategoryFactory, queryFactory };
4277
+ export { AXMColumnFilterSelectorWidget, AXMColumnFilterSelectorWidgetColumnComponent, AXMColumnFilterSelectorWidgetEditComponent, AXMColumnFilterSelectorWidgetFilterComponent, AXMColumnFilterSelectorWidgetPrintComponent, AXMColumnFilterSelectorWidgetViewComponent, AXMDataManagementModule, AXMDataSourceCategoryService, AXMDataSourceCategoryServiceImpl, AXMDataSourceOutputType, AXMDataSourceService, AXMDataSourceServiceImpl, AXMDataSourceType, AXMDynamicDataSourceProvider, AXMEntityProvider, AXMMenuProvider, AXMQueryCategoryService, AXMQueryCategoryServiceImpl, AXMQueryService, AXMQueryServiceImpl, AXMSearchCommandProvider, AXMSettingProvider, AXM_COLUMN_DEF_WIDGET, AXM_FILTER_DEF_WIDGET, AXPQueryBuilderWidget, AXPQueryBuilderWidgetColumnComponent, AXPQueryBuilderWidgetDesignerComponent, AXPQueryBuilderWidgetEditComponent, AXPQueryBuilderWidgetViewComponent, RootConfig, dataSourceCategoryFactory, dataSourceEntityFactory, queryCategoryFactory, queryFactory };
2328
4278
  //# sourceMappingURL=acorex-modules-data-management.mjs.map