@acorex/modules 20.0.25 → 20.1.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.
- package/auth/index.d.ts +57 -4
- package/common/index.d.ts +8 -1
- package/data-management/index.d.ts +401 -3
- package/fesm2022/{acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs → acorex-modules-application-management-module-designer.component-udoks-Ef.mjs} +17 -17
- package/fesm2022/acorex-modules-application-management-module-designer.component-udoks-Ef.mjs.map +1 -0
- package/fesm2022/acorex-modules-application-management.mjs +53 -53
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs → acorex-modules-auth-acorex-modules-auth-5TIjp5UG.mjs} +182 -123
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-5TIjp5UG.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs → acorex-modules-auth-app-chooser.component-B0w1Xzx7.mjs} +6 -6
- package/fesm2022/{acorex-modules-auth-app-chooser.component-D0pKNUts.mjs.map → acorex-modules-auth-app-chooser.component-B0w1Xzx7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs → acorex-modules-auth-blank.layout-C8NsXB9K.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-blank.layout-BwVSMaFI.mjs.map → acorex-modules-auth-blank.layout-C8NsXB9K.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs → acorex-modules-auth-login.module-B8sVVZHV.mjs} +8 -8
- package/fesm2022/{acorex-modules-auth-login.module-Dky49ylL.mjs.map → acorex-modules-auth-login.module-B8sVVZHV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs → acorex-modules-auth-master.layout-CMKxj1Qo.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-master.layout-DXfRjCLL.mjs.map → acorex-modules-auth-master.layout-CMKxj1Qo.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-oauth-callback.component-C95YLpI_.mjs +101 -0
- package/fesm2022/acorex-modules-auth-oauth-callback.component-C95YLpI_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs → acorex-modules-auth-password.component-DH0qKunk.mjs} +9 -9
- package/fesm2022/{acorex-modules-auth-password.component-oH5OFHqQ.mjs.map → acorex-modules-auth-password.component-DH0qKunk.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-password.component-Du0EBIiw.mjs +239 -0
- package/fesm2022/acorex-modules-auth-password.component-Du0EBIiw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs → acorex-modules-auth-routes-Q9zaIiBS.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DAiaTm4Y.mjs.map → acorex-modules-auth-routes-Q9zaIiBS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-settings.provider-CM-T8nbI.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs → acorex-modules-auth-tenant-chooser.component-wp7OOLsH.mjs} +16 -13
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-wp7OOLsH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs → acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor-code.component-UUmdX7IM.mjs.map → acorex-modules-auth-two-factor-code.component-DSWd06bn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs → acorex-modules-auth-two-factor.module-oRixkeAn.mjs} +7 -7
- package/fesm2022/{acorex-modules-auth-two-factor.module-Coe4NNUW.mjs.map → acorex-modules-auth-two-factor.module-oRixkeAn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth-user-sessions.component-8wwWI0cQ.mjs +135 -0
- package/fesm2022/acorex-modules-auth-user-sessions.component-8wwWI0cQ.mjs.map +1 -0
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-calendar-management.mjs +19 -19
- package/fesm2022/acorex-modules-calendar-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs +1667 -0
- package/fesm2022/acorex-modules-common-acorex-modules-common-DQESb8jf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs → acorex-modules-common-search-popup.component-CpFvcrxw.mjs} +13 -13
- package/fesm2022/acorex-modules-common-search-popup.component-CpFvcrxw.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-settings.provider-intHn3XI.mjs → acorex-modules-common-settings.provider-ha75F6g5.mjs} +2 -3
- package/fesm2022/acorex-modules-common-settings.provider-ha75F6g5.mjs.map +1 -0
- 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
- package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D_6STmWm.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +1 -1199
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs → acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs} +47 -222
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-CM72FkGM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-address-type.entity-CWIBwWfZ.mjs.map → acorex-modules-contact-management-address-type.entity-CW0fx3v8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-address.entity-DO6GizbS.mjs.map → acorex-modules-contact-management-contact-address.entity-D5OGWsSx.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-contact-method.entity-tEtMSV4f.mjs → acorex-modules-contact-management-contact-method.entity-Cpdd-Xwb.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-contact-management-contact-relationship.entity-C-B5aOoq.mjs → acorex-modules-contact-management-contact-relationship.entity-B_gQ7mEo.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-management-contact-source.entity-Dw8jwcox.mjs.map → acorex-modules-contact-management-contact-source.entity-BwYBaS8B.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-management-emergency-contact-category.entity-BJOOhcD1.mjs → acorex-modules-contact-management-emergency-contact-category.entity-CDbm4Rq3.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-contact-management-emergency-contact.entity-Cr7_5JKD.mjs → acorex-modules-contact-management-emergency-contact.entity-BpNDJPVs.mjs} +2 -2
- 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
- package/fesm2022/acorex-modules-contact-management.mjs +1 -1
- package/fesm2022/acorex-modules-content-management.mjs +14 -14
- package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation.mjs +123 -123
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +191 -191
- package/fesm2022/acorex-modules-dashboard-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-data-management.mjs +2215 -265
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- 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
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-B4Jd-KGV.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-attachment-widget.component-Cc0anIMV.mjs.map → acorex-modules-document-management-attachment-widget.component-Bp4kKjC4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs → acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs} +22 -22
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-12aUAucS.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-details-view.component-BeN0NPcy.mjs.map → acorex-modules-document-management-details-view.component-bzA7fJZW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs → acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs} +18 -18
- package/fesm2022/acorex-modules-document-management-drive-choose.component-DLJdJzp1.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-drive.component-CUej0GjY.mjs → acorex-modules-document-management-drive.component-DrkSd6Rv.mjs} +28 -28
- package/fesm2022/acorex-modules-document-management-drive.component-DrkSd6Rv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-large-icons-view.component-BuwrkLhe.mjs → acorex-modules-document-management-large-icons-view.component-DV8oWdDh.mjs} +5 -5
- 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
- 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
- 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
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-link-dialog.component-OTa8ttto.mjs.map → acorex-modules-document-management-link-dialog.component-CSEIhT4P.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs} +5 -5
- package/fesm2022/{acorex-modules-document-management-list-view.component-1M2rIOGv.mjs.map → acorex-modules-document-management-list-view.component-Dz6ymqrq.mjs.map} +1 -1
- 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
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DYJN-4Pe.mjs.map +1 -0
- 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
- 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
- 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
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-By_NgUX6.mjs.map +1 -0
- 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
- 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
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs} +2 -2
- package/fesm2022/{acorex-modules-document-management-permission-definition.provider-BEq3ySY3.mjs.map → acorex-modules-document-management-permission-definition.provider-CN7HVQLu.mjs.map} +1 -1
- 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
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-C_dsLLMb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs} +6 -6
- package/fesm2022/{acorex-modules-document-management-share-dialog.component-DiyR6CiE.mjs.map → acorex-modules-document-management-share-dialog.component-CBrf7hjZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-document-management-share-email-dialog.component-CKlG3YwB.mjs → acorex-modules-document-management-share-email-dialog.component-D3WcHAOf.mjs} +5 -5
- 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
- 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
- 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
- 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
- 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
- package/fesm2022/acorex-modules-document-management.mjs +1 -1
- 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
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-zz8KU2BM.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-category.entity-CC0qe4pv.mjs.map → acorex-modules-form-template-management-category.entity-g5YGQjj3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-designer.page-B14QVCAw.mjs → acorex-modules-form-template-management-designer.page-DQorNK3f.mjs} +6 -6
- package/fesm2022/acorex-modules-form-template-management-designer.page-DQorNK3f.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-permission-definition.provider-BMd6DvoR.mjs → acorex-modules-form-template-management-permission-definition.provider-BFPqDVO3.mjs} +2 -2
- 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
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-settings.provider-BYS5t4c_.mjs.map → acorex-modules-form-template-management-settings.provider-DYbrgJI7.mjs.map} +1 -1
- 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
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-DgH_DUIB.mjs.map +1 -0
- 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
- package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CCL7xNSm.mjs.map +1 -0
- package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template.entity-DTx9CejD.mjs.map → acorex-modules-form-template-management-template.entity-XNBsmQZY.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs → acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs} +12 -12
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-Bw9VbGx7.mjs.map +1 -0
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- 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
- 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
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs} +7 -7
- package/fesm2022/{acorex-modules-issue-management-capture-screen.component-CucnKDr1.mjs.map → acorex-modules-issue-management-capture-screen.component-D1vapaJC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-issue-management.mjs +1 -1
- package/fesm2022/acorex-modules-log-management.mjs +427 -479
- package/fesm2022/acorex-modules-log-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +60 -60
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs} +16 -16
- package/fesm2022/{acorex-modules-organization-management-add-item.component-Br70YGJS.mjs.map → acorex-modules-organization-management-add-item.component-DsDk5cyO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs → acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs} +80 -6
- package/fesm2022/acorex-modules-organization-management-branch.entity-CHp5WtIF.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-chart.entity-UAn44WCP.mjs.map +1 -1
- package/fesm2022/acorex-modules-organization-management-company.entity-D1A1HSkC.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-department.entity-BMojk26d.mjs → acorex-modules-organization-management-department.entity-BxCyXNtv.mjs} +68 -7
- package/fesm2022/acorex-modules-organization-management-department.entity-BxCyXNtv.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-division.entity-BnWpX4US.mjs → acorex-modules-organization-management-division.entity-DzQT2jpz.mjs} +68 -6
- package/fesm2022/acorex-modules-organization-management-division.entity-DzQT2jpz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs → acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs} +152 -28
- package/fesm2022/acorex-modules-organization-management-employee.entity-CSY_U9Bl.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs → acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs} +21 -8
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-h9Hua7Xe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs → acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs} +6 -6
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-a2JPiCy9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs → acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs} +5 -5
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-BkfSow3s.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs → acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs} +20 -20
- package/fesm2022/acorex-modules-organization-management-org-chart.page-DWQ-5NF_.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs → acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs} +20 -35
- package/fesm2022/acorex-modules-organization-management-position-category.entity-CIir9UMg.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs +526 -0
- package/fesm2022/acorex-modules-organization-management-position.entity-BpkjUsoZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs → acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs} +12 -25
- package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-tJFpEylO.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs → acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs} +70 -25
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmKSoxpL.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs → acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs} +22 -14
- package/fesm2022/acorex-modules-organization-management-role-category.entity-CAljzQcH.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-CY4TugWR.mjs → acorex-modules-organization-management-role.entity-CruQeObl.mjs} +77 -79
- package/fesm2022/acorex-modules-organization-management-role.entity-CruQeObl.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-settings.provider-hlbUXugb.mjs.map +1 -1
- package/fesm2022/{acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs → acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs} +18 -33
- package/fesm2022/acorex-modules-organization-management-skill-category.entity-iIbc-pjJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-skill.entity-D9XojzUV.mjs → acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs} +61 -22
- package/fesm2022/acorex-modules-organization-management-skill.entity-DoAsCzm9.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-mYPhrc2l.mjs → acorex-modules-organization-management-team.entity-DMCfAZsr.mjs} +58 -10
- package/fesm2022/acorex-modules-organization-management-team.entity-DMCfAZsr.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management.mjs +221 -136
- package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs → acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs} +9 -9
- package/fesm2022/acorex-modules-platform-management-list-version.component-BOfUQDwo.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management.mjs +3479 -1
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +43 -43
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs → acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs} +10 -10
- package/fesm2022/acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs.map +1 -0
- 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
- 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
- package/fesm2022/acorex-modules-report-management.mjs +465 -232
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-scheduler-job-management.mjs +14 -14
- package/fesm2022/acorex-modules-scheduler-job-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +170 -102
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs → acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs} +17 -17
- package/fesm2022/acorex-modules-settings-management-setting-page.component-cG4ykm2g.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs → acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs} +11 -11
- package/fesm2022/acorex-modules-settings-management-setting-view.component-CrEK2N1U.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +6 -6
- package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-text-template-management-settings.provider-fX0dhWUL.mjs.map +1 -1
- package/fesm2022/acorex-modules-text-template-management.mjs +24 -24
- package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-training-management.mjs +43 -43
- package/fesm2022/acorex-modules-training-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs → acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs} +123 -133
- package/fesm2022/acorex-modules-workflow-management-task-board.page-BoG_tFGn.mjs.map +1 -0
- package/fesm2022/acorex-modules-workflow-management.mjs +12 -12
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/log-management/index.d.ts +46 -19
- package/organization-management/index.d.ts +41 -13
- package/package.json +1 -1
- package/platform-management/index.d.ts +8 -277
- package/report-management/index.d.ts +180 -126
- package/security-management/index.d.ts +2 -46
- package/fesm2022/acorex-modules-application-management-module-designer.component-BvuZJdwg.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-DqsEqXec.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs +0 -134
- package/fesm2022/acorex-modules-auth-password.component-BbsQWpEh.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-tenant-chooser.component-3-FFY4tI.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs +0 -135
- package/fesm2022/acorex-modules-auth-user-sessions.component-CtTrstZT.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-search-popup.component-B_bJ0ZRM.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-timeline-version-history-popup.component-D48aDOVu.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-management-acorex-modules-contact-management-DVjMlS0K.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-acorex-modules-document-management-Bte3VGKC.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-create-folder-dialog.component-BNcu8bzT.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive-choose.component-B66wODCQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-drive.component-CUej0GjY.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-choose-popup.component-DsSo15AL.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-meta-selector-widget-designer.component-B-fYrGs1.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-rename-node-dialog.component-DWzD41AV.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-acorex-modules-form-template-management-EsaVgkdd.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-designer.page-B14QVCAw.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-picker.component-C0mLCsFT.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-template-widget-edit.component-CffnsEo2.mjs.map +0 -1
- package/fesm2022/acorex-modules-form-template-management-viewer-popup.component-BwVSDsN3.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-branch.entity-Bsgj4Pow.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-department.entity-BMojk26d.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-division.entity-BnWpX4US.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-employee.entity-DBuCVYZP.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-employment-type.entity-CWYu9tIg.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DHu4UuxD.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-CcZMGyCz.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-CSMTnTDi.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position-category.entity-DrZ9Ott4.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-position.entity-CY4TugWR.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility-category.entity-CmafbyCZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-responsibility.entity-DmLeFogS.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-role-category.entity-Cyt1dAKR.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs +0 -324
- package/fesm2022/acorex-modules-organization-management-role.entity-BDErzNv-.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-skill-category.entity-BPgGGVT3.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-skill.entity-D9XojzUV.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team.entity-mYPhrc2l.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs +0 -5524
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-BLhzWiXM.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-list-version.component-CgF5pvTa.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-settings.provider-intHn3XI.mjs.map +0 -1
- package/fesm2022/acorex-modules-report-management-report-create-root.component-DqrLa6vh.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-BbnEqXKu.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-DP8mxDK9.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-task-board.page-zaSchG-u.mjs.map +0 -1
@@ -1,37 +1,42 @@
|
|
1
1
|
import { AXPSessionService, AXPAuthGuard } from '@acorex/platform/auth';
|
2
|
-
import { AXP_REPORT_DEFINITION_PROVIDER, AXP_REPORT_CATEGORY_PROVIDER, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPLockService, AXP_MENU_PROVIDER, AXPReportDefinitionService } from '@acorex/platform/common';
|
2
|
+
import { AXP_REPORT_DEFINITION_PROVIDER, AXP_REPORT_CATEGORY_PROVIDER, createAllQueryView, AXPEntityCommandScope, AXPEntityQueryType, AXPLockService, AXP_MENU_PROVIDER, AXPReportDefinitionService, AXPieChartReportMapper } from '@acorex/platform/common';
|
3
3
|
import { AXPDomainModule, provideEntity } from '@acorex/platform/domain';
|
4
4
|
import { AXPRootLayoutComponent } from '@acorex/platform/themes/default';
|
5
5
|
import * as i0 from '@angular/core';
|
6
|
-
import { inject, Injectable, NgModule, computed,
|
6
|
+
import { inject, Injectable, NgModule, computed, viewChild, effect, ViewEncapsulation, ChangeDetectionStrategy, Component, signal, input } from '@angular/core';
|
7
7
|
import { ROUTES, ActivatedRoute, Router } from '@angular/router';
|
8
8
|
import { AXPQueryService, AXPCommandService } from '@acorex/platform/runtime';
|
9
|
-
import { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER } from '@acorex/platform/core';
|
9
|
+
import { AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, getSystemActions, applySystemActionDefault } from '@acorex/platform/core';
|
10
10
|
import * as i1 from '@acorex/platform/workflow';
|
11
11
|
import { AXPWorkflowAction, AXPWorkflowModule } from '@acorex/platform/workflow';
|
12
|
+
import * as i2 from '@acorex/platform/layout/builder';
|
12
13
|
import { AXPWidgetsCatalog, AXPPageStatus, AXPLayoutBuilderModule } from '@acorex/platform/layout/builder';
|
13
14
|
import { AXMEntityCrudServiceImpl } from '@acorex/platform/layout/entity';
|
14
|
-
import * as
|
15
|
+
import * as i1$3 from '@acorex/core/translation';
|
15
16
|
import { AXTranslationService, AXTranslationModule } from '@acorex/core/translation';
|
16
17
|
import { AXDataSource } from '@acorex/cdk/common';
|
17
|
-
import { AXMDataSourceService } from '@acorex/modules/
|
18
|
+
import { AXMDataSourceService } from '@acorex/modules/data-management';
|
18
19
|
import { AXPopupService } from '@acorex/components/popup';
|
19
20
|
import { signalStore, withState, withComputed, withMethods, patchState, withHooks } from '@ngrx/signals';
|
20
21
|
import { AXLocaleService } from '@acorex/core/locale';
|
21
22
|
import * as i2$1 from '@acorex/components/button';
|
22
23
|
import { AXButtonModule } from '@acorex/components/button';
|
23
|
-
import * as
|
24
|
+
import * as i3 from '@acorex/components/decorators';
|
24
25
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
25
|
-
import * as i3 from '@acorex/components/loading';
|
26
26
|
import { AXLoadingModule } from '@acorex/components/loading';
|
27
27
|
import { AXUnsubscriber } from '@acorex/core/utils';
|
28
28
|
import { AXPDynamicFormComponent, AXPThemeLayoutStartSideComponent, AXPThemeLayoutHeaderComponent, AXPThemeLayoutBlockComponent, AXPThemeLayoutFooterComponent } from '@acorex/platform/layout/components';
|
29
29
|
import { AXPPageLayoutBaseComponent, AXPPageLayoutComponent, AXPPageLayoutBase } from '@acorex/platform/layout/views';
|
30
30
|
import { AXPLayoutThemeService } from '@acorex/platform/themes/shared';
|
31
|
-
import * as i1$
|
31
|
+
import * as i1$2 from '@angular/common';
|
32
32
|
import { CommonModule } from '@angular/common';
|
33
|
-
import * as
|
33
|
+
import * as i1$1 from '@acorex/components/data-table';
|
34
34
|
import { AXDataTableModule } from '@acorex/components/data-table';
|
35
|
+
import { AXDonutChartComponent } from '@acorex/charts/donut-chart';
|
36
|
+
import { AXChartLegendComponent } from '@acorex/charts/chart-legend';
|
37
|
+
import { AXDropdownButtonModule } from '@acorex/components/dropdown-button';
|
38
|
+
import * as i5 from '@acorex/components/dropdown';
|
39
|
+
import { AXDropdownModule } from '@acorex/components/dropdown';
|
35
40
|
|
36
41
|
const config = {
|
37
42
|
i18n: 'report-management',
|
@@ -83,10 +88,10 @@ class AXMReportDefinitionProvider {
|
|
83
88
|
const result = await this.queryService.fetch(`${this.entityName}:GetById`, id);
|
84
89
|
return result ?? undefined;
|
85
90
|
}
|
86
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
87
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
91
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
92
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportDefinitionProvider }); }
|
88
93
|
}
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportDefinitionProvider, decorators: [{
|
90
95
|
type: Injectable
|
91
96
|
}] });
|
92
97
|
const AXM_REPORT_DEFINITION_PROVIDER = {
|
@@ -113,10 +118,10 @@ class AXMReportCategoryProvider {
|
|
113
118
|
async getById(id) {
|
114
119
|
return this.getList().then(cats => cats.find(cat => cat.id === id));
|
115
120
|
}
|
116
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
117
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
121
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportCategoryProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
122
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportCategoryProvider }); }
|
118
123
|
}
|
119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportCategoryProvider, decorators: [{
|
120
125
|
type: Injectable
|
121
126
|
}] });
|
122
127
|
const AXM_REPORT_CATEGORY_PROVIDER = {
|
@@ -148,10 +153,10 @@ class AXMDataSetServiceImpl extends AXMDataSetService {
|
|
148
153
|
constructor() {
|
149
154
|
super(`${RootConfig.module.name}.${RootConfig.entities.dataSet.name}`);
|
150
155
|
}
|
151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
152
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
156
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSetServiceImpl, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
157
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSetServiceImpl }); }
|
153
158
|
}
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
159
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMDataSetServiceImpl, decorators: [{
|
155
160
|
type: Injectable
|
156
161
|
}], ctorParameters: () => [] });
|
157
162
|
|
@@ -976,7 +981,7 @@ class AXMReportCreateRootWorkflowAction extends AXPWorkflowAction {
|
|
976
981
|
}
|
977
982
|
async execute(context) {
|
978
983
|
// const refId = context.getVariable<string>('options.refId');
|
979
|
-
const comp = await import('./acorex-modules-report-management-report-create-root.component-
|
984
|
+
const comp = await import('./acorex-modules-report-management-report-create-root.component-DgouOz2M.mjs').then(m => m.AXPReportCreateRootComponent);
|
980
985
|
this.popupService.open(comp, await this.translationService.translateAsync('report.create.title', { scope: 'report-management' }));
|
981
986
|
}
|
982
987
|
}
|
@@ -1044,7 +1049,7 @@ function routesFacory() {
|
|
1044
1049
|
children: [
|
1045
1050
|
{
|
1046
1051
|
path: '**',
|
1047
|
-
loadComponent: () => import('./acorex-modules-report-management-report-runner-root-page.component-
|
1052
|
+
loadComponent: () => import('./acorex-modules-report-management-report-runner-root-page.component-DHu-kyCd.mjs').then((c) => c.AXMReportRunnerRootPageComponent),
|
1048
1053
|
data: { reuse: true },
|
1049
1054
|
},
|
1050
1055
|
],
|
@@ -1053,9 +1058,9 @@ function routesFacory() {
|
|
1053
1058
|
return routes;
|
1054
1059
|
}
|
1055
1060
|
class AXMReportManagementModule {
|
1056
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
1057
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.
|
1058
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.
|
1061
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
1062
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.3", ngImport: i0, type: AXMReportManagementModule, imports: [AXPDomainModule, i1.AXPWorkflowModule] }); }
|
1063
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportManagementModule, providers: [
|
1059
1064
|
{
|
1060
1065
|
provide: AXMDataSetService,
|
1061
1066
|
useClass: AXMDataSetServiceImpl,
|
@@ -1098,7 +1103,7 @@ class AXMReportManagementModule {
|
|
1098
1103
|
},
|
1099
1104
|
})] }); }
|
1100
1105
|
}
|
1101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
1106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXMReportManagementModule, decorators: [{
|
1102
1107
|
type: NgModule,
|
1103
1108
|
args: [{
|
1104
1109
|
imports: [
|
@@ -1153,30 +1158,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
1153
1158
|
|
1154
1159
|
const AXPReportViewerViewModel = signalStore(withState(() => ({
|
1155
1160
|
reportDefinition: null,
|
1156
|
-
|
1161
|
+
currentLayout: null,
|
1157
1162
|
filterContext: {},
|
1158
|
-
previousFilterContext: {},
|
1159
1163
|
categoriesPath: [],
|
1164
|
+
allowFetchData: false,
|
1160
1165
|
status: AXPPageStatus.Idle,
|
1161
|
-
totalRecords: 0,
|
1162
|
-
currentPage: 1,
|
1163
|
-
pageSize: 10,
|
1164
1166
|
error: null,
|
1165
|
-
showResults: false,
|
1166
1167
|
})), withComputed((store) => ({
|
1167
|
-
//#region ---- Layout
|
1168
|
-
|
1168
|
+
//#region ---- Layout Management ----
|
1169
|
+
availableLayouts: computed(() => {
|
1170
|
+
const report = store.reportDefinition();
|
1171
|
+
if (!report?.layouts)
|
1172
|
+
return [];
|
1173
|
+
return report.layouts.map(layout => ({
|
1174
|
+
id: layout.id,
|
1175
|
+
title: layout.title,
|
1176
|
+
icon: layout.icon,
|
1177
|
+
type: layout.layout.type
|
1178
|
+
}));
|
1179
|
+
}),
|
1180
|
+
defaultLayout: computed(() => {
|
1181
|
+
const report = store.reportDefinition();
|
1182
|
+
if (!report?.layouts?.length)
|
1183
|
+
return null;
|
1184
|
+
// Find layout marked as default, or use first layout
|
1185
|
+
return report.layouts.find(l => l.isDefault) || report.layouts[0];
|
1186
|
+
}),
|
1187
|
+
activeLayoutId: computed(() => store.currentLayout()?.id || null),
|
1188
|
+
layoutType: computed(() => store.currentLayout()?.layout?.type || null),
|
1169
1189
|
//#endregion
|
1170
|
-
//#region ----
|
1171
|
-
tableLayoutConfig: computed(() =>
|
1172
|
-
|
1173
|
-
|
1190
|
+
//#region ---- Layout-Specific Configurations ----
|
1191
|
+
tableLayoutConfig: computed(() => {
|
1192
|
+
const layout = store.currentLayout();
|
1193
|
+
return layout?.layout?.type === 'table'
|
1194
|
+
? layout.layout
|
1195
|
+
: null;
|
1196
|
+
}),
|
1197
|
+
chartLayoutConfig: computed(() => {
|
1198
|
+
const layout = store.currentLayout();
|
1199
|
+
return layout?.layout?.type === 'chart'
|
1200
|
+
? layout.layout
|
1201
|
+
: null;
|
1202
|
+
}),
|
1174
1203
|
//#endregion
|
1175
1204
|
//#region ---- State Indicators ----
|
1176
1205
|
isLoading: computed(() => store.status() === AXPPageStatus.Processing),
|
1177
1206
|
isExecuting: computed(() => store.status() === AXPPageStatus.Submitting),
|
1178
|
-
hasData: computed(() => store.reportData().length > 0),
|
1179
1207
|
hasError: computed(() => store.error() !== null),
|
1208
|
+
hasMultipleLayouts: computed(() => {
|
1209
|
+
const report = store.reportDefinition();
|
1210
|
+
return (report?.layouts?.length ?? 0) > 1;
|
1211
|
+
}),
|
1180
1212
|
title: computed(() => store.reportDefinition()?.title ?? 'Report Viewer'),
|
1181
1213
|
description: computed(() => store.reportDefinition()?.description ?? null),
|
1182
1214
|
//#endregion
|
@@ -1201,184 +1233,200 @@ const AXPReportViewerViewModel = signalStore(withState(() => ({
|
|
1201
1233
|
};
|
1202
1234
|
}),
|
1203
1235
|
//#endregion
|
1204
|
-
//#region ----
|
1205
|
-
|
1206
|
-
|
1207
|
-
debugger;
|
1208
|
-
const data = store.reportData();
|
1209
|
-
return {
|
1210
|
-
items: data,
|
1211
|
-
total: store.totalRecords()
|
1212
|
-
};
|
1213
|
-
},
|
1214
|
-
pageSize: store.pageSize(),
|
1215
|
-
key: 'id'
|
1216
|
-
}))
|
1236
|
+
//#region ---- Layout Type Detection ----
|
1237
|
+
isTableLayout: computed(() => store.currentLayout()?.layout?.type === 'table'),
|
1238
|
+
isChartLayout: computed(() => store.currentLayout()?.layout?.type === 'chart'),
|
1217
1239
|
//#endregion
|
1218
|
-
|
1219
|
-
|
1220
|
-
|
1221
|
-
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
|
1228
|
-
|
1229
|
-
|
1230
|
-
visible: col.visible !== false,
|
1231
|
-
align: col.align || 'left',
|
1232
|
-
widget: col.widget
|
1233
|
-
})) || [];
|
1234
|
-
}),
|
1235
|
-
paginationEnabled: computed(() => {
|
1236
|
-
const layout = store.tableLayoutConfig();
|
1237
|
-
return layout?.options?.pagination !== false;
|
1240
|
+
//#region ---- Action States ----
|
1241
|
+
canExecute: computed(() => store.reportDefinition() !== null &&
|
1242
|
+
store.currentLayout() !== null &&
|
1243
|
+
store.status() !== AXPPageStatus.Processing &&
|
1244
|
+
store.status() !== AXPPageStatus.Submitting),
|
1245
|
+
canSwitchLayout: computed(() => (store.reportDefinition()?.layouts?.length ?? 0) > 1 &&
|
1246
|
+
store.status() !== AXPPageStatus.Submitting),
|
1247
|
+
canSelectRows: computed(() => {
|
1248
|
+
const layout = store.currentLayout();
|
1249
|
+
return layout?.layout?.type === 'table' &&
|
1250
|
+
layout.layout.options?.selectable?.mode &&
|
1251
|
+
layout.layout.options?.selectable?.mode !== 'none';
|
1238
1252
|
}),
|
1239
|
-
canExecute: computed(() => store.reportDefinition() !== null && !store.isLoading() && !store.isExecuting()),
|
1240
1253
|
//#endregion
|
1241
|
-
})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) =>
|
1242
|
-
|
1243
|
-
|
1254
|
+
})), withMethods((store, reportDefinitionService = inject(AXPReportDefinitionService), commandService = inject(AXPCommandService)) => {
|
1255
|
+
const executeReport = async () => {
|
1256
|
+
const report = store.reportDefinition();
|
1257
|
+
const layout = store.currentLayout();
|
1258
|
+
if (!report || !layout)
|
1259
|
+
return;
|
1260
|
+
patchState(store, {
|
1261
|
+
status: AXPPageStatus.Submitting,
|
1262
|
+
error: null
|
1263
|
+
});
|
1264
|
+
patchState(store, {
|
1265
|
+
allowFetchData: true
|
1266
|
+
});
|
1267
|
+
patchState(store, {
|
1268
|
+
status: AXPPageStatus.Submitted,
|
1269
|
+
error: null
|
1270
|
+
});
|
1271
|
+
};
|
1272
|
+
const fetchData = async (parameters = {}) => {
|
1273
|
+
const report = store.reportDefinition();
|
1274
|
+
const layout = store.currentLayout();
|
1275
|
+
if (!report || !layout) {
|
1276
|
+
return null;
|
1277
|
+
}
|
1244
1278
|
patchState(store, {
|
1245
1279
|
status: AXPPageStatus.Processing,
|
1246
1280
|
error: null
|
1247
1281
|
});
|
1248
1282
|
try {
|
1249
|
-
|
1250
|
-
|
1251
|
-
|
1252
|
-
|
1253
|
-
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
1257
|
-
|
1258
|
-
|
1259
|
-
|
1260
|
-
|
1261
|
-
|
1262
|
-
|
1263
|
-
|
1264
|
-
currentPage: 1,
|
1265
|
-
filterContext: {}, // Reset context when loading new report
|
1266
|
-
previousFilterContext: {}
|
1267
|
-
});
|
1268
|
-
}
|
1283
|
+
// Create execution context - ensure dataSource is provided
|
1284
|
+
const dataSource = layout.dataSource || {
|
1285
|
+
type: 'query',
|
1286
|
+
name: 'getEmployeeList'
|
1287
|
+
};
|
1288
|
+
const context = {
|
1289
|
+
reportId: report.id,
|
1290
|
+
layoutId: layout.id,
|
1291
|
+
dataSource: dataSource,
|
1292
|
+
parameters: {
|
1293
|
+
...store.filterContext(),
|
1294
|
+
...parameters
|
1295
|
+
}
|
1296
|
+
};
|
1297
|
+
return await commandService.execute('ReportManagement.Report:Execute', context);
|
1269
1298
|
}
|
1270
1299
|
catch (error) {
|
1271
1300
|
patchState(store, {
|
1272
|
-
error: 'Failed to
|
1301
|
+
error: 'Failed to execute report',
|
1273
1302
|
});
|
1274
|
-
console.error('Error
|
1303
|
+
console.error('Error executing report:', error);
|
1304
|
+
return null;
|
1275
1305
|
}
|
1276
1306
|
finally {
|
1277
1307
|
patchState(store, {
|
1278
1308
|
status: AXPPageStatus.Idle
|
1279
1309
|
});
|
1280
1310
|
}
|
1281
|
-
}
|
1282
|
-
|
1283
|
-
|
1284
|
-
|
1285
|
-
|
1286
|
-
|
1287
|
-
|
1288
|
-
patchState(store, {
|
1289
|
-
status: AXPPageStatus.Submitting,
|
1290
|
-
error: null
|
1291
|
-
});
|
1292
|
-
try {
|
1293
|
-
const result = await commandService.execute('ReportManagement.Report:Execute', {
|
1294
|
-
reportId: report.id,
|
1295
|
-
parameters: store.filterContext(),
|
1296
|
-
page: store.currentPage(),
|
1297
|
-
pageSize: store.pageSize()
|
1311
|
+
};
|
1312
|
+
return {
|
1313
|
+
//#region ---- Report Loading ----
|
1314
|
+
async loadReport(reportId) {
|
1315
|
+
patchState(store, {
|
1316
|
+
status: AXPPageStatus.Processing,
|
1317
|
+
error: null
|
1298
1318
|
});
|
1319
|
+
try {
|
1320
|
+
const report = await reportDefinitionService.getReportById(reportId);
|
1321
|
+
if (report) {
|
1322
|
+
console.log('report', report);
|
1323
|
+
// Configure parameter widgets with proper paths
|
1324
|
+
report.parameterGroups.forEach(group => {
|
1325
|
+
group.parameters.forEach(param => {
|
1326
|
+
param.widget.path = param.path;
|
1327
|
+
});
|
1328
|
+
});
|
1329
|
+
// Load categories path for breadcrumbs
|
1330
|
+
const categoriesPath = await reportDefinitionService.getCategoriesPathByReportId(reportId);
|
1331
|
+
// Set default layout
|
1332
|
+
const defaultLayout = report.layouts.find(l => l.isDefault) || report.layouts[0];
|
1333
|
+
patchState(store, {
|
1334
|
+
reportDefinition: report,
|
1335
|
+
currentLayout: defaultLayout,
|
1336
|
+
categoriesPath: categoriesPath || [],
|
1337
|
+
filterContext: {}, // Reset context when loading new report
|
1338
|
+
allowFetchData: false,
|
1339
|
+
});
|
1340
|
+
}
|
1341
|
+
}
|
1342
|
+
catch (error) {
|
1343
|
+
patchState(store, {
|
1344
|
+
error: 'Failed to load report definition'
|
1345
|
+
});
|
1346
|
+
console.error('Error loading report:', error);
|
1347
|
+
}
|
1348
|
+
finally {
|
1349
|
+
patchState(store, {
|
1350
|
+
status: AXPPageStatus.Idle
|
1351
|
+
});
|
1352
|
+
}
|
1353
|
+
},
|
1354
|
+
//#endregion
|
1355
|
+
//#region ---- Layout Management ----
|
1356
|
+
switchLayout(layoutId) {
|
1357
|
+
const report = store.reportDefinition();
|
1358
|
+
if (!report)
|
1359
|
+
return;
|
1360
|
+
const layout = report.layouts.find(l => l.id === layoutId);
|
1361
|
+
if (layout) {
|
1362
|
+
patchState(store, {
|
1363
|
+
currentLayout: layout,
|
1364
|
+
});
|
1365
|
+
}
|
1366
|
+
},
|
1367
|
+
//#endregion
|
1368
|
+
//#region ---- Data Execution ----
|
1369
|
+
executeReport,
|
1370
|
+
fetchData,
|
1371
|
+
//#endregion
|
1372
|
+
//#region ---- Filter Management ----
|
1373
|
+
updateFilterContext(context) {
|
1299
1374
|
patchState(store, {
|
1300
|
-
|
1301
|
-
reportData: result.data || [],
|
1302
|
-
totalRecords: result.total || 0,
|
1303
|
-
previousFilterContext: { ...store.filterContext() }
|
1375
|
+
filterContext: { ...store.filterContext(), ...context },
|
1304
1376
|
});
|
1305
|
-
}
|
1306
|
-
|
1377
|
+
},
|
1378
|
+
clearFilters() {
|
1307
1379
|
patchState(store, {
|
1308
|
-
|
1309
|
-
|
1380
|
+
allowFetchData: false,
|
1381
|
+
filterContext: {},
|
1310
1382
|
});
|
1311
|
-
|
1312
|
-
|
1313
|
-
finally {
|
1383
|
+
},
|
1384
|
+
resetFilters() {
|
1314
1385
|
patchState(store, {
|
1315
|
-
|
1386
|
+
allowFetchData: false
|
1387
|
+
});
|
1388
|
+
},
|
1389
|
+
//#endregion
|
1390
|
+
//#region ---- Export Management ----
|
1391
|
+
async exportReport(format) {
|
1392
|
+
const layout = store.currentLayout();
|
1393
|
+
if (!layout?.export) {
|
1394
|
+
console.warn('Export not configured for current layout');
|
1395
|
+
return;
|
1396
|
+
}
|
1397
|
+
try {
|
1398
|
+
// Export logic would go here
|
1399
|
+
// This would typically call a different command for export
|
1400
|
+
console.log(`Exporting report in ${format} format`);
|
1401
|
+
}
|
1402
|
+
catch (error) {
|
1403
|
+
console.error('Error exporting report:', error);
|
1404
|
+
}
|
1405
|
+
},
|
1406
|
+
//#endregion
|
1407
|
+
//#region ---- Utility Methods ----
|
1408
|
+
refresh() {
|
1409
|
+
return executeReport();
|
1410
|
+
},
|
1411
|
+
clearError() {
|
1412
|
+
patchState(store, {
|
1413
|
+
error: null
|
1414
|
+
});
|
1415
|
+
},
|
1416
|
+
reset() {
|
1417
|
+
patchState(store, {
|
1418
|
+
reportDefinition: null,
|
1419
|
+
currentLayout: null,
|
1420
|
+
filterContext: {},
|
1421
|
+
allowFetchData: false,
|
1422
|
+
categoriesPath: [],
|
1423
|
+
status: AXPPageStatus.Idle,
|
1424
|
+
error: null,
|
1316
1425
|
});
|
1317
1426
|
}
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
updateFilterContext(context) {
|
1322
|
-
patchState(store, {
|
1323
|
-
filterContext: { ...store.filterContext(), ...context },
|
1324
|
-
});
|
1325
|
-
},
|
1326
|
-
clearFilters() {
|
1327
|
-
patchState(store, {
|
1328
|
-
filterContext: {},
|
1329
|
-
reportData: [],
|
1330
|
-
totalRecords: 0,
|
1331
|
-
currentPage: 1
|
1332
|
-
});
|
1333
|
-
},
|
1334
|
-
resetFilters() {
|
1335
|
-
patchState(store, {
|
1336
|
-
filterContext: { ...store.previousFilterContext() }
|
1337
|
-
});
|
1338
|
-
},
|
1339
|
-
//#endregion
|
1340
|
-
//#region ---- Pagination ----
|
1341
|
-
changePage(page) {
|
1342
|
-
patchState(store, {
|
1343
|
-
currentPage: page
|
1344
|
-
});
|
1345
|
-
// Call executeReport method
|
1346
|
-
this.executeReport();
|
1347
|
-
},
|
1348
|
-
changePageSize(pageSize) {
|
1349
|
-
patchState(store, {
|
1350
|
-
pageSize: pageSize,
|
1351
|
-
currentPage: 1
|
1352
|
-
});
|
1353
|
-
// Call executeReport method
|
1354
|
-
this.executeReport();
|
1355
|
-
},
|
1356
|
-
//#endregion
|
1357
|
-
//#region ---- Utility Methods ----
|
1358
|
-
refresh() {
|
1359
|
-
// Call executeReport method
|
1360
|
-
this.executeReport();
|
1361
|
-
},
|
1362
|
-
clearError() {
|
1363
|
-
patchState(store, {
|
1364
|
-
error: null
|
1365
|
-
});
|
1366
|
-
},
|
1367
|
-
reset() {
|
1368
|
-
patchState(store, {
|
1369
|
-
reportDefinition: null,
|
1370
|
-
reportData: [],
|
1371
|
-
filterContext: {},
|
1372
|
-
previousFilterContext: {},
|
1373
|
-
categoriesPath: [],
|
1374
|
-
status: AXPPageStatus.Idle,
|
1375
|
-
totalRecords: 0,
|
1376
|
-
currentPage: 1,
|
1377
|
-
error: null
|
1378
|
-
});
|
1379
|
-
}
|
1380
|
-
//#endregion
|
1381
|
-
})), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({
|
1427
|
+
//#endregion
|
1428
|
+
};
|
1429
|
+
}), withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({
|
1382
1430
|
async onInit() {
|
1383
1431
|
// Subscribe to language and locale changes
|
1384
1432
|
translationService.langChanges$.subscribe(() => {
|
@@ -1397,31 +1445,109 @@ class AXPReportTableViewComponent {
|
|
1397
1445
|
constructor() {
|
1398
1446
|
//#region ---- Dependencies ----
|
1399
1447
|
this.vm = inject(AXPReportViewerViewModel);
|
1448
|
+
this.commandService = inject(AXPCommandService);
|
1449
|
+
this.grid = viewChild('grid', ...(ngDevMode ? [{ debugName: "grid" }] : []));
|
1400
1450
|
//#endregion
|
1401
|
-
//#region ----
|
1402
|
-
this.
|
1403
|
-
|
1451
|
+
//#region ---- Computed Properties ----
|
1452
|
+
this.layout = computed(() => {
|
1453
|
+
return this.vm.currentLayout()?.layout;
|
1454
|
+
}, ...(ngDevMode ? [{ debugName: "layout" }] : []));
|
1455
|
+
this.#fetchData = effect(() => {
|
1456
|
+
if (this.grid() && this.vm.allowFetchData()) {
|
1457
|
+
this.grid()?.refresh();
|
1458
|
+
}
|
1459
|
+
}, ...(ngDevMode ? [{ debugName: "#fetchData" }] : []));
|
1460
|
+
this.dataSource = new AXDataSource({
|
1461
|
+
load: async (e) => {
|
1462
|
+
if (!this.vm.allowFetchData()) {
|
1463
|
+
return { items: [], total: 0 };
|
1464
|
+
}
|
1465
|
+
const result = await this.vm.fetchData(e);
|
1466
|
+
if (!result?.data || result.data.type !== 'table') {
|
1467
|
+
console.error('invalid table result');
|
1468
|
+
return { items: [], total: 0 };
|
1469
|
+
}
|
1470
|
+
;
|
1471
|
+
let items = result.data.items ?? [];
|
1472
|
+
let total = result.data.total || 0;
|
1473
|
+
return { items, total };
|
1474
|
+
},
|
1475
|
+
pageSize: 10,
|
1476
|
+
key: 'id'
|
1477
|
+
});
|
1478
|
+
this.columns = computed(() => {
|
1479
|
+
return this.layout().columns?.map((col) => ({
|
1480
|
+
field: col.field,
|
1481
|
+
title: col.title || col.field,
|
1482
|
+
width: col.width || '150px',
|
1483
|
+
visible: col.visible !== false,
|
1484
|
+
align: col.align || 'left',
|
1485
|
+
widget: { ...col.widget, path: col.field }
|
1486
|
+
})) || [];
|
1487
|
+
}, ...(ngDevMode ? [{ debugName: "columns" }] : []));
|
1488
|
+
this.paginationEnabled = computed(() => {
|
1489
|
+
return this.layout().options?.pagination !== false;
|
1490
|
+
}, ...(ngDevMode ? [{ debugName: "paginationEnabled" }] : []));
|
1491
|
+
this.primaryRowAction = computed(() => {
|
1492
|
+
return this.layout().actions?.filter(a => a.priority === 'primary')?.map(a => this.convertToRowCommandItem(a)) || [];
|
1493
|
+
}, ...(ngDevMode ? [{ debugName: "primaryRowAction" }] : []));
|
1494
|
+
this.hasPrimaryRowAction = computed(() => {
|
1495
|
+
return this.primaryRowAction().length > 0;
|
1496
|
+
}, ...(ngDevMode ? [{ debugName: "hasPrimaryRowAction" }] : []));
|
1497
|
+
this.secondaryRowAction = computed(() => {
|
1498
|
+
return this.layout().actions?.filter(a => a.priority === 'secondary')?.map(a => this.convertToRowCommandItem(a)) || [];
|
1499
|
+
}, ...(ngDevMode ? [{ debugName: "secondaryRowAction" }] : []));
|
1500
|
+
this.hasSecondaryRowAction = computed(() => {
|
1501
|
+
return this.secondaryRowAction().length > 0;
|
1502
|
+
}, ...(ngDevMode ? [{ debugName: "hasSecondaryRowAction" }] : []));
|
1503
|
+
this.defaultRowAction = computed(() => {
|
1504
|
+
const defaultAction = this.layout().actions?.find(a => a.default);
|
1505
|
+
if (!defaultAction) {
|
1506
|
+
return null;
|
1507
|
+
}
|
1508
|
+
return this.convertToRowCommandItem(defaultAction);
|
1509
|
+
}, ...(ngDevMode ? [{ debugName: "defaultRowAction" }] : []));
|
1404
1510
|
}
|
1405
1511
|
//#endregion
|
1406
1512
|
//#region ---- Event Handlers ----
|
1407
1513
|
handleRowClick(event) {
|
1408
|
-
this.
|
1514
|
+
this.handleRowAction(event.name, event.data);
|
1515
|
+
}
|
1516
|
+
handleDbRowClick(event) {
|
1517
|
+
if (this.defaultRowAction()) {
|
1518
|
+
this.handleRowAction(this.defaultRowAction().name, event.data);
|
1519
|
+
}
|
1520
|
+
}
|
1521
|
+
handleRowAction(name, data) {
|
1522
|
+
console.log('row action', name, data);
|
1409
1523
|
}
|
1524
|
+
#fetchData;
|
1410
1525
|
//#endregion
|
1411
|
-
//#region ----
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
|
1416
|
-
|
1417
|
-
|
1418
|
-
|
1526
|
+
//#region ---- Helpers ----
|
1527
|
+
convertToRowCommandItem(action) {
|
1528
|
+
const systemAction = getSystemActions(action.type);
|
1529
|
+
if (!systemAction) {
|
1530
|
+
return {
|
1531
|
+
icon: action.icon ?? 'fa-light fa-eye',
|
1532
|
+
text: action.title,
|
1533
|
+
name: action.name,
|
1534
|
+
divided: action.break,
|
1535
|
+
color: action.color,
|
1536
|
+
};
|
1419
1537
|
}
|
1538
|
+
const defaultAction = applySystemActionDefault(action, systemAction.key);
|
1539
|
+
return {
|
1540
|
+
icon: defaultAction.icon ?? 'fa-light fa-eye',
|
1541
|
+
text: defaultAction.title,
|
1542
|
+
name: defaultAction.name,
|
1543
|
+
divided: defaultAction.break,
|
1544
|
+
color: defaultAction.color,
|
1545
|
+
};
|
1420
1546
|
}
|
1421
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
1422
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
1547
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPReportTableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
1548
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXPReportTableViewComponent, isStandalone: true, selector: "axp-report-table-view", viewQueries: [{ propertyName: "grid", first: true, predicate: ["grid"], descendants: true, isSignal: true }], ngImport: i0, template: "<ax-data-table\n #grid\n [dataSource]=\"dataSource\"\n [paging]=\"true\"\n (onRowDbClick)=\"handleDbRowClick($event)\"\n class=\"ax-flex-1\"\n>\n <!-- Dynamic columns based on configuration -->\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n @if (vm.canSelectRows()) {\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n }\n @for (column of columns(); track column.field) {\n @if (column.visible) {\n <axp-widget-column-renderer\n [customWidth]=\"column.width + 'px'\"\n [caption]=\"(column.title | translate | async)!\"\n [node]=\"column.widget!\"\n ></axp-widget-column-renderer>\n }\n }\n @if (hasPrimaryRowAction()) {\n <ax-command-column\n fixed=\"end\"\n [width]=\"'100px'\"\n [items]=\"primaryRowAction()\"\n (onItemClick)=\"handleRowClick($event)\"\n ></ax-command-column>\n }\n @if (hasSecondaryRowAction()) {\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"secondaryRowAction()\"\n (onItemClick)=\"handleRowClick($event)\"\n ></ax-dropdown-command-column>\n }\n</ax-data-table>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i1$1.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "selectedRows", "parentField", "rowTemplate", "emptyTemplate", "noDataTemplate", "alternative", "showHeader", "fixedHeader", "showFooter", "fixedFooter", "itemHeight", "allowReordering", "paging", "fetchDataMode", "loading", "focusedRow"], outputs: ["selectedRowsChange", "focusedRowChange", "onRowClick", "onRowDbClick", "onColumnsOrderChanged", "onColumnSizeChanged", "onPageChanged"] }, { kind: "component", type: i1$1.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i1$1.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i1$1.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i1$1.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: i2.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "customExpandIcon", "customCollapseIcon", "customWidth", "node", "footerTemplate", "expandHandler", "cellTemplate", "headerTemplate"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$3.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
1423
1549
|
}
|
1424
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
1550
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPReportTableViewComponent, decorators: [{
|
1425
1551
|
type: Component,
|
1426
1552
|
args: [{ selector: 'axp-report-table-view', standalone: true, imports: [
|
1427
1553
|
CommonModule,
|
@@ -1430,9 +1556,128 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
1430
1556
|
AXDecoratorModule,
|
1431
1557
|
AXTranslationModule,
|
1432
1558
|
AXPLayoutBuilderModule
|
1433
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None,
|
1434
|
-
|
1435
|
-
|
1559
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ax-data-table\n #grid\n [dataSource]=\"dataSource\"\n [paging]=\"true\"\n (onRowDbClick)=\"handleDbRowClick($event)\"\n class=\"ax-flex-1\"\n>\n <!-- Dynamic columns based on configuration -->\n <ax-index-column fixed=\"start\" [width]=\"'80px'\" [padZero]=\"true\"></ax-index-column>\n @if (vm.canSelectRows()) {\n <ax-select-column fixed=\"start\" [width]=\"'50px'\"></ax-select-column>\n }\n @for (column of columns(); track column.field) {\n @if (column.visible) {\n <axp-widget-column-renderer\n [customWidth]=\"column.width + 'px'\"\n [caption]=\"(column.title | translate | async)!\"\n [node]=\"column.widget!\"\n ></axp-widget-column-renderer>\n }\n }\n @if (hasPrimaryRowAction()) {\n <ax-command-column\n fixed=\"end\"\n [width]=\"'100px'\"\n [items]=\"primaryRowAction()\"\n (onItemClick)=\"handleRowClick($event)\"\n ></ax-command-column>\n }\n @if (hasSecondaryRowAction()) {\n <ax-dropdown-command-column\n fixed=\"end\"\n [width]=\"'60px'\"\n [items]=\"secondaryRowAction()\"\n (onItemClick)=\"handleRowClick($event)\"\n ></ax-dropdown-command-column>\n }\n</ax-data-table>\n" }]
|
1560
|
+
}] });
|
1561
|
+
|
1562
|
+
class AXPReportChartViewComponent {
|
1563
|
+
constructor() {
|
1564
|
+
//#region ---- Dependencies ----
|
1565
|
+
this.vm = inject(AXPReportViewerViewModel);
|
1566
|
+
this.AXPPageStatus = AXPPageStatus;
|
1567
|
+
//#endregion
|
1568
|
+
//#region ---- Computed Properties ----
|
1569
|
+
/**
|
1570
|
+
* Current chart layout configuration
|
1571
|
+
*/
|
1572
|
+
this.chartLayout = computed(() => {
|
1573
|
+
const layout = this.vm.currentLayout();
|
1574
|
+
return layout?.layout.type === 'chart'
|
1575
|
+
? layout.layout
|
1576
|
+
: null;
|
1577
|
+
}, ...(ngDevMode ? [{ debugName: "chartLayout" }] : []));
|
1578
|
+
/**
|
1579
|
+
* Chart configuration options
|
1580
|
+
*/
|
1581
|
+
this.chartOptions = computed(() => {
|
1582
|
+
const chartLayout = this.chartLayout();
|
1583
|
+
return chartLayout?.options || null;
|
1584
|
+
}, ...(ngDevMode ? [{ debugName: "chartOptions" }] : []));
|
1585
|
+
/**
|
1586
|
+
* Chart type for rendering
|
1587
|
+
*/
|
1588
|
+
this.chartType = computed(() => {
|
1589
|
+
const options = this.chartOptions();
|
1590
|
+
return options?.chartType || 'bar';
|
1591
|
+
}, ...(ngDevMode ? [{ debugName: "chartType" }] : []));
|
1592
|
+
/**
|
1593
|
+
* Data mapping configuration
|
1594
|
+
*/
|
1595
|
+
this.dataMapping = computed(() => {
|
1596
|
+
const options = this.chartOptions();
|
1597
|
+
return options?.dataMapping || null;
|
1598
|
+
}, ...(ngDevMode ? [{ debugName: "dataMapping" }] : []));
|
1599
|
+
//#endregion
|
1600
|
+
//#region ---- Effects ----
|
1601
|
+
/**
|
1602
|
+
* Effect to handle data fetching when chart configuration changes
|
1603
|
+
*/
|
1604
|
+
this.#fetchData = effect(() => {
|
1605
|
+
if (this.vm.allowFetchData() && this.chartOptions()) {
|
1606
|
+
// TODO: Implement chart data fetching
|
1607
|
+
console.log('Chart data fetch triggered', {
|
1608
|
+
chartType: this.chartType(),
|
1609
|
+
dataMapping: this.dataMapping()
|
1610
|
+
});
|
1611
|
+
this.vm.fetchData().then((data) => {
|
1612
|
+
const donutChartData = AXPieChartReportMapper((data?.data).data ?? {});
|
1613
|
+
this.donutChartData.set(donutChartData);
|
1614
|
+
console.log('donutChartData', donutChartData);
|
1615
|
+
});
|
1616
|
+
}
|
1617
|
+
}, ...(ngDevMode ? [{ debugName: "#fetchData" }] : []));
|
1618
|
+
this.donutChartData = signal([], ...(ngDevMode ? [{ debugName: "donutChartData" }] : []));
|
1619
|
+
this.donutChartOptions = signal({
|
1620
|
+
totalLabel: 'Total',
|
1621
|
+
showTooltip: true
|
1622
|
+
}, ...(ngDevMode ? [{ debugName: "donutChartOptions" }] : []));
|
1623
|
+
this.legendOptions = signal({
|
1624
|
+
mode: 'horizontal',
|
1625
|
+
}, ...(ngDevMode ? [{ debugName: "legendOptions" }] : []));
|
1626
|
+
}
|
1627
|
+
//#endregion
|
1628
|
+
//#region ---- Effects ----
|
1629
|
+
/**
|
1630
|
+
* Effect to handle data fetching when chart configuration changes
|
1631
|
+
*/
|
1632
|
+
#fetchData;
|
1633
|
+
//#endregion
|
1634
|
+
//#region ---- Event Handlers ----
|
1635
|
+
/**
|
1636
|
+
* Handle chart click events
|
1637
|
+
*/
|
1638
|
+
handleChartClick(event) {
|
1639
|
+
// TODO: Implement chart click handling
|
1640
|
+
console.log('Chart clicked:', event);
|
1641
|
+
}
|
1642
|
+
/**
|
1643
|
+
* Handle chart data point selection
|
1644
|
+
*/
|
1645
|
+
handleDataPointSelect(event) {
|
1646
|
+
// TODO: Implement data point selection
|
1647
|
+
console.log('Data point selected:', event);
|
1648
|
+
}
|
1649
|
+
//#endregion
|
1650
|
+
//#region ---- Helper Methods ----
|
1651
|
+
/**
|
1652
|
+
* Check if chart is ready to render
|
1653
|
+
*/
|
1654
|
+
isChartReady() {
|
1655
|
+
return !!(this.chartOptions() && this.dataMapping());
|
1656
|
+
}
|
1657
|
+
/**
|
1658
|
+
* Get chart configuration for rendering
|
1659
|
+
*/
|
1660
|
+
getChartConfig() {
|
1661
|
+
// TODO: Transform AXPReportChartOptions to chart library format
|
1662
|
+
return {
|
1663
|
+
type: this.chartType(),
|
1664
|
+
options: this.chartOptions(),
|
1665
|
+
dataMapping: this.dataMapping()
|
1666
|
+
};
|
1667
|
+
}
|
1668
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPReportChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
1669
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXPReportChartViewComponent, isStandalone: true, selector: "axp-report-chart-view", ngImport: i0, template: "<div class=\"axp-report-chart-view\" *translate=\"let t\">\n @if (vm.status() === AXPPageStatus.Processing) {\n <!-- Loading State -->\n <div class=\"__loading\">\n <div\n class=\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\"\n ></div>\n <div class=\"__loading-text\">\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <div class=\"__error\">\n <div class=\"__error-icon\">\n <i class=\"fa-light fa-exclamation-triangle\"></i>\n </div>\n <div class=\"__error-content\">\n <h4 class=\"__error-title\">\n {{ t('@report-management:features.report-viewer.error.title') | async }}\n </h4>\n <p class=\"__error-description\">\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\n </p>\n </div>\n </div>\n } @else if (isChartReady()) {\n <!-- Chart Content -->\n <div class=\"__chart-container\">\n @if (chartLayout()?.header) {\n <div class=\"__chart-header\">\n <h3 class=\"__chart-title\">{{ chartLayout()?.header?.title }}</h3>\n @if (chartLayout()?.header?.showDate) {\n <div class=\"__chart-date\">{{ 'common.date.today' | translate | async }}</div>\n }\n </div>\n }\n\n <div class=\"__chart-body\">\n <!-- Chart component will be rendered here -->\n <div class=\"__chart-placeholder\">\n <div class=\"__placeholder-content\">\n <div\n class=\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\"\n [class]=\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\"\n >\n <!-- Chart Area -->\n <div class=\"ax-flex-0 ax-size-96\">\n <ax-donut-chart #chart [data]=\"donutChartData()\" [options]=\"donutChartOptions()\"></ax-donut-chart>\n </div>\n <!-- Legend Area -->\n @if (donutChartData().length > 0) {\n <div>\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"chart\"></ax-chart-legend>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n\n @if (chartLayout()?.footer) {\n <div class=\"__chart-footer\">\n @if (chartLayout()?.footer?.customHtml) {\n <div [innerHTML]=\"chartLayout()?.footer?.customHtml\"></div>\n }\n </div>\n }\n </div>\n } @else {\n <!-- No Configuration State -->\n <div class=\"__no-config\">\n <div class=\"__no-config-icon\">\n <i class=\"fa-light fa-chart-line\"></i>\n </div>\n <div class=\"__no-config-content\">\n <h4 class=\"__no-config-title\">\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\n </h4>\n <p class=\"__no-config-description\">\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\n </p>\n </div>\n </div>\n }\n</div>\n", styles: [".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1$3.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXPLayoutBuilderModule }, { kind: "component", type: AXDonutChartComponent, selector: "ax-donut-chart", inputs: ["data", "options"], outputs: ["segmentClick", "segmentHover"] }, { kind: "component", type: AXChartLegendComponent, selector: "ax-chart-legend", inputs: ["chart", "options"], outputs: ["itemClick", "itemMouseEnter", "itemMouseLeave"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$3.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
1670
|
+
}
|
1671
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPReportChartViewComponent, decorators: [{
|
1672
|
+
type: Component,
|
1673
|
+
args: [{ selector: 'axp-report-chart-view', standalone: true, imports: [
|
1674
|
+
CommonModule,
|
1675
|
+
AXDecoratorModule,
|
1676
|
+
AXTranslationModule,
|
1677
|
+
AXPLayoutBuilderModule,
|
1678
|
+
AXDonutChartComponent,
|
1679
|
+
AXChartLegendComponent
|
1680
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"axp-report-chart-view\" *translate=\"let t\">\n @if (vm.status() === AXPPageStatus.Processing) {\n <!-- Loading State -->\n <div class=\"__loading\">\n <div\n class=\"ax-spinner ax-spin ax-border-4 ax-border-gray-200 ax-border-t-primary ax-rounded-full ax-w-12 ax-h-12\"\n ></div>\n <div class=\"__loading-text\">\n {{ t('@report-management:features.report-viewer.loading.chart') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <div class=\"__error\">\n <div class=\"__error-icon\">\n <i class=\"fa-light fa-exclamation-triangle\"></i>\n </div>\n <div class=\"__error-content\">\n <h4 class=\"__error-title\">\n {{ t('@report-management:features.report-viewer.error.title') | async }}\n </h4>\n <p class=\"__error-description\">\n {{ vm.error() || t('@report-management:features.report-viewer.error.generic') | async }}\n </p>\n </div>\n </div>\n } @else if (isChartReady()) {\n <!-- Chart Content -->\n <div class=\"__chart-container\">\n @if (chartLayout()?.header) {\n <div class=\"__chart-header\">\n <h3 class=\"__chart-title\">{{ chartLayout()?.header?.title }}</h3>\n @if (chartLayout()?.header?.showDate) {\n <div class=\"__chart-date\">{{ 'common.date.today' | translate | async }}</div>\n }\n </div>\n }\n\n <div class=\"__chart-body\">\n <!-- Chart component will be rendered here -->\n <div class=\"__chart-placeholder\">\n <div class=\"__placeholder-content\">\n <div\n class=\"ax-flex ax-flex-wrap ax-items-center ax-justify-center ax-gap-10\"\n [class]=\"legendOptions().mode === 'horizontal' ? 'ax-flex-col' : 'ax-flex-row'\"\n >\n <!-- Chart Area -->\n <div class=\"ax-flex-0 ax-size-96\">\n <ax-donut-chart #chart [data]=\"donutChartData()\" [options]=\"donutChartOptions()\"></ax-donut-chart>\n </div>\n <!-- Legend Area -->\n @if (donutChartData().length > 0) {\n <div>\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"chart\"></ax-chart-legend>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n\n @if (chartLayout()?.footer) {\n <div class=\"__chart-footer\">\n @if (chartLayout()?.footer?.customHtml) {\n <div [innerHTML]=\"chartLayout()?.footer?.customHtml\"></div>\n }\n </div>\n }\n </div>\n } @else {\n <!-- No Configuration State -->\n <div class=\"__no-config\">\n <div class=\"__no-config-icon\">\n <i class=\"fa-light fa-chart-line\"></i>\n </div>\n <div class=\"__no-config-content\">\n <h4 class=\"__no-config-title\">\n {{ t('@report-management:features.report-viewer.chart.no-config.title') | async }}\n </h4>\n <p class=\"__no-config-description\">\n {{ t('@report-management:features.report-viewer.chart.no-config.description') | async }}\n </p>\n </div>\n </div>\n }\n</div>\n", styles: [".axp-report-chart-view{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__loading{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.axp-report-chart-view .__loading .__loading-text{font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-chart-view .__chart-container .__chart-header{border-bottom-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem}.axp-report-chart-view .__chart-container .__chart-header .__chart-title{margin:0;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-header .__chart-date{margin-top:.25rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body{flex:1 1 0%;overflow:hidden}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-icon{font-size:3.75rem;line-height:1;color:rgba(var(--ax-sys-color-primary-500),.2)}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content{max-width:28rem}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__chart-container .__chart-body .__chart-placeholder .__placeholder-content .__placeholder-description{margin-bottom:1rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__chart-container .__chart-body .__chart-content{height:100%;width:100%}.axp-report-chart-view .__chart-container .__chart-footer{border-top-width:1px;--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1));padding:1rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__error .__error-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content{max-width:28rem}.axp-report-chart-view .__error .__error-content .__error-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__error .__error-content .__error-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;gap:1rem;text-align:center}.axp-report-chart-view .__no-config .__no-config-icon{font-size:2.25rem;line-height:2.5rem;--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.axp-report-chart-view .__no-config .__no-config-content{max-width:28rem}.axp-report-chart-view .__no-config .__no-config-content .__no-config-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-chart-view .__no-config .__no-config-content .__no-config-description{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}\n"] }]
|
1436
1681
|
}] });
|
1437
1682
|
|
1438
1683
|
class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
@@ -1446,11 +1691,11 @@ class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
1446
1691
|
this.unsubscriber = inject(AXUnsubscriber);
|
1447
1692
|
//#endregion
|
1448
1693
|
//#region ---- Inputs ----
|
1449
|
-
this.reportId = input();
|
1450
|
-
this.reportParameters = input({});
|
1694
|
+
this.reportId = input(...(ngDevMode ? [undefined, { debugName: "reportId" }] : []));
|
1695
|
+
this.reportParameters = input({}, ...(ngDevMode ? [{ debugName: "reportParameters" }] : []));
|
1451
1696
|
//#endregion
|
1452
1697
|
//#region ---- ViewChildren ----
|
1453
|
-
this.filtersForm = viewChild('filtersForm');
|
1698
|
+
this.filtersForm = viewChild('filtersForm', ...(ngDevMode ? [{ debugName: "filtersForm" }] : []));
|
1454
1699
|
//#endregion
|
1455
1700
|
//#region ---- ViewModel ----
|
1456
1701
|
this.vm = inject(AXPReportViewerViewModel);
|
@@ -1489,13 +1734,6 @@ class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
1489
1734
|
await this.loadReportAndRefresh(reportId);
|
1490
1735
|
}
|
1491
1736
|
});
|
1492
|
-
// Initial load if reportId is available
|
1493
|
-
const reportId = this.route.snapshot.paramMap.get('reportId') ||
|
1494
|
-
this.route.snapshot.queryParamMap.get('reportId') ||
|
1495
|
-
this.reportId();
|
1496
|
-
if (reportId) {
|
1497
|
-
await this.loadReportAndRefresh(reportId);
|
1498
|
-
}
|
1499
1737
|
}
|
1500
1738
|
//#endregion
|
1501
1739
|
//#region ---- Helper Methods ----
|
@@ -1544,14 +1782,6 @@ class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
1544
1782
|
form.resetErrors();
|
1545
1783
|
}
|
1546
1784
|
}
|
1547
|
-
handleRowClick(rowData) {
|
1548
|
-
// Handle row click - can be extended for row details
|
1549
|
-
console.log('Row clicked:', rowData);
|
1550
|
-
}
|
1551
|
-
handleActionClick(event) {
|
1552
|
-
// Handle action click - can be extended for row actions
|
1553
|
-
console.log('Action clicked:', event);
|
1554
|
-
}
|
1555
1785
|
//#endregion
|
1556
1786
|
//#region ---- Page Configuration Overrides ----
|
1557
1787
|
async getPageBreadcrumbs() {
|
@@ -1692,19 +1922,19 @@ class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
1692
1922
|
break;
|
1693
1923
|
}
|
1694
1924
|
}
|
1695
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
1696
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
1925
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPReportViewerPageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
1926
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.3", type: AXPReportViewerPageComponent, isStandalone: true, selector: "axp-report-viewer-page", inputs: { reportId: { classPropertyName: "reportId", publicName: "reportId", isSignal: true, isRequired: false, transformFunction: null }, reportParameters: { classPropertyName: "reportParameters", publicName: "reportParameters", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "axp-report-viewer-page" }, providers: [
|
1697
1927
|
AXUnsubscriber,
|
1698
1928
|
AXPReportViewerViewModel,
|
1699
1929
|
{
|
1700
1930
|
provide: AXPPageLayoutBase,
|
1701
1931
|
useExisting: AXPReportViewerPageComponent,
|
1702
1932
|
},
|
1703
|
-
], viewQueries: [{ propertyName: "filtersForm", first: true, predicate: ["filtersForm"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <!-- Left Panel: Filters (Always visible for desktop) -->\n @if (showFiltersPanel()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\n </axp-layout-title>\n </axp-layout-header>\n <axp-layout-content>\n <div class=\"__filters-container\">\n <axp-dynamic-form\n #filtersForm\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.filterContext()\"\n [layoutConfig]=\"defaultLayout()\"\n [layoutStyle]=\"'compact'\"\n (contextChange)=\"handleFiltersChange($event)\"\n (contextInitiated)=\"handleFiltersInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n </axp-layout-content>\n <axp-layout-footer class=\"ax-p-4 ax-border-t\">\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n class=\"ax-w-full\"\n [text]=\"t('@report-management:features.report-viewer.actions.execute') | async\"\n [color]=\"'primary'\"\n (onClick)=\"execute({ name: 'execute-report' })\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-play\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </axp-layout-footer>\n </axp-layout-start-side>\n }\n <!-- Main Content: Report Display -->\n <axp-page-content>\n @if (!vm.reportDefinition()) {\n <ng-container *ngTemplateOutlet=\"noReport\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"reportDisplay\"></ng-container>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Report Display Area -->\n<ng-template #reportDisplay>\n @if (vm.isTableLayout()) {\n <axp-report-table-view (rowClick)=\"handleRowClick($event)\" (actionClick)=\"handleActionClick($event)\">\n </axp-report-table-view>\n } @else if (vm.isChartLayout()) {\n <!-- Chart View Placeholder -->\n <div class=\"__chart-placeholder\">\n <div class=\"__placeholder-icon\">\n <ax-icon class=\"fa-light fa-chart-column\"></ax-icon>\n </div>\n <div class=\"__placeholder-content\">\n <h4 class=\"__placeholder-title\">Chart View</h4>\n <p class=\"__placeholder-description\">Chart visualization will be implemented here</p>\n </div>\n </div>\n } @else {\n <!-- Custom Layout Placeholder -->\n <div class=\"__custom-placeholder\">\n <div class=\"__placeholder-icon\">\n <ax-icon class=\"fa-light fa-layout-grid\"></ax-icon>\n </div>\n <div class=\"__placeholder-content\">\n <h4 class=\"__placeholder-title\">Custom Layout</h4>\n <p class=\"__placeholder-description\">Custom report layout will be implemented here</p>\n </div>\n </div>\n }\n</ng-template>\n\n<!-- No Report Selected State -->\n<ng-template #noReport>\n <div class=\"__no-report\" *translate=\"let t\">\n <div class=\"__no-report-icon\">\n <ax-icon class=\"fa-light fa-chart-line\"></ax-icon>\n </div>\n <div class=\"__no-report-content\">\n <h3 class=\"__no-report-title\">\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\n </h3>\n <p class=\"__no-report-description\">\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\n </p>\n <div class=\"__no-report-actions\">\n <ax-button\n look=\"outline\"\n color=\"primary\"\n [text]=\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-folder-open\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-container{overflow:hidden}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}.axp-report-viewer-page .__chart-placeholder,.axp-report-viewer-page .__cards-placeholder,.axp-report-viewer-page .__custom-placeholder{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;margin:1.5rem;border-radius:.5rem;border-width:2px;border-style:dashed;--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1));background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page .__chart-placeholder .__placeholder-icon,.axp-report-viewer-page .__cards-placeholder .__placeholder-icon,.axp-report-viewer-page .__custom-placeholder .__placeholder-icon{margin-bottom:1rem;font-size:3rem;line-height:1;opacity:.5}.axp-report-viewer-page .__chart-placeholder .__placeholder-content,.axp-report-viewer-page .__cards-placeholder .__placeholder-content,.axp-report-viewer-page .__custom-placeholder .__placeholder-content{max-width:28rem}.axp-report-viewer-page .__chart-placeholder .__placeholder-content .__placeholder-title,.axp-report-viewer-page .__cards-placeholder .__placeholder-content .__placeholder-title,.axp-report-viewer-page .__custom-placeholder .__placeholder-content .__placeholder-title{margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__chart-placeholder .__placeholder-content .__placeholder-description,.axp-report-viewer-page .__cards-placeholder .__placeholder-content .__placeholder-description,.axp-report-viewer-page .__custom-placeholder .__placeholder-content .__placeholder-description{font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__chart-placeholder .__placeholder-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1))}.axp-report-viewer-page .__cards-placeholder .__placeholder-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-secondary-500),var(--tw-text-opacity, 1))}.axp-report-viewer-page .__custom-placeholder .__placeholder-icon{--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-accent1-500),var(--tw-text-opacity, 1))}@media (max-width: 768px){.axp-report-viewer-page .__chart-placeholder,.axp-report-viewer-page .__cards-placeholder,.axp-report-viewer-page .__custom-placeholder{margin:1rem}.axp-report-viewer-page .__chart-placeholder .__placeholder-content .__placeholder-title,.axp-report-viewer-page .__cards-placeholder .__placeholder-content .__placeholder-title,.axp-report-viewer-page .__custom-placeholder .__placeholder-content .__placeholder-title{font-size:1rem;line-height:1.5rem}.axp-report-viewer-page .__chart-placeholder .__placeholder-content .__placeholder-description,.axp-report-viewer-page .__cards-placeholder .__placeholder-content .__placeholder-description,.axp-report-viewer-page .__custom-placeholder .__placeholder-content .__placeholder-description{font-size:.75rem;line-height:1rem}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.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: "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: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i5.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type:
|
1933
|
+
], viewQueries: [{ propertyName: "filtersForm", first: true, predicate: ["filtersForm"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <!-- Left Panel: Filters (Always visible for desktop) -->\n @if (showFiltersPanel()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\n </axp-layout-title>\n </axp-layout-header>\n <axp-layout-content>\n <div class=\"__filters-container\">\n <axp-dynamic-form\n #filtersForm\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.filterContext()\"\n [layoutConfig]=\"defaultLayout()\"\n [layoutStyle]=\"'compact'\"\n (contextChange)=\"handleFiltersChange($event)\"\n (contextInitiated)=\"handleFiltersInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n </axp-layout-content>\n <axp-layout-footer class=\"ax-p-4 ax-border-t\">\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n class=\"ax-w-full\"\n [text]=\"t('@report-management:features.report-viewer.actions.execute') | async\"\n [color]=\"'primary'\"\n (onClick)=\"execute({ name: 'execute-report' })\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-play\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </axp-layout-footer>\n </axp-layout-start-side>\n }\n\n <axp-page-toolbar>\n <axp-layout-prefix>\n @if (vm.hasMultipleLayouts()) {\n <ax-button [text]=\"vm.currentLayout()?.title\">\n <ax-icon icon=\"fa-light {{ vm.currentLayout()?.icon }}\"></ax-icon>\n <ax-dropdown-panel>\n @for (layout of vm.availableLayouts(); track layout.id) {\n <ax-button-item-list>\n <ax-button-item\n [text]=\"layout.title\"\n [selected]=\"vm.currentLayout()?.id === layout.id\"\n (onClick)=\"vm.switchLayout(layout.id)\"\n >\n <ax-icon icon=\"fa-light {{ layout.icon }}\"></ax-icon>\n </ax-button-item>\n </ax-button-item-list>\n }\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-prefix>\n <axp-layout-suffix> </axp-layout-suffix>\n </axp-page-toolbar>\n\n <!-- Main Content: Report Display -->\n <axp-page-content>\n @if (!vm.reportDefinition()) {\n <ng-container *ngTemplateOutlet=\"noReport\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"reportDisplay\"></ng-container>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Report Display Area -->\n<ng-template #reportDisplay>\n @if (vm.isTableLayout()) {\n <axp-report-table-view> </axp-report-table-view>\n } @else if (vm.isChartLayout()) {\n <axp-report-chart-view> </axp-report-chart-view>\n }\n</ng-template>\n\n<!-- No Report Selected State -->\n<ng-template #noReport>\n <div class=\"__no-report\" *translate=\"let t\">\n <div class=\"__no-report-icon\">\n <ax-icon class=\"fa-light fa-chart-line\"></ax-icon>\n </div>\n <div class=\"__no-report-content\">\n <h3 class=\"__no-report-title\">\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\n </h3>\n <p class=\"__no-report-description\">\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\n </p>\n <div class=\"__no-report-actions\">\n <ax-button\n look=\"outline\"\n color=\"primary\"\n [text]=\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-folder-open\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$1.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$1.AXButtonItemComponent, selector: "ax-button-item", inputs: ["color", "disabled", "text", "selected", "divided", "data", "name"], outputs: ["onClick", "onFocus", "onBlur", "disabledChange"] }, { kind: "component", type: i2$1.AXButtonItemListComponent, selector: "ax-button-item-list", inputs: ["items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.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: AXLoadingModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1$3.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDropdownButtonModule }, { 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: "component", type:
|
1704
1934
|
//
|
1705
|
-
AXPDynamicFormComponent, selector: "axp-dynamic-form", inputs: ["formDefinition", "context", "layoutStyle", "layoutConfig"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPReportTableViewComponent, selector: "axp-report-table-view",
|
1935
|
+
AXPDynamicFormComponent, selector: "axp-dynamic-form", inputs: ["formDefinition", "context", "layoutStyle", "layoutConfig"], outputs: ["contextChange", "contextInitiated", "validityChange"] }, { kind: "component", type: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "component", type: AXPThemeLayoutBlockComponent, selector: " axp-page-content, axp-page-footer-container, axp-page-footer, axp-page-header, axp-page-header-container, axp-page-toolbar, axp-layout-content, axp-layout-page-content, axp-layout-sections, axp-layout-body, axp-layout-page-body, axp-layout-prefix, axp-layout-suffix, axp-layout-title-bar, axp-layout-title, axp-layout-title-actions, axp-layout-nav-button, axp-layout-description, axp-layout-breadcrumbs, axp-layout-list-action, " }, { kind: "component", type: AXPReportTableViewComponent, selector: "axp-report-table-view" }, { kind: "component", type: AXPReportChartViewComponent, selector: "axp-report-chart-view" }, { kind: "component", type: AXPThemeLayoutFooterComponent, selector: "axp-layout-footer, axp-layout-page-footer" }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
1706
1936
|
}
|
1707
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
1937
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.3", ngImport: i0, type: AXPReportViewerPageComponent, decorators: [{
|
1708
1938
|
type: Component,
|
1709
1939
|
args: [{ selector: 'axp-report-viewer-page', standalone: true, imports: [
|
1710
1940
|
CommonModule,
|
@@ -1712,6 +1942,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
1712
1942
|
AXDecoratorModule,
|
1713
1943
|
AXLoadingModule,
|
1714
1944
|
AXTranslationModule,
|
1945
|
+
AXDropdownButtonModule,
|
1946
|
+
AXDropdownModule,
|
1715
1947
|
//
|
1716
1948
|
AXPDynamicFormComponent,
|
1717
1949
|
AXPPageLayoutComponent,
|
@@ -1719,6 +1951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
1719
1951
|
AXPThemeLayoutHeaderComponent,
|
1720
1952
|
AXPThemeLayoutBlockComponent,
|
1721
1953
|
AXPReportTableViewComponent,
|
1954
|
+
AXPReportChartViewComponent,
|
1722
1955
|
AXPThemeLayoutFooterComponent
|
1723
1956
|
], providers: [
|
1724
1957
|
AXUnsubscriber,
|
@@ -1727,7 +1960,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.7", ngImpor
|
|
1727
1960
|
provide: AXPPageLayoutBase,
|
1728
1961
|
useExisting: AXPReportViewerPageComponent,
|
1729
1962
|
},
|
1730
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-viewer-page' }, template: "<axp-page-layout *translate=\"let t\">\n <!-- Left Panel: Filters (Always visible for desktop) -->\n @if (showFiltersPanel()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\n </axp-layout-title>\n </axp-layout-header>\n <axp-layout-content>\n <div class=\"__filters-container\">\n <axp-dynamic-form\n #filtersForm\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.filterContext()\"\n [layoutConfig]=\"defaultLayout()\"\n [layoutStyle]=\"'compact'\"\n (contextChange)=\"handleFiltersChange($event)\"\n (contextInitiated)=\"handleFiltersInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n </axp-layout-content>\n <axp-layout-footer class=\"ax-p-4 ax-border-t\">\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n class=\"ax-w-full\"\n [text]=\"t('@report-management:features.report-viewer.actions.execute') | async\"\n [color]=\"'primary'\"\n (onClick)=\"execute({ name: 'execute-report' })\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-play\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </axp-layout-footer>\n </axp-layout-start-side>\n }\n <!-- Main Content: Report Display -->\n <axp-page-content>\n @if (!vm.reportDefinition()) {\n <ng-container *ngTemplateOutlet=\"noReport\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"reportDisplay\"></ng-container>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Report Display Area -->\n<ng-template #reportDisplay>\n @if (vm.isTableLayout()) {\n <axp-report-table-view
|
1963
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { class: 'axp-report-viewer-page' }, template: "<axp-page-layout *translate=\"let t\">\n <!-- Left Panel: Filters (Always visible for desktop) -->\n @if (showFiltersPanel()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>\n {{ t('@report-management:features.report-viewer.filters.title') | async }}\n </axp-layout-title>\n </axp-layout-header>\n <axp-layout-content>\n <div class=\"__filters-container\">\n <axp-dynamic-form\n #filtersForm\n [formDefinition]=\"vm.formDefinition()\"\n [context]=\"vm.filterContext()\"\n [layoutConfig]=\"defaultLayout()\"\n [layoutStyle]=\"'compact'\"\n (contextChange)=\"handleFiltersChange($event)\"\n (contextInitiated)=\"handleFiltersInitiated($event)\"\n >\n </axp-dynamic-form>\n </div>\n </axp-layout-content>\n <axp-layout-footer class=\"ax-p-4 ax-border-t\">\n <ax-button\n [class.ax-sm]=\"layoutService.isSmall()\"\n class=\"ax-w-full\"\n [text]=\"t('@report-management:features.report-viewer.actions.execute') | async\"\n [color]=\"'primary'\"\n (onClick)=\"execute({ name: 'execute-report' })\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-play\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </axp-layout-footer>\n </axp-layout-start-side>\n }\n\n <axp-page-toolbar>\n <axp-layout-prefix>\n @if (vm.hasMultipleLayouts()) {\n <ax-button [text]=\"vm.currentLayout()?.title\">\n <ax-icon icon=\"fa-light {{ vm.currentLayout()?.icon }}\"></ax-icon>\n <ax-dropdown-panel>\n @for (layout of vm.availableLayouts(); track layout.id) {\n <ax-button-item-list>\n <ax-button-item\n [text]=\"layout.title\"\n [selected]=\"vm.currentLayout()?.id === layout.id\"\n (onClick)=\"vm.switchLayout(layout.id)\"\n >\n <ax-icon icon=\"fa-light {{ layout.icon }}\"></ax-icon>\n </ax-button-item>\n </ax-button-item-list>\n }\n </ax-dropdown-panel>\n </ax-button>\n }\n </axp-layout-prefix>\n <axp-layout-suffix> </axp-layout-suffix>\n </axp-page-toolbar>\n\n <!-- Main Content: Report Display -->\n <axp-page-content>\n @if (!vm.reportDefinition()) {\n <ng-container *ngTemplateOutlet=\"noReport\"></ng-container>\n } @else {\n <ng-container *ngTemplateOutlet=\"reportDisplay\"></ng-container>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Report Display Area -->\n<ng-template #reportDisplay>\n @if (vm.isTableLayout()) {\n <axp-report-table-view> </axp-report-table-view>\n } @else if (vm.isChartLayout()) {\n <axp-report-chart-view> </axp-report-chart-view>\n }\n</ng-template>\n\n<!-- No Report Selected State -->\n<ng-template #noReport>\n <div class=\"__no-report\" *translate=\"let t\">\n <div class=\"__no-report-icon\">\n <ax-icon class=\"fa-light fa-chart-line\"></ax-icon>\n </div>\n <div class=\"__no-report-content\">\n <h3 class=\"__no-report-title\">\n {{ t('@report-management:features.report-viewer.no-report.title') | async }}\n </h3>\n <p class=\"__no-report-description\">\n {{ t('@report-management:features.report-viewer.no-report.description') | async }}\n </p>\n <div class=\"__no-report-actions\">\n <ax-button\n look=\"outline\"\n color=\"primary\"\n [text]=\"t('@report-management:features.report-viewer.no-report.browse-reports') | async\"\n >\n <ax-prefix>\n <ax-icon class=\"fa-light fa-folder-open\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </div>\n </div>\n</ng-template>\n", styles: [".axp-report-viewer-page{display:flex;height:100%;width:100%;flex-direction:column}.axp-report-viewer-page axp-layout-start-side{height:100%;width:20rem;border-inline-end-width:1px;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}@media (min-width: 1920px){.axp-report-viewer-page axp-layout-start-side{width:24rem}}.axp-report-viewer-page axp-layout-start-side>axp-layout-header{height:73px;border-bottom-width:1px}.axp-report-viewer-page axp-layout-start-side axp-layout-content{overflow-x:auto;padding:.5rem}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections{gap:0px!important}.axp-report-viewer-page axp-layout-start-side axp-layout-content .__filters-container axp-layout-sections axp-layout-section{border-style:none!important;padding:0!important;--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.axp-report-viewer-page .__mobile-filters{flex-shrink:0;border-bottom-width:1px;--tw-border-opacity: 1;border-color:rgba(var(--ax-sys-color-border-lightest-surface),var(--tw-border-opacity, 1));padding:1rem;background-color:rgb(var(--ax-sys-color-lightest-surface));color:rgb(var(--ax-sys-color-on-lightest-surface));border-color:rgb(var(--ax-sys-color-border-lightest-surface))}.axp-report-viewer-page axp-page-content{display:flex;height:100%;flex-direction:column}.axp-report-viewer-page .__no-report{display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.axp-report-viewer-page .__no-report .__no-report-icon{margin-bottom:1rem;font-size:3.75rem;line-height:1;--tw-text-opacity: 1;color:rgba(var(--ax-sys-color-primary-500),var(--tw-text-opacity, 1));opacity:.5}.axp-report-viewer-page .__no-report .__no-report-content{max-width:28rem}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-title{margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-description{margin-bottom:1.5rem;font-size:.875rem;line-height:1.25rem;opacity:.75}.axp-report-viewer-page .__no-report .__no-report-content .__no-report-actions{display:flex;justify-content:center}.axp-report-viewer-page axp-report-table-view{flex:1 1 0%;overflow:hidden}\n"] }]
|
1731
1964
|
}] });
|
1732
1965
|
|
1733
1966
|
var reportViewerPage_component = /*#__PURE__*/Object.freeze({
|
@@ -1739,5 +1972,5 @@ var reportViewerPage_component = /*#__PURE__*/Object.freeze({
|
|
1739
1972
|
* Generated bundle index. Do not edit.
|
1740
1973
|
*/
|
1741
1974
|
|
1742
|
-
export { AXMReportManagementModule, AXPReportTableViewComponent, AXPReportViewerPageComponent, AXPReportViewerViewModel, RootConfig };
|
1975
|
+
export { AXMReportManagementModule, AXPReportChartViewComponent, AXPReportTableViewComponent, AXPReportViewerPageComponent, AXPReportViewerViewModel, RootConfig };
|
1743
1976
|
//# sourceMappingURL=acorex-modules-report-management.mjs.map
|