@acorex/modules 21.0.0-next.88 → 21.0.0-next.90
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/fesm2022/{acorex-modules-application-management-features-widget-view.component-uc8eGA-k.mjs → acorex-modules-application-management-features-widget-view.component-BNTT58PB.mjs} +2 -2
- package/fesm2022/{acorex-modules-application-management-features-widget-view.component-uc8eGA-k.mjs.map → acorex-modules-application-management-features-widget-view.component-BNTT58PB.mjs.map} +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-WGRBHMmQ.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-BDU2DZEq.mjs} +108 -53
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-BDU2DZEq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-BWG9hI3t.mjs → acorex-modules-assessment-management-assessment-session-answers-view.util-CzgivU3s.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session-answers-view.util-BWG9hI3t.mjs.map → acorex-modules-assessment-management-assessment-session-answers-view.util-CzgivU3s.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BtZ68Wt5.mjs → acorex-modules-assessment-management-fill-assessment-session.command-D6i0YZ3k.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-BtZ68Wt5.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-D6i0YZ3k.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-_rWx2Vje.mjs → acorex-modules-assessment-management-index-BPQ9AiD6.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-index-_rWx2Vje.mjs.map → acorex-modules-assessment-management-index-BPQ9AiD6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-CL6OmKwh.mjs → acorex-modules-assessment-management-index-BaMs2R6k.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-index-CL6OmKwh.mjs.map → acorex-modules-assessment-management-index-BaMs2R6k.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-BDqMpgdu.mjs → acorex-modules-assessment-management-index-YVENsZN4.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-index-BDqMpgdu.mjs.map → acorex-modules-assessment-management-index-YVENsZN4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-BwZPHD1o.mjs → acorex-modules-assessment-management-index-oXkGQDat.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-index-BwZPHD1o.mjs.map → acorex-modules-assessment-management-index-oXkGQDat.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DMeQF_J0.mjs → acorex-modules-assessment-management-preview-question.command-B6rHNI4x.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-DMeQF_J0.mjs.map → acorex-modules-assessment-management-preview-question.command-B6rHNI4x.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-CKmY95wj.mjs → acorex-modules-assessment-management-preview-questionnaire.command-DXB1Y7hz.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-CKmY95wj.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-DXB1Y7hz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CXf2p-tS.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-D2CNfj8T.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-CXf2p-tS.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-D2CNfj8T.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-CLZuPzUo.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-CF_tV-2p.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-CLZuPzUo.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-CF_tV-2p.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-CcGyOKUI.mjs → acorex-modules-assessment-management-review-assessment-session.command-CtEvoUxA.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-review-assessment-session.command-CcGyOKUI.mjs.map → acorex-modules-assessment-management-review-assessment-session.command-CtEvoUxA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CmieuVjM.mjs → acorex-modules-assessment-management-view-session-answers.command-CkyBkiXC.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-CmieuVjM.mjs.map → acorex-modules-assessment-management-view-session-answers.command-CkyBkiXC.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/acorex-modules-asset-management.mjs +37 -23
- package/fesm2022/acorex-modules-asset-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CMRT9dQC.mjs → acorex-modules-auth-acorex-modules-auth-Nw701LHa.mjs} +30 -30
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-CMRT9dQC.mjs.map → acorex-modules-auth-acorex-modules-auth-Nw701LHa.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-mOPBXcQc.mjs → acorex-modules-auth-app-chooser.component-FqCIt_8E.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-mOPBXcQc.mjs.map → acorex-modules-auth-app-chooser.component-FqCIt_8E.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-change-password.command-CceYk6DE.mjs → acorex-modules-auth-change-password.command-DND9Oka4.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-change-password.command-CceYk6DE.mjs.map → acorex-modules-auth-change-password.command-DND9Oka4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-edit-account-info.command-jF8A_Jsy.mjs → acorex-modules-auth-edit-account-info.command-bmdkZzYt.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-edit-account-info.command-jF8A_Jsy.mjs.map → acorex-modules-auth-edit-account-info.command-bmdkZzYt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-lock-screen.command-BvruxuiF.mjs → acorex-modules-auth-lock-screen.command-DSGXqDVD.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-lock-screen.command-BvruxuiF.mjs.map → acorex-modules-auth-lock-screen.command-DSGXqDVD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CmBClJv2.mjs → acorex-modules-auth-login.module-DC3dzDf0.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-CmBClJv2.mjs.map → acorex-modules-auth-login.module-DC3dzDf0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-CLGmgSqo.mjs → acorex-modules-auth-master.layout-iMOvevEv.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-CLGmgSqo.mjs.map → acorex-modules-auth-master.layout-iMOvevEv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-yxfNoBS-.mjs → acorex-modules-auth-oauth-callback.component-s9WMG92M.mjs} +3 -3
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-yxfNoBS-.mjs.map → acorex-modules-auth-oauth-callback.component-s9WMG92M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-open-sessions.command-DsWueHa3.mjs → acorex-modules-auth-open-sessions.command-CLL8rgjE.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-open-sessions.command-DsWueHa3.mjs.map → acorex-modules-auth-open-sessions.command-CLL8rgjE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-C3_tAt8j.mjs → acorex-modules-auth-password.component-BOEi91f7.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-C3_tAt8j.mjs.map → acorex-modules-auth-password.component-BOEi91f7.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BrTEuc51.mjs → acorex-modules-auth-password.component-eA_3LtcO.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BrTEuc51.mjs.map → acorex-modules-auth-password.component-eA_3LtcO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-C6_0oeCC.mjs → acorex-modules-auth-profile-activity-chart.component-BK1k4Lrh.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-activity-chart.component-C6_0oeCC.mjs.map → acorex-modules-auth-profile-activity-chart.component-BK1k4Lrh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-EhmuT88j.mjs → acorex-modules-auth-profile-delete-account-danger-zone.component-CHru1be-.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-delete-account-danger-zone.component-EhmuT88j.mjs.map → acorex-modules-auth-profile-delete-account-danger-zone.component-CHru1be-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-page-component.provider-BHEdqBbF.mjs → acorex-modules-auth-profile-page-component.provider-MCsUPTrt.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-profile-page-component.provider-BHEdqBbF.mjs.map → acorex-modules-auth-profile-page-component.provider-MCsUPTrt.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-profile-page.component-Q0ixAWtC.mjs → acorex-modules-auth-profile-page.component-DOj2GhFJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-profile-page.component-Q0ixAWtC.mjs.map → acorex-modules-auth-profile-page.component-DOj2GhFJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-remove-pin-code.command-j5iobHAs.mjs → acorex-modules-auth-remove-pin-code.command-CqRxKR4Y.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-remove-pin-code.command-j5iobHAs.mjs.map → acorex-modules-auth-remove-pin-code.command-CqRxKR4Y.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-BFACBfAG.mjs → acorex-modules-auth-routes-FZRnzT9V.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-BFACBfAG.mjs.map → acorex-modules-auth-routes-FZRnzT9V.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-flpWlR8p.mjs → acorex-modules-auth-session-lock-overlay.component-6o2uU9U5.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-session-lock-overlay.component-flpWlR8p.mjs.map → acorex-modules-auth-session-lock-overlay.component-6o2uU9U5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-set-pin-code.command-B0sXGsok.mjs → acorex-modules-auth-set-pin-code.command-CsXJ30Fs.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-set-pin-code.command-B0sXGsok.mjs.map → acorex-modules-auth-set-pin-code.command-CsXJ30Fs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-set-pin-code.component-D95Hn8R-.mjs → acorex-modules-auth-set-pin-code.component-DJhqru7e.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-set-pin-code.component-D95Hn8R-.mjs.map → acorex-modules-auth-set-pin-code.component-DJhqru7e.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-D0-hEHd2.mjs → acorex-modules-auth-settings.provider-BJ7lDjbr.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-settings.provider-D0-hEHd2.mjs.map → acorex-modules-auth-settings.provider-BJ7lDjbr.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DBIVSBaM.mjs → acorex-modules-auth-tenant-chooser.component-DR7rH0m1.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-DBIVSBaM.mjs.map → acorex-modules-auth-tenant-chooser.component-DR7rH0m1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-DwXsAUlJ.mjs → acorex-modules-auth-two-factor.module-BvvDIlqe.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-DwXsAUlJ.mjs.map → acorex-modules-auth-two-factor.module-BvvDIlqe.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-view-login-history.command-BpCog3dx.mjs → acorex-modules-auth-view-login-history.command-BUiXUbjA.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-view-login-history.command-BpCog3dx.mjs.map → acorex-modules-auth-view-login-history.command-BUiXUbjA.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-business-core.mjs +0 -6
- package/fesm2022/acorex-modules-business-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-common-search-popup.component-6_qrYkc2.mjs → acorex-modules-common-search-popup.component-BhItO3Sr.mjs} +2 -2
- package/fesm2022/{acorex-modules-common-search-popup.component-6_qrYkc2.mjs.map → acorex-modules-common-search-popup.component-BhItO3Sr.mjs.map} +1 -1
- package/fesm2022/acorex-modules-common.mjs +39 -52
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/{acorex-modules-contact-core-acorex-modules-contact-core-CBMdv1GN.mjs → acorex-modules-contact-core-acorex-modules-contact-core-CELmV51p.mjs} +8 -7
- package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-CELmV51p.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-core-entity.provider-B8__CVGP.mjs → acorex-modules-contact-core-entity.provider-AH-gvpLJ.mjs} +3 -3
- package/fesm2022/{acorex-modules-contact-core-entity.provider-B8__CVGP.mjs.map → acorex-modules-contact-core-entity.provider-AH-gvpLJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-contact-core-menu.provider-C-iEIPGe.mjs → acorex-modules-contact-core-menu.provider-T9IuzSBf.mjs} +11 -5
- package/fesm2022/acorex-modules-contact-core-menu.provider-T9IuzSBf.mjs.map +1 -0
- package/fesm2022/{acorex-modules-contact-core-permission-definition.provider-DXjdp846.mjs → acorex-modules-contact-core-permission-definition.provider-CnxI1ujq.mjs} +2 -2
- package/fesm2022/{acorex-modules-contact-core-permission-definition.provider-DXjdp846.mjs.map → acorex-modules-contact-core-permission-definition.provider-CnxI1ujq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-contact-core.mjs +1 -1
- package/fesm2022/{acorex-modules-conversation-acorex-modules-conversation-CUjTT3M7.mjs → acorex-modules-conversation-acorex-modules-conversation-Dc8te-PO.mjs} +6127 -3272
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dc8te-PO.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation-after-message-sent.command-DxDe6o9N.mjs +34 -0
- package/fesm2022/acorex-modules-conversation-after-message-sent.command-DxDe6o9N.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-CGcngwdA.mjs → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Dyx_n0bi.mjs} +6 -6
- package/fesm2022/{acorex-modules-conversation-assist-delegated-agent-detail-popup.component-CGcngwdA.mjs.map → acorex-modules-conversation-assist-delegated-agent-detail-popup.component-Dyx_n0bi.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-conversation-comments-page.component-hopaF6xW.mjs → acorex-modules-conversation-comments-page.component--g4ugC_L.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-hopaF6xW.mjs.map → acorex-modules-conversation-comments-page.component--g4ugC_L.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation-emit-typing-indicator.command-BOldPLQ0.mjs +30 -0
- package/fesm2022/acorex-modules-conversation-emit-typing-indicator.command-BOldPLQ0.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation-mark-conversation-unread.command-O_zPrBQ0.mjs +30 -0
- package/fesm2022/acorex-modules-conversation-mark-conversation-unread.command-O_zPrBQ0.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation-retry-assist-response.command-DsB-CP3R.mjs +34 -0
- package/fesm2022/acorex-modules-conversation-retry-assist-response.command-DsB-CP3R.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-send-assist-chat-message.command-CqDrZKFK.mjs → acorex-modules-conversation-send-assist-chat-message.command-g_NgPuxP.mjs} +19 -9
- package/fesm2022/acorex-modules-conversation-send-assist-chat-message.command-g_NgPuxP.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-DiDAz-Is.mjs → acorex-modules-conversation-start-assist-chat.command-DeMmJdd6.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-start-assist-chat.command-DiDAz-Is.mjs.map → acorex-modules-conversation-start-assist-chat.command-DeMmJdd6.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation-sync-read-state.command-4YxdwLaE.mjs +62 -0
- package/fesm2022/acorex-modules-conversation-sync-read-state.command-4YxdwLaE.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation.mjs +1 -1
- package/fesm2022/acorex-modules-customer-management.mjs +2 -2
- package/fesm2022/acorex-modules-customer-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-Lx3VuIg6.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-kph3UxDu.mjs} +1087 -395
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-kph3UxDu.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-DvY9N8FF.mjs → acorex-modules-dashboard-management-index-rp9dgARq.mjs} +2 -2
- package/fesm2022/{acorex-modules-dashboard-management-index-DvY9N8FF.mjs.map → acorex-modules-dashboard-management-index-rp9dgARq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/{acorex-modules-data-management-index-CxVSgxTM.mjs → acorex-modules-data-management-index-BYQncZ6e.mjs} +28 -6
- package/fesm2022/acorex-modules-data-management-index-BYQncZ6e.mjs.map +1 -0
- package/fesm2022/acorex-modules-data-management.mjs +6 -6
- package/fesm2022/acorex-modules-data-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs → acorex-modules-document-management-drive-choose.component-Dx1slMSA.mjs} +3 -3
- package/fesm2022/{acorex-modules-document-management-drive-choose.component-DyJoXajP.mjs.map → acorex-modules-document-management-drive-choose.component-Dx1slMSA.mjs.map} +1 -1
- package/fesm2022/acorex-modules-document-management.mjs +272 -355
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-cLToc9fP.mjs → acorex-modules-form-template-management-template-picker.component-BGf98ooQ.mjs} +2 -2
- package/fesm2022/{acorex-modules-form-template-management-template-picker.component-cLToc9fP.mjs.map → acorex-modules-form-template-management-template-picker.component-BGf98ooQ.mjs.map} +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-DpVAfk3i.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BZwLfZkb.mjs} +43 -22
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-BZwLfZkb.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-BDv_eotn.mjs → acorex-modules-human-capital-management-approve-leave-request.command-B_EBDijL.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-BDv_eotn.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-B_EBDijL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-CT49oS39.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-ZzWBeTv1.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-CT49oS39.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-ZzWBeTv1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-zAunbLbf.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-Bd3RvlNm.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-zAunbLbf.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-Bd3RvlNm.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-edit-personal-info.command-8LKMNm4Z.mjs → acorex-modules-human-capital-management-edit-personal-info.command-Drbi1WMd.mjs} +2 -6
- package/fesm2022/acorex-modules-human-capital-management-edit-personal-info.command-Drbi1WMd.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-edit-signature.command-BQ6Ysh-A.mjs → acorex-modules-human-capital-management-edit-signature.command-CRPqnXIj.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-edit-signature.command-BQ6Ysh-A.mjs.map → acorex-modules-human-capital-management-edit-signature.command-CRPqnXIj.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-CEAUhv0o.mjs → acorex-modules-human-capital-management-reject-leave-request.command-BC-1Kixd.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-CEAUhv0o.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-BC-1Kixd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-DakWOslg.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-Caylq9Rv.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-DakWOslg.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-Caylq9Rv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-start-leave-request-flow.command-BXMGzUuM.mjs → acorex-modules-human-capital-management-start-leave-request-flow.command-BsEwA1VM.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-start-leave-request-flow.command-BXMGzUuM.mjs.map → acorex-modules-human-capital-management-start-leave-request-flow.command-BsEwA1VM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B1s_i8U3.mjs → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B8xK2iTn.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B1s_i8U3.mjs.map → acorex-modules-human-capital-management-start-lifecycle-event-flow.command-B8xK2iTn.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-learning-management.mjs +1 -1
- package/fesm2022/acorex-modules-learning-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-location-management.mjs +2 -2
- package/fesm2022/acorex-modules-location-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs +1 -1
- package/fesm2022/acorex-modules-meeting-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-notification-management-acorex-modules-notification-management-DZSXFNgo.mjs → acorex-modules-notification-management-acorex-modules-notification-management-DZWUyu54.mjs} +4 -4
- package/fesm2022/{acorex-modules-notification-management-acorex-modules-notification-management-DZSXFNgo.mjs.map → acorex-modules-notification-management-acorex-modules-notification-management-DZWUyu54.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-swzDjJUP.mjs → acorex-modules-notification-management-notification-page.component-BNxTMY-C.mjs} +3 -3
- package/fesm2022/{acorex-modules-notification-management-notification-page.component-swzDjJUP.mjs.map → acorex-modules-notification-management-notification-page.component-BNxTMY-C.mjs.map} +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +1 -1
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-B6zOrUAS.mjs → acorex-modules-organization-management-acorex-modules-organization-management-BjKrMO_L.mjs} +37 -37
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-B6zOrUAS.mjs.map → acorex-modules-organization-management-acorex-modules-organization-management-BjKrMO_L.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BG6AQs-j.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-CgqydSZh.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BG6AQs-j.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-CgqydSZh.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DzA0h9ED.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-B_BIg-aF.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-DzA0h9ED.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-B_BIg-aF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-5ZGzmp95.mjs → acorex-modules-organization-management-add-team-to-business-unit.command-zFql0VH1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-team-to-business-unit.command-5ZGzmp95.mjs.map → acorex-modules-organization-management-add-team-to-business-unit.command-zFql0VH1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DKhXlL2j.mjs → acorex-modules-organization-management-entity.provider-Buchg68Q.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DKhXlL2j.mjs.map → acorex-modules-organization-management-entity.provider-Buchg68Q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DhCn97pE.mjs → acorex-modules-organization-management-feature-definition.provider-CulEun4H.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-DhCn97pE.mjs.map → acorex-modules-organization-management-feature-definition.provider-CulEun4H.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-C1WFmQ2x.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-D3k2BNKU.mjs} +4 -4
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-C1WFmQ2x.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-D3k2BNKU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-Bs28OWW8.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-CSwHAkh5.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-Bs28OWW8.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-CSwHAkh5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-C66FEcxc.mjs → acorex-modules-organization-management-job-definition-skills-page.component-CVo37Mx0.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-C66FEcxc.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-CVo37Mx0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DcOVF99r.mjs → acorex-modules-organization-management-job-level.datasource-CMxMInko.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-DcOVF99r.mjs.map → acorex-modules-organization-management-job-level.datasource-CMxMInko.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-B0v8w3eH.mjs → acorex-modules-organization-management-menu.provider-BL99vlod.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-menu.provider-B0v8w3eH.mjs.map → acorex-modules-organization-management-menu.provider-BL99vlod.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-B07M8tKi.mjs → acorex-modules-organization-management-org-chart-default-node-contribution.provider-CfvmOwYD.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-default-node-contribution.provider-B07M8tKi.mjs.map → acorex-modules-organization-management-org-chart-default-node-contribution.provider-CfvmOwYD.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DSvij02R.mjs → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CsvhhcoW.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-DSvij02R.mjs.map → acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CsvhhcoW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-BYWq-Aco.mjs → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Dvo2XEHn.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-BYWq-Aco.mjs.map → acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Dvo2XEHn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DiMvAEbk.mjs → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BsBsdoII.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart-ux-node-contribution.provider-DiMvAEbk.mjs.map → acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BsBsdoII.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-DwHB4ZGl.mjs → acorex-modules-organization-management-org-chart.page-DJNfsp4z.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-DwHB4ZGl.mjs.map → acorex-modules-organization-management-org-chart.page-DJNfsp4z.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-CynLhaYz.mjs → acorex-modules-organization-management-permission-definition.provider-CuReVYo1.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-CynLhaYz.mjs.map → acorex-modules-organization-management-permission-definition.provider-CuReVYo1.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-DUgDxwtI.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-mPTX8Vpc.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-DUgDxwtI.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-mPTX8Vpc.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BTAwsZNP.mjs → acorex-modules-organization-management-replace-position-assignee.command-DibpVA88.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-BTAwsZNP.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-DibpVA88.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-D904V181.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-zN1Vz3Om.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-D904V181.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-zN1Vz3Om.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BMFws_6Y.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BYOs9nrw.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BMFws_6Y.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-BYOs9nrw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-DXmsR1qV.mjs → acorex-modules-organization-management-responsibilities-matrix.component-DVlThT1h.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-DXmsR1qV.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-DVlThT1h.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-UFqps4Zg.mjs → acorex-modules-organization-management-settings.provider-BxoCS3w7.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-settings.provider-UFqps4Zg.mjs.map → acorex-modules-organization-management-settings.provider-BxoCS3w7.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/acorex-modules-person-core.mjs +0 -6
- package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +2 -2
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DsKPOWpy.mjs → acorex-modules-platform-management-acorex-modules-platform-management-B5hMhQp-.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DsKPOWpy.mjs.map → acorex-modules-platform-management-acorex-modules-platform-management-B5hMhQp-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-Br4nL9zq.mjs → acorex-modules-platform-management-menu-list.component-DcOr1v-f.mjs} +3 -3
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-Br4nL9zq.mjs.map → acorex-modules-platform-management-menu-list.component-DcOr1v-f.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-product-catalog.mjs +7 -6
- package/fesm2022/acorex-modules-product-catalog.mjs.map +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +708 -425
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs → acorex-modules-report-management-report-runner-root-page.component-CgrBAgqq.mjs} +2 -2
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs.map → acorex-modules-report-management-report-runner-root-page.component-CgrBAgqq.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +7 -7
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-risk-management-preview-risk-matrix-cell.command-CWG3zUBo.mjs +120 -0
- package/fesm2022/acorex-modules-risk-management-preview-risk-matrix-cell.command-CWG3zUBo.mjs.map +1 -0
- package/fesm2022/acorex-modules-risk-management.mjs +13 -0
- package/fesm2022/acorex-modules-risk-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-security-management.mjs +1 -1
- package/fesm2022/acorex-modules-security-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs → acorex-modules-settings-management-setting-view.component-BRhZR1br.mjs} +109 -15
- package/fesm2022/acorex-modules-settings-management-setting-view.component-BRhZR1br.mjs.map +1 -0
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/acorex-modules-supplier-management.mjs +1 -1
- package/fesm2022/acorex-modules-supplier-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-task-management-start-task-flow.command-HYdQOWDe.mjs +115 -0
- package/fesm2022/acorex-modules-task-management-start-task-flow.command-HYdQOWDe.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-FFhsAyHF.mjs → acorex-modules-task-management-task-board.page-BMTjJlry.mjs} +41 -32
- package/fesm2022/acorex-modules-task-management-task-board.page-BMTjJlry.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +490 -485
- package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-timesheet-management-report-hours-by-project.query-z38wZLKJ.mjs → acorex-modules-timesheet-management-report-hours-by-project.query-CGc1Q6aB.mjs} +2 -2
- package/fesm2022/acorex-modules-timesheet-management-report-hours-by-project.query-CGc1Q6aB.mjs.map +1 -0
- package/fesm2022/{acorex-modules-timesheet-management-resolve-work-item-from-jira-issue.command-BDfvz6fH.mjs → acorex-modules-timesheet-management-resolve-work-item-from-jira-issue.command-AIcAUd3s.mjs} +2 -2
- package/fesm2022/{acorex-modules-timesheet-management-resolve-work-item-from-jira-issue.command-BDfvz6fH.mjs.map → acorex-modules-timesheet-management-resolve-work-item-from-jira-issue.command-AIcAUd3s.mjs.map} +1 -1
- package/fesm2022/acorex-modules-timesheet-management.mjs +8 -8
- package/fesm2022/acorex-modules-timesheet-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-acorex-modules-workflow-management-DJeUheQT.mjs → acorex-modules-workflow-management-acorex-modules-workflow-management-D04WU8wX.mjs} +32 -25
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-D04WU8wX.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-index--6gz3uRb.mjs → acorex-modules-workflow-management-index-Bfzsu6VL.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-index--6gz3uRb.mjs.map → acorex-modules-workflow-management-index-Bfzsu6VL.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-DV7Uf5hP.mjs → acorex-modules-workflow-management-index-CG1-u2Va.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-DV7Uf5hP.mjs.map → acorex-modules-workflow-management-index-CG1-u2Va.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-C702Snjg.mjs → acorex-modules-workflow-management-index-DtKZARCI.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-C702Snjg.mjs.map → acorex-modules-workflow-management-index-DtKZARCI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-C60ABOUE.mjs → acorex-modules-workflow-management-save-workflow-definition-activities.command-80PIS1oE.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-save-workflow-definition-activities.command-C60ABOUE.mjs.map → acorex-modules-workflow-management-save-workflow-definition-activities.command-80PIS1oE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-ChnPuG_J.mjs → acorex-modules-workflow-management-workflow-configurator-widget-column.component-CXhrrqa_.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-column.component-ChnPuG_J.mjs.map → acorex-modules-workflow-management-workflow-configurator-widget-column.component-CXhrrqa_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-configurator-widget-edit.component-BqydSkbP.mjs → acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CzPQUA9m.mjs} +47 -25
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-CzPQUA9m.mjs.map +1 -0
- package/fesm2022/{acorex-modules-workflow-management-workflow-run-history-popup.component-D_yi-Ccp.mjs → acorex-modules-workflow-management-workflow-run-history-popup.component-CTs6Sdm2.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-run-history-popup.component-D_yi-Ccp.mjs.map → acorex-modules-workflow-management-workflow-run-history-popup.component-CTs6Sdm2.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-CdvuOzXH.mjs → acorex-modules-workflow-management-workflow-task-popover.component-CaIIzv1r.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-task-popover.component-CdvuOzXH.mjs.map → acorex-modules-workflow-management-workflow-task-popover.component-CaIIzv1r.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +1 -1
- package/fesm2022/acorex-modules-workplacesafety-management-control-hierarchy-diagram-widget-edit.component-CFF7X1MO.mjs +70 -0
- package/fesm2022/acorex-modules-workplacesafety-management-control-hierarchy-diagram-widget-edit.component-CFF7X1MO.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management-control-hierarchy-diagram-widget-view.component-DwC2aHVt.mjs +70 -0
- package/fesm2022/acorex-modules-workplacesafety-management-control-hierarchy-diagram-widget-view.component-DwC2aHVt.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management-control-hierarchy-diagram.types-DmzV305e.mjs +195 -0
- package/fesm2022/acorex-modules-workplacesafety-management-control-hierarchy-diagram.types-DmzV305e.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-ppe-rule-status.provider-BsRNRZ6z.mjs +42 -0
- package/fesm2022/acorex-modules-workplacesafety-management-hazard-risk-ppe-rule-status.provider-BsRNRZ6z.mjs.map +1 -0
- package/fesm2022/acorex-modules-workplacesafety-management.mjs +630 -307
- package/fesm2022/acorex-modules-workplacesafety-management.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-modules-asset-management.d.ts +7 -3
- package/types/acorex-modules-contact-core.d.ts +1 -0
- package/types/acorex-modules-conversation.d.ts +898 -161
- package/types/acorex-modules-dashboard-management.d.ts +75 -10
- package/types/acorex-modules-document-management.d.ts +25 -5
- package/types/acorex-modules-human-capital-management.d.ts +4 -0
- package/types/acorex-modules-project-management.d.ts +46 -23
- package/types/acorex-modules-report-management.d.ts +2 -0
- package/types/acorex-modules-task-management.d.ts +100 -15
- package/types/acorex-modules-timesheet-management.d.ts +2 -2
- package/types/acorex-modules-workflow-management.d.ts +9 -4
- package/types/acorex-modules-workplacesafety-management.d.ts +62 -34
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-WGRBHMmQ.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core-acorex-modules-contact-core-CBMdv1GN.mjs.map +0 -1
- package/fesm2022/acorex-modules-contact-core-menu.provider-C-iEIPGe.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-CUjTT3M7.mjs.map +0 -1
- package/fesm2022/acorex-modules-conversation-send-assist-chat-message.command-CqDrZKFK.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-Lx3VuIg6.mjs.map +0 -1
- package/fesm2022/acorex-modules-data-management-index-CxVSgxTM.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-DpVAfk3i.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-edit-personal-info.command-8LKMNm4Z.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-view.component-CG-GW2yS.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-FFhsAyHF.mjs.map +0 -1
- package/fesm2022/acorex-modules-timesheet-management-report-hours-by-project.query-z38wZLKJ.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-acorex-modules-workflow-management-DJeUheQT.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-configurator-widget-edit.component-BqydSkbP.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-modules-report-management-report-runner-root-page.component-DaPEmTm9.mjs","sources":["../../../../libs/modules/report-management/src/lib/features/report-runner/report-categories-tree/report-categories-tree.component.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-categories-tree/report-categories-tree.component.html","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner.viewmodel.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTreeItemClickBaseEventLegacy, AXTreeViewLegacyModule } from '@acorex/components/tree-view-legacy';\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { ChangeDetectionStrategy, Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../../reports';\n\n//#endregion\n\n//#region ---- Interface ----\n\n/**\n * Tree view item with optimized metadata\n *\n * Uses count properties for efficient rendering:\n * - hasChild: Determined by childrenCount + itemsCount\n * - No need to query API to know if expandable\n */\nexport interface TreeViewItem {\n id: string;\n title: string;\n hasChild: boolean; // childrenCount > 0 || itemsCount > 0\n children?: TreeViewItem[];\n item?: AXPReportCategory | AXPReportDefinition;\n type: 'category' | 'definition';\n expanded: boolean;\n}\n\n//#endregion\n\n@Component({\n selector: 'axp-report-categories-tree',\n standalone: true,\n imports: [AXDecoratorModule, AXTreeViewLegacyModule],\n templateUrl: './report-categories-tree.component.html',\n styleUrl: './report-categories-tree.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'axp-report-categories-tree' },\n})\nexport class AXPReportCategoriesTreeComponent {\n //#region ---- Services & Dependencies ----\n\n private readonly reportDefinitionService = inject(AXPReportViewerService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Output Events ----\n\n /**\n * Emitted when a category node is clicked\n */\n categoryClick = output<AXPReportCategory>();\n\n /**\n * Emitted when a report node is clicked\n */\n reportClick = output<AXPReportDefinition>();\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Provide lazy loading tree data with optimized queries\n *\n * Optimizations:\n * 1. Uses childrenCount to determine expandability (no extra query)\n * 2. Uses itemsCount to skip report queries when count = 0\n * 3. Returns cached data on subsequent calls (via service layer)\n * 4. Single API call per category includes all metadata\n *\n * Performance: Most navigation is instant (cached), only first visit queries API\n */\n protected provideLazyTreeView = async (selectedItemId?: string | number): Promise<TreeViewItem[]> => {\n if (selectedItemId) {\n // ✅ Load child categories (includes childrenCount & itemsCount metadata)\n const categories = await this.reportDefinitionService.getCategories(selectedItemId as string);\n\n const categoryItems: TreeViewItem[] = categories.map((item) => ({\n id: item.id,\n title: this.multiLanguageResolver.resolve(item.title),\n // ✅ Optimization: Use count properties to determine expandability\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category' as const,\n expanded: false,\n }));\n\n // ✅ Load report definitions for this category\n // Optimization: Service checks itemsCount before querying (skip if 0)\n const definitions = await this.reportDefinitionService.getReportsByCategoryId(selectedItemId as string);\n\n const definitionItems: TreeViewItem[] = definitions.map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: false, // Reports are leaf nodes\n item: item,\n type: 'definition' as const,\n expanded: false,\n }));\n\n // ✅ Return categories first, then reports (sorted)\n return [...categoryItems, ...definitionItems];\n } else {\n // ✅ Root level - load root categories only\n const categories = await this.reportDefinitionService.getCategories();\n\n return categories.map((item) => ({\n id: item.id,\n title: this.multiLanguageResolver.resolve(item.title),\n // ✅ Optimization: Use count properties\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category' as const,\n expanded: false,\n }));\n }\n };\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle tree node click events\n *\n * Emits appropriate event based on node type:\n * - category → categoryClick\n * - definition → reportClick\n */\n protected handleNodeClick(event: AXTreeItemClickBaseEventLegacy): void {\n const node = event.data as TreeViewItem;\n\n if (node.type === 'category') {\n this.categoryClick.emit(node.item as AXPReportCategory);\n } else if (node.type === 'definition') {\n this.reportClick.emit(node.item as AXPReportDefinition);\n }\n }\n\n //#endregion\n}\n","<ax-tree-view-legacy\n [showCheckbox]=\"false\"\n [itemTemplate]=\"itemTemplate\"\n [textField]=\"'title'\"\n [hasChildField]=\"'hasChild'\"\n [valueField]=\"'id'\"\n [expandedField]=\"'expanded'\"\n [items]=\"provideLazyTreeView\"\n (onNodeClick)=\"handleNodeClick($event)\"\n>\n</ax-tree-view-legacy>\n\n<ng-template #itemTemplate let-item>\n @if (item.type === 'category') {\n <ax-icon class=\"fas ax-text-warning fa-folder\"></ax-icon>\n } @else {\n <ax-icon class=\"fas ax-text-accent1 fa-file-chart-column\"></ax-icon>\n }\n {{ item.title }}\n</ng-template>\n","import { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPDeviceService } from '@acorex/platform/core';\nimport { AXPPageStatus } from '@acorex/platform/layout/widget-core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { isEmpty, isNil } from 'lodash-es';\nimport { merge } from 'rxjs';\nimport { RootConfig } from '../../contracts';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../reports';\n\nexport const AXPReportRunnerRootViewModel = signalStore(\n withState(() => ({\n activeCategory: undefined as AXPReportCategory | undefined,\n categories: [] as AXPReportCategory[],\n reports: [] as AXPReportDefinition[],\n activeCategoriesPath: [] as AXPReportCategory[],\n //\n searchExpression: null as string | null,\n //\n status: AXPPageStatus.Processing,\n })),\n withComputed((store, deviceService = inject(AXPDeviceService)) => ({\n searchResults: computed(() => []),\n hasActiveCategory: computed(() => store.activeCategory() != null),\n showSideMenu: computed(() => deviceService.isLarge()),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isLoaded: computed(() => store.activeCategory() != null),\n title: computed(() => store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:report-runner.terms.page-title`),\n description: computed(\n () =>\n store.activeCategory()?.description ??\n `@${RootConfig.config.i18n}:report-runner.components.report-runner.description`,\n ),\n })),\n withMethods((store, reportDefinitionService = inject(AXPReportViewerService)) => ({\n /**\n * Load root categories\n *\n * Optimization: Service caches result, subsequent calls are instant\n */\n async loadRootCategories(): Promise<void> {\n patchState(store, {\n activeCategory: undefined,\n reports: [],\n activeCategoriesPath: [],\n status: AXPPageStatus.Processing,\n });\n\n const categories = await reportDefinitionService.getCategories();\n\n patchState(store, {\n categories,\n status: AXPPageStatus.Idle,\n });\n },\n\n /**\n * Get categories by parentId (cached by service)\n */\n async getCategories(parentId?: string): Promise<AXPReportCategory[]> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const result = await reportDefinitionService.getCategories(parentId);\n\n patchState(store, { status: AXPPageStatus.Idle });\n\n return result;\n },\n\n /**\n * Get reports for a category\n *\n * Optimization: Service checks itemsCount before querying\n * - If itemsCount = 0, returns empty array (no API call)\n * - If cached, returns instantly\n */\n async getReports(categoryId: string): Promise<AXPReportDefinition[]> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const result = await reportDefinitionService.getReportsByCategoryId(categoryId);\n\n patchState(store, { status: AXPPageStatus.Idle });\n\n return result;\n },\n\n /**\n * Set active category and load its data\n *\n * Optimization: All 3 queries benefit from caching\n * - Categories: Cached from previous navigation\n * - Reports: Skipped if itemsCount = 0\n * - Path: Built from cached categories\n */\n async setActiveCategory(category: AXPReportCategory): Promise<void> {\n patchState(store, {\n status: AXPPageStatus.Processing,\n activeCategory: category,\n });\n\n // ✅ Parallel loading for better performance\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n status: AXPPageStatus.Idle,\n });\n },\n\n /**\n * Set active category by ID\n *\n * Optimization: getCategoryById uses O(1) cache lookup\n */\n async setActiveCategoryById(id: string): Promise<void> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const category = await reportDefinitionService.getCategoryById(id);\n\n if (category) {\n patchState(store, { activeCategory: category });\n\n // ✅ Parallel loading\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n });\n }\n\n patchState(store, { status: AXPPageStatus.Idle });\n },\n\n /**\n * Search for reports (to be implemented)\n */\n async search(expression: string): Promise<void> {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, { searchExpression: expression });\n } else {\n patchState(store, { searchExpression: null });\n }\n },\n\n /**\n * Clear search\n */\n clearSearch(): void {\n patchState(store, { searchExpression: null });\n },\n })),\n withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => { });\n //\n await store.loadRootCategories();\n },\n onDestroy() { },\n })),\n);\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPBackButton, AXPBreadcrumbItem, AXPExecuteCommand } from '@acorex/platform/contracts';\nimport { AXPActionMenuItem } from '@acorex/platform/core';\nimport {\n AXPStateMessageComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutToolbarComponent,\n} from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, RouterModule } from '@angular/router';\nimport { filter, firstValueFrom, startWith } from 'rxjs';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../../reports';\nimport { AXPReportCategoriesTreeComponent } from '../report-categories-tree/report-categories-tree.component';\nimport { AXPReportRunnerRootViewModel } from '../report-runner.viewmodel';\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n //\n AXPReportCategoriesTreeComponent,\n AXPStateMessageComponent,\n ],\n templateUrl: './report-runner-root-page.component.html',\n styleUrl: './report-runner-root-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ],\n host: { class: 'axp-report-runner-root-page' },\n})\nexport class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {\n protected vm = inject(AXPReportRunnerRootViewModel);\n protected override layoutService = inject(AXPLayoutThemeService);\n private activatedRoute = inject(ActivatedRoute);\n private unsubscribe = inject(AXUnsubscriber);\n private reportDefinitionService = inject(AXPReportViewerService);\n private workflow = inject(AXPWorkflowService);\n private multiLanguageResolver = inject(AXTranslationService);\n\n private baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(\n this.unsubscribe.takeUntilDestroy,\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n )\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n\n private async loadFromRoute(): Promise<void> {\n const snapshot = this.activatedRoute.snapshot;\n const segments = await firstValueFrom(this.activatedRoute.url);\n\n let categoryId = segments[segments.length - 1]?.path ?? null;\n if (categoryId) {\n await this.vm.setActiveCategoryById(categoryId);\n } else {\n await this.vm.loadRootCategories();\n return;\n }\n //\n\n let reportId = snapshot.queryParamMap.get('report') ?? null;\n\n if (reportId) {\n // Navigate directly to viewer instead of showing parameters\n await this.navigateToViewer(reportId);\n }\n }\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle category selection from tree\n */\n protected async onCategoryClick(category: AXPReportCategory): Promise<void> {\n await this.navigateToCategory(category);\n }\n\n /**\n * Handle report selection from tree\n */\n protected async onReportClick(report: AXPReportDefinition): Promise<void> {\n await this.navigateToReport(report);\n }\n\n /**\n * Navigate directly to report viewer with the selected report\n */\n private async navigateToViewer(reportId: string): Promise<void> {\n const baseViewerRoute = [this.sessionService.application?.name, 'report-management', 'viewer'];\n await this.router.navigate(baseViewerRoute, {\n queryParams: { reportId },\n });\n }\n\n //#endregion\n\n protected async navigateToCategory(category: AXPReportCategory): Promise<void> {\n // Find the path to this category\n const path = await this.reportDefinitionService.getCategoriesPathById(category.id);\n // Find the index of the target category in the path\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n\n protected async navigateToReport(report: AXPReportDefinition): Promise<void> {\n // Navigate directly to viewer instead of showing parameters in runner\n await this.navigateToViewer(report.id);\n }\n\n //#region ---- Page Configuration Overrides ----\n\n protected override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n const path = this.vm.activeCategoriesPath();\n const report = {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n command: {\n name: 'navigate-to-reports-root',\n },\n };\n if (!path || path.length === 0) {\n return [report];\n }\n const breadcrumbs: AXPBreadcrumbItem[] = [report];\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts = [...urlParts, cat.id];\n breadcrumbs.push({\n name: cat.id,\n title: this.multiLanguageResolver.resolve(cat.title),\n command: {\n name: 'navigate-to-category',\n options: {\n category: cat,\n },\n },\n });\n }\n return breadcrumbs;\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [];\n }\n\n override async getPageTitle(): Promise<string> {\n return this.multiLanguageResolver.resolve(this.vm.title() ?? '');\n }\n\n override async getPageDescription(): Promise<string | null> {\n const d = this.multiLanguageResolver.resolve(this.vm.description() ?? '');\n return d || null;\n }\n\n override async getBackButton(): Promise<AXPBackButton | null> {\n const categoriesPath = this.vm.activeCategoriesPath();\n\n if (!categoriesPath || categoriesPath.length === 0) {\n // At root level, no back button\n return null;\n }\n\n if (categoriesPath.length === 1) {\n // At first level category, back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n };\n }\n\n // At deeper level, back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 2];\n return {\n title: this.multiLanguageResolver.resolve(parentCategory.title),\n };\n }\n\n override async onBackButtonClick(): Promise<void> {\n const categoriesPath = this.vm.activeCategoriesPath();\n\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes]);\n } else {\n // Navigate to parent category\n const parentCategoriesPath = categoriesPath.slice(0, -1);\n let urlParts = [...this.baseRoutes];\n for (const cat of parentCategoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n\n override async execute(command: AXPExecuteCommand): Promise<void> {\n switch (command.name) {\n case 'navigate-to-category':\n await this.navigateToCategory(command.options?.['category'] as AXPReportCategory);\n break;\n case 'navigate-to-reports-root':\n await this.router.navigate([...this.baseRoutes]);\n break;\n case 'create-report':\n await this.workflow.execute('report-create', {\n data: {\n categoryId: this.vm.activeCategory()?.id ?? null,\n },\n });\n break;\n }\n }\n\n override async getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n // {\n // title: '@general:actions.create.title',\n // icon: 'fa-light fa-plus',\n // color: 'primary',\n // command: {\n // name: 'create-report',\n // },\n // },\n ];\n }\n\n //#endregion\n}\n","<axp-page-layout *translate=\"let t\">\n @if (vm.showSideMenu()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ t('@report-management:report-runner.terms.menu-title') | async }}</axp-layout-title>\n <axp-layout-toolbar>\n <!-- <ax-search-box\n [delayTime]=\"300\"\n [ngModel]=\"vm.searchExpression()\"\n (onValueChanged)=\"vm.search($event.value)\"\n [placeholder]=\"t('@report-management:report-runner.terms.search-placeholder') | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box> -->\n </axp-layout-toolbar>\n </axp-layout-header>\n <axp-layout-content>\n <axp-report-categories-tree (categoryClick)=\"onCategoryClick($event)\" (reportClick)=\"onReportClick($event)\" />\n </axp-layout-content>\n </axp-layout-start-side>\n }\n\n <axp-page-content>\n <!-- Desktop and Mobile: Always show desktop template -->\n <ng-container *ngTemplateOutlet=\"desktop\"> </ng-container>\n </axp-page-content>\n\n <!-- Desktop: Grid-based browser for main content -->\n <ng-template #desktop>\n <div class=\"__reports-browser\">\n @if (vm.categories().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">{{ t('@report-management:reports.terms.categories') | async }}</h3>\n <div class=\"__items-grid\">\n @for (category of vm.categories(); track category.id) {\n <div class=\"__item __category\" (click)=\"navigateToCategory(category)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-folder\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ category.title }}</div>\n @if (category.description) {\n <div class=\"__item-description\">{{ category.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.reports().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">{{ t('@report-management:reports.terms.reports') | async }}</h3>\n <div class=\"__items-grid\">\n @for (report of vm.reports(); track report.id) {\n <div class=\"__item __report\" (click)=\"navigateToReport(report)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-file-chart-column\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ report.title }}</div>\n @if (report.description) {\n <div class=\"__item-description\">{{ report.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\n <axp-state-message\n icon=\"fa-light fa-folder-open\"\n [title]=\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.title'\"\n [description]=\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.description'\"\n >\n </axp-state-message>\n }\n </div>\n </ng-template>\n</axp-page-layout>\n"],"names":["i2","i3"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-modules-report-management-report-runner-root-page.component-CgrBAgqq.mjs","sources":["../../../../libs/modules/report-management/src/lib/features/report-runner/report-categories-tree/report-categories-tree.component.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-categories-tree/report-categories-tree.component.html","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner.viewmodel.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.ts","../../../../libs/modules/report-management/src/lib/features/report-runner/report-runner-root-page/report-runner-root-page.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTreeItemClickBaseEventLegacy, AXTreeViewLegacyModule } from '@acorex/components/tree-view-legacy';\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { ChangeDetectionStrategy, Component, inject, output, ViewEncapsulation } from '@angular/core';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../../reports';\n\n//#endregion\n\n//#region ---- Interface ----\n\n/**\n * Tree view item with optimized metadata\n *\n * Uses count properties for efficient rendering:\n * - hasChild: Determined by childrenCount + itemsCount\n * - No need to query API to know if expandable\n */\nexport interface TreeViewItem {\n id: string;\n title: string;\n hasChild: boolean; // childrenCount > 0 || itemsCount > 0\n children?: TreeViewItem[];\n item?: AXPReportCategory | AXPReportDefinition;\n type: 'category' | 'definition';\n expanded: boolean;\n}\n\n//#endregion\n\n@Component({\n selector: 'axp-report-categories-tree',\n standalone: true,\n imports: [AXDecoratorModule, AXTreeViewLegacyModule],\n templateUrl: './report-categories-tree.component.html',\n styleUrl: './report-categories-tree.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'axp-report-categories-tree' },\n})\nexport class AXPReportCategoriesTreeComponent {\n //#region ---- Services & Dependencies ----\n\n private readonly reportDefinitionService = inject(AXPReportViewerService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Output Events ----\n\n /**\n * Emitted when a category node is clicked\n */\n categoryClick = output<AXPReportCategory>();\n\n /**\n * Emitted when a report node is clicked\n */\n reportClick = output<AXPReportDefinition>();\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Provide lazy loading tree data with optimized queries\n *\n * Optimizations:\n * 1. Uses childrenCount to determine expandability (no extra query)\n * 2. Uses itemsCount to skip report queries when count = 0\n * 3. Returns cached data on subsequent calls (via service layer)\n * 4. Single API call per category includes all metadata\n *\n * Performance: Most navigation is instant (cached), only first visit queries API\n */\n protected provideLazyTreeView = async (selectedItemId?: string | number): Promise<TreeViewItem[]> => {\n if (selectedItemId) {\n // ✅ Load child categories (includes childrenCount & itemsCount metadata)\n const categories = await this.reportDefinitionService.getCategories(selectedItemId as string);\n\n const categoryItems: TreeViewItem[] = categories.map((item) => ({\n id: item.id,\n title: this.multiLanguageResolver.resolve(item.title),\n // ✅ Optimization: Use count properties to determine expandability\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category' as const,\n expanded: false,\n }));\n\n // ✅ Load report definitions for this category\n // Optimization: Service checks itemsCount before querying (skip if 0)\n const definitions = await this.reportDefinitionService.getReportsByCategoryId(selectedItemId as string);\n\n const definitionItems: TreeViewItem[] = definitions.map((item) => ({\n id: item.id,\n title: item.title,\n hasChild: false, // Reports are leaf nodes\n item: item,\n type: 'definition' as const,\n expanded: false,\n }));\n\n // ✅ Return categories first, then reports (sorted)\n return [...categoryItems, ...definitionItems];\n } else {\n // ✅ Root level - load root categories only\n const categories = await this.reportDefinitionService.getCategories();\n\n return categories.map((item) => ({\n id: item.id,\n title: this.multiLanguageResolver.resolve(item.title),\n // ✅ Optimization: Use count properties\n hasChild: item.childrenCount > 0 || (item.itemsCount ?? 0) > 0,\n item: item,\n type: 'category' as const,\n expanded: false,\n }));\n }\n };\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle tree node click events\n *\n * Emits appropriate event based on node type:\n * - category → categoryClick\n * - definition → reportClick\n */\n protected handleNodeClick(event: AXTreeItemClickBaseEventLegacy): void {\n const node = event.data as TreeViewItem;\n\n if (node.type === 'category') {\n this.categoryClick.emit(node.item as AXPReportCategory);\n } else if (node.type === 'definition') {\n this.reportClick.emit(node.item as AXPReportDefinition);\n }\n }\n\n //#endregion\n}\n","<ax-tree-view-legacy\n [showCheckbox]=\"false\"\n [itemTemplate]=\"itemTemplate\"\n [textField]=\"'title'\"\n [hasChildField]=\"'hasChild'\"\n [valueField]=\"'id'\"\n [expandedField]=\"'expanded'\"\n [items]=\"provideLazyTreeView\"\n (onNodeClick)=\"handleNodeClick($event)\"\n>\n</ax-tree-view-legacy>\n\n<ng-template #itemTemplate let-item>\n @if (item.type === 'category') {\n <ax-icon class=\"fas ax-text-warning fa-folder\"></ax-icon>\n } @else {\n <ax-icon class=\"fas ax-text-accent1 fa-file-chart-column\"></ax-icon>\n }\n {{ item.title }}\n</ng-template>\n","import { AXLocaleService } from '@acorex/core/locale';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPDeviceService } from '@acorex/platform/core';\nimport { AXPPageStatus } from '@acorex/platform/layout/widget-core';\nimport { computed, inject } from '@angular/core';\nimport { patchState, signalStore, withComputed, withHooks, withMethods, withState } from '@ngrx/signals';\nimport { isEmpty, isNil } from 'lodash-es';\nimport { merge } from 'rxjs';\nimport { RootConfig } from '../../contracts';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../reports';\n\nexport const AXPReportRunnerRootViewModel = signalStore(\n withState(() => ({\n activeCategory: undefined as AXPReportCategory | undefined,\n categories: [] as AXPReportCategory[],\n reports: [] as AXPReportDefinition[],\n activeCategoriesPath: [] as AXPReportCategory[],\n //\n searchExpression: null as string | null,\n //\n status: AXPPageStatus.Processing,\n })),\n withComputed((store, deviceService = inject(AXPDeviceService)) => ({\n searchResults: computed(() => []),\n hasActiveCategory: computed(() => store.activeCategory() != null),\n showSideMenu: computed(() => deviceService.isLarge()),\n isSearching: computed(() => store.searchExpression() != null),\n isBusy: computed(() => store.status() == AXPPageStatus.Processing),\n isLoaded: computed(() => store.activeCategory() != null),\n title: computed(() => store.activeCategory()?.title ?? `@${RootConfig.config.i18n}:report-runner.terms.page-title`),\n description: computed(\n () =>\n store.activeCategory()?.description ??\n `@${RootConfig.config.i18n}:report-runner.components.report-runner.description`,\n ),\n })),\n withMethods((store, reportDefinitionService = inject(AXPReportViewerService)) => ({\n /**\n * Load root categories\n *\n * Optimization: Service caches result, subsequent calls are instant\n */\n async loadRootCategories(): Promise<void> {\n patchState(store, {\n activeCategory: undefined,\n reports: [],\n activeCategoriesPath: [],\n status: AXPPageStatus.Processing,\n });\n\n const categories = await reportDefinitionService.getCategories();\n\n patchState(store, {\n categories,\n status: AXPPageStatus.Idle,\n });\n },\n\n /**\n * Get categories by parentId (cached by service)\n */\n async getCategories(parentId?: string): Promise<AXPReportCategory[]> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const result = await reportDefinitionService.getCategories(parentId);\n\n patchState(store, { status: AXPPageStatus.Idle });\n\n return result;\n },\n\n /**\n * Get reports for a category\n *\n * Optimization: Service checks itemsCount before querying\n * - If itemsCount = 0, returns empty array (no API call)\n * - If cached, returns instantly\n */\n async getReports(categoryId: string): Promise<AXPReportDefinition[]> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const result = await reportDefinitionService.getReportsByCategoryId(categoryId);\n\n patchState(store, { status: AXPPageStatus.Idle });\n\n return result;\n },\n\n /**\n * Set active category and load its data\n *\n * Optimization: All 3 queries benefit from caching\n * - Categories: Cached from previous navigation\n * - Reports: Skipped if itemsCount = 0\n * - Path: Built from cached categories\n */\n async setActiveCategory(category: AXPReportCategory): Promise<void> {\n patchState(store, {\n status: AXPPageStatus.Processing,\n activeCategory: category,\n });\n\n // ✅ Parallel loading for better performance\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n status: AXPPageStatus.Idle,\n });\n },\n\n /**\n * Set active category by ID\n *\n * Optimization: getCategoryById uses O(1) cache lookup\n */\n async setActiveCategoryById(id: string): Promise<void> {\n patchState(store, { status: AXPPageStatus.Processing });\n\n const category = await reportDefinitionService.getCategoryById(id);\n\n if (category) {\n patchState(store, { activeCategory: category });\n\n // ✅ Parallel loading\n const [categories, reports, activeCategoriesPath] = await Promise.all([\n reportDefinitionService.getCategories(category.id),\n reportDefinitionService.getReportsByCategoryId(category.id),\n reportDefinitionService.getCategoriesPathById(category.id),\n ]);\n\n patchState(store, {\n categories,\n reports,\n activeCategoriesPath,\n });\n }\n\n patchState(store, { status: AXPPageStatus.Idle });\n },\n\n /**\n * Search for reports (to be implemented)\n */\n async search(expression: string): Promise<void> {\n if (!isNil(expression) && !isEmpty(expression)) {\n patchState(store, { searchExpression: expression });\n } else {\n patchState(store, { searchExpression: null });\n }\n },\n\n /**\n * Clear search\n */\n clearSearch(): void {\n patchState(store, { searchExpression: null });\n },\n })),\n withHooks((store, translationService = inject(AXTranslationService), localeService = inject(AXLocaleService)) => ({\n async onInit() {\n merge(translationService.langChanges$, localeService.profileChanged$).subscribe(async () => { });\n //\n await store.loadRootCategories();\n },\n onDestroy() { },\n })),\n);\n","import { AXBadgeModule } from '@acorex/components/badge';\nimport { AXBreadcrumbsModule } from '@acorex/components/breadcrumbs';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXDropdownButtonModule } from '@acorex/components/dropdown-button';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXSearchBoxModule } from '@acorex/components/search-box';\nimport { AXTabsModule } from '@acorex/components/tabs';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { AXUnsubscriber } from '@acorex/core/utils';\nimport { AXPBackButton, AXPBreadcrumbItem, AXPExecuteCommand } from '@acorex/platform/contracts';\nimport { AXPActionMenuItem } from '@acorex/platform/core';\nimport {\n AXPStateMessageComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n AXPThemeLayoutToolbarComponent,\n} from '@acorex/platform/layout/components';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent, AXPPageLayoutComponent } from '@acorex/platform/layout/views';\nimport { AXPLayoutThemeService } from '@acorex/platform/themes/shared';\nimport { AXPWorkflowService } from '@acorex/platform/workflow';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ActivatedRoute, NavigationEnd, RouterModule } from '@angular/router';\nimport { filter, firstValueFrom, startWith } from 'rxjs';\nimport { AXPReportCategory, AXPReportDefinition, AXPReportViewerService } from '../../../reports';\nimport { AXPReportCategoriesTreeComponent } from '../report-categories-tree/report-categories-tree.component';\nimport { AXPReportRunnerRootViewModel } from '../report-runner.viewmodel';\n\n@Component({\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n RouterModule,\n //\n AXSearchBoxModule,\n AXDecoratorModule,\n AXBreadcrumbsModule,\n AXTranslationModule,\n AXButtonModule,\n AXTabsModule,\n AXBadgeModule,\n AXLoadingModule,\n AXDropdownButtonModule,\n //\n AXPPageLayoutComponent,\n AXPThemeLayoutBlockComponent,\n AXPThemeLayoutToolbarComponent,\n AXPThemeLayoutHeaderComponent,\n AXPThemeLayoutStartSideComponent,\n //\n AXPReportCategoriesTreeComponent,\n AXPStateMessageComponent,\n ],\n templateUrl: './report-runner-root-page.component.html',\n styleUrl: './report-runner-root-page.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n AXUnsubscriber,\n AXPReportRunnerRootViewModel,\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMReportRunnerRootPageComponent,\n },\n ],\n host: { class: 'axp-report-runner-root-page' },\n})\nexport class AXMReportRunnerRootPageComponent extends AXPPageLayoutBaseComponent {\n protected vm = inject(AXPReportRunnerRootViewModel);\n protected override layoutService = inject(AXPLayoutThemeService);\n private activatedRoute = inject(ActivatedRoute);\n private unsubscribe = inject(AXUnsubscriber);\n private reportDefinitionService = inject(AXPReportViewerService);\n private workflow = inject(AXPWorkflowService);\n private multiLanguageResolver = inject(AXTranslationService);\n\n private baseRoutes = [this.sessionService.application?.name, 'report-management', 'reports'];\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n //\n this.router.events\n .pipe(\n this.unsubscribe.takeUntilDestroy,\n filter((event) => event instanceof NavigationEnd),\n startWith(null),\n )\n .subscribe(async () => {\n await this.loadFromRoute();\n });\n }\n\n private async loadFromRoute(): Promise<void> {\n const snapshot = this.activatedRoute.snapshot;\n const segments = await firstValueFrom(this.activatedRoute.url);\n\n let categoryId = segments[segments.length - 1]?.path ?? null;\n if (categoryId) {\n await this.vm.setActiveCategoryById(categoryId);\n } else {\n await this.vm.loadRootCategories();\n return;\n }\n //\n\n let reportId = snapshot.queryParamMap.get('report') ?? null;\n\n if (reportId) {\n // Navigate directly to viewer instead of showing parameters\n await this.navigateToViewer(reportId);\n }\n }\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle category selection from tree\n */\n protected async onCategoryClick(category: AXPReportCategory): Promise<void> {\n await this.navigateToCategory(category);\n }\n\n /**\n * Handle report selection from tree\n */\n protected async onReportClick(report: AXPReportDefinition): Promise<void> {\n await this.navigateToReport(report);\n }\n\n /**\n * Navigate directly to report viewer with the selected report\n */\n private async navigateToViewer(reportId: string): Promise<void> {\n const baseViewerRoute = [this.sessionService.application?.name, 'report-management', 'viewer'];\n await this.router.navigate(baseViewerRoute, {\n queryParams: { reportId },\n });\n }\n\n //#endregion\n\n protected async navigateToCategory(category: AXPReportCategory): Promise<void> {\n // Find the path to this category\n const path = await this.reportDefinitionService.getCategoriesPathById(category.id);\n // Find the index of the target category in the path\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n\n protected async navigateToReport(report: AXPReportDefinition): Promise<void> {\n // Navigate directly to viewer instead of showing parameters in runner\n await this.navigateToViewer(report.id);\n }\n\n //#region ---- Page Configuration Overrides ----\n\n protected override async getPageBreadcrumbs(): Promise<AXPBreadcrumbItem[]> {\n const path = this.vm.activeCategoriesPath();\n const report = {\n name: 'reports',\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n command: {\n name: 'navigate-to-reports-root',\n },\n };\n if (!path || path.length === 0) {\n return [report];\n }\n const breadcrumbs: AXPBreadcrumbItem[] = [report];\n let urlParts = [...this.baseRoutes];\n for (const cat of path) {\n urlParts = [...urlParts, cat.id];\n breadcrumbs.push({\n name: cat.id,\n title: this.multiLanguageResolver.resolve(cat.title),\n command: {\n name: 'navigate-to-category',\n options: {\n category: cat,\n },\n },\n });\n }\n return breadcrumbs;\n }\n\n override async getSecondaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [];\n }\n\n override async getPageTitle(): Promise<string> {\n return this.multiLanguageResolver.resolve(this.vm.title() ?? '');\n }\n\n override async getPageDescription(): Promise<string | null> {\n const d = this.multiLanguageResolver.resolve(this.vm.description() ?? '');\n return d || null;\n }\n\n override async getBackButton(): Promise<AXPBackButton | null> {\n const categoriesPath = this.vm.activeCategoriesPath();\n\n if (!categoriesPath || categoriesPath.length === 0) {\n // At root level, no back button\n return null;\n }\n\n if (categoriesPath.length === 1) {\n // At first level category, back to reports root\n return {\n title: await this.translateService.translateAsync('@report-management:module.menus.root.title'),\n };\n }\n\n // At deeper level, back to parent category\n const parentCategory = categoriesPath[categoriesPath.length - 2];\n return {\n title: this.multiLanguageResolver.resolve(parentCategory.title),\n };\n }\n\n override async onBackButtonClick(): Promise<void> {\n const categoriesPath = this.vm.activeCategoriesPath();\n\n if (!categoriesPath || categoriesPath.length <= 1) {\n // Navigate back to reports root\n await this.router.navigate([...this.baseRoutes]);\n } else {\n // Navigate to parent category\n const parentCategoriesPath = categoriesPath.slice(0, -1);\n let urlParts = [...this.baseRoutes];\n for (const cat of parentCategoriesPath) {\n urlParts.push(cat.id);\n }\n await this.router.navigate(urlParts);\n }\n }\n\n override async execute(command: AXPExecuteCommand): Promise<void> {\n switch (command.name) {\n case 'navigate-to-category':\n await this.navigateToCategory(command.options?.['category'] as AXPReportCategory);\n break;\n case 'navigate-to-reports-root':\n await this.router.navigate([...this.baseRoutes]);\n break;\n case 'create-report':\n await this.workflow.execute('report-create', {\n data: {\n categoryId: this.vm.activeCategory()?.id ?? null,\n },\n });\n break;\n }\n }\n\n override async getPrimaryMenuItems(): Promise<AXPActionMenuItem[]> {\n return [\n // {\n // title: '@general:actions.create.title',\n // icon: 'fa-light fa-plus',\n // color: 'primary',\n // command: {\n // name: 'create-report',\n // },\n // },\n ];\n }\n\n //#endregion\n}\n","<axp-page-layout *translate=\"let t\">\n @if (vm.showSideMenu()) {\n <axp-layout-start-side>\n <axp-layout-header>\n <axp-layout-title>{{ t('@report-management:report-runner.terms.menu-title') | async }}</axp-layout-title>\n <axp-layout-toolbar>\n <!-- <ax-search-box\n [delayTime]=\"300\"\n [ngModel]=\"vm.searchExpression()\"\n (onValueChanged)=\"vm.search($event.value)\"\n [placeholder]=\"t('@report-management:report-runner.terms.search-placeholder') | async\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-search-box> -->\n </axp-layout-toolbar>\n </axp-layout-header>\n <axp-layout-content>\n <axp-report-categories-tree (categoryClick)=\"onCategoryClick($event)\" (reportClick)=\"onReportClick($event)\" />\n </axp-layout-content>\n </axp-layout-start-side>\n }\n\n <axp-page-content>\n <!-- Desktop and Mobile: Always show desktop template -->\n <ng-container *ngTemplateOutlet=\"desktop\"> </ng-container>\n </axp-page-content>\n\n <!-- Desktop: Grid-based browser for main content -->\n <ng-template #desktop>\n <div class=\"__reports-browser\">\n @if (vm.categories().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">{{ t('@report-management:reports.terms.categories') | async }}</h3>\n <div class=\"__items-grid\">\n @for (category of vm.categories(); track category.id) {\n <div class=\"__item __category\" (click)=\"navigateToCategory(category)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-folder\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ category.title }}</div>\n @if (category.description) {\n <div class=\"__item-description\">{{ category.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.reports().length > 0) {\n <div class=\"__section\">\n <h3 class=\"__section-title\">{{ t('@report-management:reports.terms.reports') | async }}</h3>\n <div class=\"__items-grid\">\n @for (report of vm.reports(); track report.id) {\n <div class=\"__item __report\" (click)=\"navigateToReport(report)\">\n <div class=\"__item-icon\">\n <ax-icon class=\"fa-solid fa-file-chart-column\"></ax-icon>\n </div>\n <div class=\"__item-content\">\n <div class=\"__item-title\">{{ report.title }}</div>\n @if (report.description) {\n <div class=\"__item-description\">{{ report.description }}</div>\n }\n </div>\n </div>\n }\n </div>\n </div>\n }\n\n @if (vm.categories().length === 0 && vm.reports().length === 0) {\n <axp-state-message\n icon=\"fa-light fa-folder-open\"\n [title]=\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.title'\"\n [description]=\"'@report-management:report-runner.components.report-runner.empty-states.no-items-found.description'\"\n >\n </axp-state-message>\n }\n </div>\n </ng-template>\n</axp-page-layout>\n"],"names":["i2","i3"],"mappings":"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"}
|
|
@@ -182,7 +182,7 @@ class AXMMenuProvider {
|
|
|
182
182
|
text: RootConfig.entities.report.titlePlural,
|
|
183
183
|
path: `${this.sessionService.application?.name}/${module.route}/reports`,
|
|
184
184
|
icon: RootConfig.entities.report.icon,
|
|
185
|
-
priority:
|
|
185
|
+
priority: 8300,
|
|
186
186
|
policy: {
|
|
187
187
|
features: [module.name],
|
|
188
188
|
permissions: [AXMPermissionsKeys.ReportManagement.Report.View],
|
|
@@ -293,7 +293,7 @@ function routesFacory() {
|
|
|
293
293
|
children: [
|
|
294
294
|
{
|
|
295
295
|
path: '**',
|
|
296
|
-
loadComponent: () => import('./acorex-modules-report-management-report-runner-root-page.component-
|
|
296
|
+
loadComponent: () => import('./acorex-modules-report-management-report-runner-root-page.component-CgrBAgqq.mjs').then((c) => c.AXMReportRunnerRootPageComponent),
|
|
297
297
|
data: { reuse: true },
|
|
298
298
|
},
|
|
299
299
|
],
|
|
@@ -1831,7 +1831,7 @@ class AXPReportChartViewComponent {
|
|
|
1831
1831
|
return !!(this.chartOptions() && this.dataMapping());
|
|
1832
1832
|
}
|
|
1833
1833
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1834
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPReportChartViewComponent, isStandalone: true, selector: "axp-report-chart-view", host: { classAttribute: "axp-report-chart-view ax-w-full ax-h-full ax-flex ax-flex-col" }, ngImport: i0, template: "<ng-container *translate=\"let t\">\n @if (vm.status() === AXPPageStatus.Processing) {\n <!-- Loading State -->\n <div class=\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\">\n <div class=\"ax-spinner ax-spin ax-w-10 ax-h-10\"></div>\n <div class=\"__loading-text ax-text-sm ax-opacity-70\">\n {{ t('@report-management:report-viewer.components.chart.messages.loading') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <axp-state-message\n mode=\"error\"\n icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.fetch-description'\"\n >\n </axp-state-message>\n } @else if (isChartReady() && showNoDataState()) {\n <!-- No Data State -->\n <axp-state-message\n icon=\"fa-light fa-chart-pie\"\n [title]=\"'@report-management:report-viewer.components.chart.empty-states.no-data.title'\"\n [description]=\"'@report-management:report-viewer.components.chart.empty-states.no-data.description'\"\n >\n </axp-state-message>\n } @else if (isChartReady()) {\n <!-- Chart Content -->\n <section\n class=\"__chart-container ax-overflow-auto md:ax-overflow-hidden ax-rounded-2xl ax-border ax-h-full ax-flex ax-flex-col\"\n >\n @if (chartLayout()?.header) {\n <header\n class=\"__chart-header ax-p-4 md:ax-p-6 ax-border-b ax-flex ax-flex-col sm:ax-flex-row ax-gap-2 sm:ax-items-center sm:ax-justify-between\"\n >\n <h3 class=\"__chart-title ax-text-base md:ax-text-lg ax-font-semibold ax-truncate\">\n {{ chartLayout()?.header?.title }}\n </h3>\n @if (chartLayout()?.header?.showDate) {\n <div class=\"__chart-date ax-text-xs md:ax-text-sm ax-opacity-70 ax-font-medium ax-flex-shrink-0\">\n {{ '@general:common.date.today' | translate | async }}\n </div>\n }\n </header>\n }\n\n <div class=\"__chart-body ax-flex-1 ax-p-3 md:ax-p-6\">\n <div\n class=\"__chart-wrapper ax-h-full ax-items-center ax-flex ax-flex-col ax-gap-4 lg:ax-gap-6\"\n [class]=\"\n legendOptions().mode === 'horizontal'\n ? 'ax-flex-col ax-gap-4'\n : 'ax-flex-col lg:ax-flex-row ax-gap-4 lg:ax-gap-6'\n \"\n >\n @switch (chartType()) {\n @case ('bar') {\n <div\n class=\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\"\n >\n <ax-bar-chart #barChart [data]=\"barChartData()\" [options]=\"barChartOptions()\"></ax-bar-chart>\n </div>\n @if (hasBarChartData()) {\n <div class=\"__chart-legend ax-w-fit ax-flex-shrink-0\">\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"barChart\"></ax-chart-legend>\n </div>\n }\n }\n @case ('doughnut') {\n <div\n class=\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\"\n >\n <ax-donut-chart #donutChart [data]=\"donutChartData()\" [options]=\"donutChartOptions()\"></ax-donut-chart>\n </div>\n @if (hasDonutChartData()) {\n <div class=\"__chart-legend ax-w-fit ax-flex-shrink-0\">\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"donutChart\"></ax-chart-legend>\n </div>\n }\n }\n @default {\n <div\n class=\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\"\n >\n <ax-line-chart #lineChart [data]=\"lineChartData()\" [options]=\"lineChartOptions()\"></ax-line-chart>\n </div>\n @if (hasLineChartData()) {\n <div class=\"__chart-legend ax-w-fit ax-flex-shrink-0\">\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"lineChart\"></ax-chart-legend>\n </div>\n }\n }\n }\n </div>\n </div>\n\n @if (chartLayout()?.footer) {\n <footer class=\"__chart-footer ax-p-4 md:ax-p-6 ax-border-t\">\n @if (chartLayout()?.footer?.customHtml) {\n <div [innerHTML]=\"chartLayout()?.footer?.customHtml\"></div>\n }\n </footer>\n }\n </section>\n } @else {\n <!-- No Configuration State -->\n <axp-state-message\n icon=\"fa-light fa-chart-line\"\n [title]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.title'\"\n [description]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.description'\"\n >\n </axp-state-message>\n }\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXBarChartComponent, selector: "ax-bar-chart", inputs: ["data", "options"], outputs: ["barClick"] }, { kind: "component", type: AXDonutChartComponent, selector: "ax-donut-chart", inputs: ["data", "options"], outputs: ["segmentClick", "segmentHover"] }, { kind: "component", type: AXLineChartComponent, selector: "ax-line-chart", inputs: ["data", "options"], outputs: ["pointClick"] }, { kind: "component", type: AXChartLegendComponent, selector: "ax-chart-legend", inputs: ["chart", "options"], outputs: ["itemClick", "itemMouseEnter", "itemMouseLeave"] }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "look"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1834
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPReportChartViewComponent, isStandalone: true, selector: "axp-report-chart-view", host: { classAttribute: "axp-report-chart-view ax-w-full ax-h-full ax-flex ax-flex-col" }, ngImport: i0, template: "<ng-container *translate=\"let t\">\n @if (vm.status() === AXPPageStatus.Processing) {\n <!-- Loading State -->\n <div class=\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\">\n <div class=\"ax-spinner ax-spin ax-w-10 ax-h-10\"></div>\n <div class=\"__loading-text ax-text-sm ax-opacity-70\">\n {{ t('@report-management:report-viewer.components.chart.messages.loading') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <axp-state-message\n mode=\"error\"\n icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.fetch-description'\"\n >\n </axp-state-message>\n } @else if (isChartReady() && showNoDataState()) {\n <!-- No Data State -->\n <axp-state-message\n icon=\"fa-light fa-chart-pie\"\n [title]=\"'@report-management:report-viewer.components.chart.empty-states.no-data.title'\"\n [description]=\"'@report-management:report-viewer.components.chart.empty-states.no-data.description'\"\n >\n </axp-state-message>\n } @else if (isChartReady()) {\n <!-- Chart Content -->\n <section\n class=\"__chart-container ax-overflow-auto md:ax-overflow-hidden ax-rounded-2xl ax-border ax-h-full ax-flex ax-flex-col\"\n >\n @if (chartLayout()?.header) {\n <header\n class=\"__chart-header ax-p-4 md:ax-p-6 ax-border-b ax-flex ax-flex-col sm:ax-flex-row ax-gap-2 sm:ax-items-center sm:ax-justify-between\"\n >\n <h3 class=\"__chart-title ax-text-base md:ax-text-lg ax-font-semibold ax-truncate\">\n {{ chartLayout()?.header?.title }}\n </h3>\n @if (chartLayout()?.header?.showDate) {\n <div class=\"__chart-date ax-text-xs md:ax-text-sm ax-opacity-70 ax-font-medium ax-flex-shrink-0\">\n {{ '@general:common.date.today' | translate | async }}\n </div>\n }\n </header>\n }\n\n <div class=\"__chart-body ax-flex-1 ax-p-3 md:ax-p-6\">\n <div\n class=\"__chart-wrapper ax-h-full ax-items-center ax-flex ax-flex-col ax-gap-4 lg:ax-gap-6\"\n [class]=\"\n legendOptions().mode === 'horizontal'\n ? 'ax-flex-col ax-gap-4'\n : 'ax-flex-col lg:ax-flex-row ax-gap-4 lg:ax-gap-6'\n \"\n >\n @switch (chartType()) {\n @case ('bar') {\n <div\n class=\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\"\n >\n <ax-bar-chart #barChart [data]=\"barChartData()\" [options]=\"barChartOptions()\"></ax-bar-chart>\n </div>\n @if (hasBarChartData()) {\n <div class=\"__chart-legend ax-w-fit ax-flex-shrink-0\">\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"barChart\"></ax-chart-legend>\n </div>\n }\n }\n @case ('doughnut') {\n <div\n class=\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\"\n >\n <ax-donut-chart #donutChart [data]=\"donutChartData()\" [options]=\"donutChartOptions()\"></ax-donut-chart>\n </div>\n @if (hasDonutChartData()) {\n <div class=\"__chart-legend ax-w-fit ax-flex-shrink-0\">\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"donutChart\"></ax-chart-legend>\n </div>\n }\n }\n @default {\n <div\n class=\"__chart-content ax-flex-1 ax-h-full ax-min-h-[250px] md:ax-min-h-[300px] ax-flex ax-items-center ax-justify-center ax-w-full ax-overflow-hidden\"\n >\n <ax-line-chart #lineChart [data]=\"lineChartData()\" [options]=\"lineChartOptions()\"></ax-line-chart>\n </div>\n @if (hasLineChartData()) {\n <div class=\"__chart-legend ax-w-fit ax-flex-shrink-0\">\n <ax-chart-legend [options]=\"legendOptions()\" [chart]=\"lineChart\"></ax-chart-legend>\n </div>\n }\n }\n }\n </div>\n </div>\n\n @if (chartLayout()?.footer) {\n <footer class=\"__chart-footer ax-p-4 md:ax-p-6 ax-border-t\">\n @if (chartLayout()?.footer?.customHtml) {\n <div [innerHTML]=\"chartLayout()?.footer?.customHtml\"></div>\n }\n </footer>\n }\n </section>\n } @else {\n <!-- No Configuration State -->\n <axp-state-message\n icon=\"fa-light fa-chart-line\"\n [title]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.title'\"\n [description]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.description'\"\n >\n </axp-state-message>\n }\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXBarChartComponent, selector: "ax-bar-chart", inputs: ["data", "options"], outputs: ["barClick"] }, { kind: "component", type: AXDonutChartComponent, selector: "ax-donut-chart", inputs: ["data", "options"], outputs: ["segmentClick", "segmentHover"] }, { kind: "component", type: AXLineChartComponent, selector: "ax-line-chart", inputs: ["data", "options"], outputs: ["pointClick"] }, { kind: "component", type: AXChartLegendComponent, selector: "ax-chart-legend", inputs: ["chart", "options"], outputs: ["itemClick", "itemMouseEnter", "itemMouseLeave"] }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "titleParams", "descriptionParams", "look"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1835
1835
|
}
|
|
1836
1836
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportChartViewComponent, decorators: [{
|
|
1837
1837
|
type: Component,
|
|
@@ -2103,7 +2103,7 @@ class AXPReportPdfViewComponent {
|
|
|
2103
2103
|
this.isFullscreen.set(!isFullscreen);
|
|
2104
2104
|
}
|
|
2105
2105
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportPdfViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPReportPdfViewComponent, isStandalone: true, selector: "axp-report-pdf-view", host: { classAttribute: "axp-report-pdf-view ax-w-full ax-h-full ax-flex ax-flex-col" }, ngImport: i0, template: "<ng-container *translate=\"let t\">\n @if (vm.status() === AXPPageStatus.Processing) {\n <!-- Loading State -->\n <div class=\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\">\n <div class=\"ax-spinner ax-spin ax-w-10 ax-h-10\"></div>\n <div class=\"__loading-text ax-text-sm ax-opacity-70\">\n {{ t('@report-management:report-viewer.components.pdf.messages.loading') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <axp-state-message mode=\"error\" icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.fetch-description'\">\n </axp-state-message>\n } @else if (isPdfReady()) {\n <!-- PDF Embed Only -->\n <embed class=\"__pdf-embed ax-w-full ax-h-full\" [src]=\"pdfSource()\" type=\"application/pdf\" />\n } @else {\n <!-- No PDF Data State -->\n <axp-state-message icon=\"fa-light fa-file-pdf\"\n [title]=\"'@report-management:report-viewer.components.pdf.empty-states.no-data.title'\"\n [description]=\"'@report-management:report-viewer.components.pdf.empty-states.no-data.description'\">\n </axp-state-message>\n }\n</ng-container>", styles: [".axp-report-pdf-view .__loading{min-height:400px}.axp-report-pdf-view .__pdf-container{background:var(--ax-color-background)}.axp-report-pdf-view .__pdf-container.__fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0}.axp-report-pdf-view .__pdf-toolbar{background:var(--ax-color-surface)}.axp-report-pdf-view .__pdf-body{background:var(--ax-color-background-secondary)}.axp-report-pdf-view .__pdf-wrapper{min-height:400px}.axp-report-pdf-view .__pdf-embed{border:none;box-shadow:0 2px 8px #0000001a;transition:width .3s ease,height .3s ease}@media(max-width:640px){.axp-report-pdf-view .__zoom-controls{width:100%;justify-content:center;margin-left:0;margin-top:.5rem}}.axp-report-pdf-view .__zoom-level{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "look"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPReportPdfViewComponent, isStandalone: true, selector: "axp-report-pdf-view", host: { classAttribute: "axp-report-pdf-view ax-w-full ax-h-full ax-flex ax-flex-col" }, ngImport: i0, template: "<ng-container *translate=\"let t\">\n @if (vm.status() === AXPPageStatus.Processing) {\n <!-- Loading State -->\n <div class=\"__loading ax-flex ax-flex-col ax-items-center ax-justify-center ax-h-full ax-gap-6 ax-p-8\">\n <div class=\"ax-spinner ax-spin ax-w-10 ax-h-10\"></div>\n <div class=\"__loading-text ax-text-sm ax-opacity-70\">\n {{ t('@report-management:report-viewer.components.pdf.messages.loading') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <axp-state-message mode=\"error\" icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.fetch-description'\">\n </axp-state-message>\n } @else if (isPdfReady()) {\n <!-- PDF Embed Only -->\n <embed class=\"__pdf-embed ax-w-full ax-h-full\" [src]=\"pdfSource()\" type=\"application/pdf\" />\n } @else {\n <!-- No PDF Data State -->\n <axp-state-message icon=\"fa-light fa-file-pdf\"\n [title]=\"'@report-management:report-viewer.components.pdf.empty-states.no-data.title'\"\n [description]=\"'@report-management:report-viewer.components.pdf.empty-states.no-data.description'\">\n </axp-state-message>\n }\n</ng-container>", styles: [".axp-report-pdf-view .__loading{min-height:400px}.axp-report-pdf-view .__pdf-container{background:var(--ax-color-background)}.axp-report-pdf-view .__pdf-container.__fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0}.axp-report-pdf-view .__pdf-toolbar{background:var(--ax-color-surface)}.axp-report-pdf-view .__pdf-body{background:var(--ax-color-background-secondary)}.axp-report-pdf-view .__pdf-wrapper{min-height:400px}.axp-report-pdf-view .__pdf-embed{border:none;box-shadow:0 2px 8px #0000001a;transition:width .3s ease,height .3s ease}@media(max-width:640px){.axp-report-pdf-view .__zoom-controls{width:100%;justify-content:center;margin-left:0;margin-top:.5rem}}.axp-report-pdf-view .__zoom-level{-webkit-user-select:none;user-select:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXButtonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "titleParams", "descriptionParams", "look"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2107
2107
|
}
|
|
2108
2108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportPdfViewComponent, decorators: [{
|
|
2109
2109
|
type: Component,
|
|
@@ -2359,7 +2359,7 @@ class AXPReportTableViewComponent {
|
|
|
2359
2359
|
};
|
|
2360
2360
|
}
|
|
2361
2361
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportTableViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2362
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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]=\"paginationEnabled()\"\n [showFooter]=\"hasReportFooterSummary()\"\n [allowReordering]=\"true\"\n (onRowDbClick)=\"handleDbRowClick($event)\"\n (onColumnSizeChanged)=\"onColumnSizeChanged($event)\"\n (onColumnsOrderChanged)=\"onColumnsOrderChanged($event)\"\n (onPageChanged)=\"onPageChanged($event)\"\n class=\"ax-flex-1\"\n>\n @if (vm.showRowIndexColumn()) {\n <ax-index-column\n [caption]=\"('@general:terms.common.row-number' | translate | async)!\"\n fixed=\"start\"\n [width]=\"'80px'\"\n [padZero]=\"false\"\n ></ax-index-column>\n }\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 <ng-template #footerCell>\n <div\n class=\"ax-w-full ax-truncate\"\n [class.ax-text-start]=\"column.align === 'left'\"\n [class.ax-text-center]=\"column.align === 'center'\"\n [class.ax-text-end]=\"column.align === 'right'\"\n >\n @if (isFirstVisibleColumn(column.field) && hasReportFooterSummary()) {\n <span class=\"ax-font-medium\">\n {{ '@report-management:report-viewer.components.table.footer-total' | translate | async }}\n </span>\n } @else if (getSummaryDisplayValue(column.field); as summaryValue) {\n <span>{{ summaryValue }}</span>\n }\n </div>\n </ng-template>\n <axp-widget-column-renderer\n [customWidth]=\"column.width == 'auto' ? 'auto' : column.width + 'px'\"\n [caption]=\"(column.title | translate | async)!\"\n [node]=\"column.widget!\"\n [sortEnabled]=\"column.sortable\"\n [headerSortDirection]=\"resolveColumnSortDirection(column.field)\"\n [columnFixed]=\"column.pin\"\n [footerTemplate]=\"footerCell\"\n (sortToggle)=\"handleColumnSort(column.field)\"\n ></axp-widget-column-renderer>\n }\n }\n @if (hasPrimaryRowAction()) {\n <ax-command-column\n fixed=\"end\"\n [width]=\"primaryRowAction().length * 70 + 'px'\"\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$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "selectedRows", "parentField", "hasChildrenField", "rowDetailsTemplate", "look", "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$2.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i1$2.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i1$2.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i1$2.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "emptyStateTemplate", "emptyStateText", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i2.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "customExpandIcon", "customCollapseIcon", "customWidth", "node", "footerTemplate", "expandHandler", "sortEnabled", "headerSortDirection", "headerSortPriority", "columnFixed", "cellTemplate", "headerTemplate"], outputs: ["sortToggle"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2362
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", 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]=\"paginationEnabled()\"\n [showFooter]=\"hasReportFooterSummary()\"\n [allowReordering]=\"true\"\n (onRowDbClick)=\"handleDbRowClick($event)\"\n (onColumnSizeChanged)=\"onColumnSizeChanged($event)\"\n (onColumnsOrderChanged)=\"onColumnsOrderChanged($event)\"\n (onPageChanged)=\"onPageChanged($event)\"\n class=\"ax-flex-1\"\n>\n @if (vm.showRowIndexColumn()) {\n <ax-index-column\n [caption]=\"('@general:terms.common.row-number' | translate | async)!\"\n fixed=\"start\"\n [width]=\"'80px'\"\n [padZero]=\"false\"\n ></ax-index-column>\n }\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 <ng-template #footerCell>\n <div\n class=\"ax-w-full ax-truncate\"\n [class.ax-text-start]=\"column.align === 'left'\"\n [class.ax-text-center]=\"column.align === 'center'\"\n [class.ax-text-end]=\"column.align === 'right'\"\n >\n @if (isFirstVisibleColumn(column.field) && hasReportFooterSummary()) {\n <span class=\"ax-font-medium\">\n {{ '@report-management:report-viewer.components.table.footer-total' | translate | async }}\n </span>\n } @else if (getSummaryDisplayValue(column.field); as summaryValue) {\n <span>{{ summaryValue }}</span>\n }\n </div>\n </ng-template>\n <axp-widget-column-renderer\n [customWidth]=\"column.width == 'auto' ? 'auto' : column.width + 'px'\"\n [caption]=\"(column.title | translate | async)!\"\n [node]=\"column.widget!\"\n [sortEnabled]=\"column.sortable\"\n [headerSortDirection]=\"resolveColumnSortDirection(column.field)\"\n [columnFixed]=\"column.pin\"\n [footerTemplate]=\"footerCell\"\n (sortToggle)=\"handleColumnSort(column.field)\"\n ></axp-widget-column-renderer>\n }\n }\n @if (hasPrimaryRowAction()) {\n <ax-command-column\n fixed=\"end\"\n [width]=\"primaryRowAction().length * 70 + 'px'\"\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$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "selectedRows", "parentField", "hasChildrenField", "rowDetailsTemplate", "rowCssClass", "cellCssClass", "highlightText", "look", "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$2.AXRowIndexColumnComponent, selector: "ax-index-column", inputs: ["width", "caption", "fixed", "footerTemplate", "padZero"] }, { kind: "component", type: i1$2.AXRowSelectColumnComponent, selector: "ax-select-column", inputs: ["width", "caption", "fixed"] }, { kind: "component", type: i1$2.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "component", type: i1$2.AXRowDropdownCommandColumnComponent, selector: "ax-dropdown-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "emptyStateTemplate", "emptyStateText", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXLoadingModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: i2.AXPWidgetColumnRendererComponent, selector: "axp-widget-column-renderer", inputs: ["caption", "customExpandIcon", "customCollapseIcon", "customWidth", "node", "footerTemplate", "expandHandler", "sortEnabled", "headerSortDirection", "headerSortPriority", "columnFixed", "cellTemplate", "headerTemplate"], outputs: ["sortToggle"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2363
2363
|
}
|
|
2364
2364
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportTableViewComponent, decorators: [{
|
|
2365
2365
|
type: Component,
|
|
@@ -3132,7 +3132,7 @@ class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
|
|
|
3132
3132
|
},
|
|
3133
3133
|
], 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:report-viewer.components.filters.title') | async }}\n </axp-layout-title>\n </axp-layout-header>\n <axp-layout-content>\n <axp-layout-renderer #filtersForm [layout]=\"vm.formDefinition()\" [context]=\"vm.filterContext()\" [look]=\"'card'\"\n (contextChange)=\"handleFiltersChange($event)\" (contextInitiated)=\"handleFiltersInitiated($event)\">\n </axp-layout-renderer>\n </axp-layout-content>\n <axp-layout-footer class=\"ax-p-4 ax-border-t\" *translate=\"let t\">\n @if (vm.hasUnappliedFilters()) {\n <div class=\"ax-w-full ax-warning-lightest ax-mb-2 ax-p-2 ax-rounded ax-border ax-border-warning-200\">\n <div class=\"ax-flex ax-items-center ax-gap-2 ax-text-warning-800\">\n <ax-icon class=\"fa-light fa-exclamation-triangle ax-text-sm\"></ax-icon>\n <span class=\"ax-text-xs\">{{\n t('@report-management:report-viewer.components.filters.messages.warning.unapplied') | async\n }}</span>\n </div>\n </div>\n }\n <ax-button class=\"ax-w-full\" [disabled]=\"!vm.canExecute()\"\n [text]=\"t('@report-management:report-viewer.actions.execute.title') | async\" [color]=\"'primary'\"\n (onClick)=\"execute({ name: 'execute-report' })\">\n <ax-prefix>\n <ax-icon icon=\"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 class=\"ax-overflow-auto\">\n @if (vm.hasError()) {\n <!-- Error State -->\n <axp-state-message icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.unexpected'\">\n <div slot=\"actions\">\n <ax-button look=\"outline\" color=\"primary\"\n [text]=\"t('@report-management:report-viewer.actions.retry.title') | async\" (onClick)=\"vm.clearError()\">\n <ax-prefix>\n <ax-icon class=\"fa-light fa-refresh\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </axp-state-message>\n } @else if (!vm.reportDefinition()) {\n <!-- No Report Selected State -->\n <axp-state-message icon=\"fa-light fa-chart-line\"\n [title]=\"'@report-management:report-viewer.components.report-viewer.empty-states.no-report.title'\"\n [description]=\"'@report-management:report-viewer.components.report-viewer.empty-states.no-report.description'\">\n <div slot=\"actions\">\n <ax-button look=\"outline\" color=\"primary\"\n [text]=\"t('@report-management:report-viewer.actions.browse-reports.title') | async\">\n <ax-prefix>\n <ax-icon class=\"fa-light fa-folder-open\"></ax-icon>\n </ax-prefix>\n </ax-button>\n </div>\n </axp-state-message>\n } @else {\n <ng-container *ngTemplateOutlet=\"reportDisplay\"></ng-container>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<!-- Desktop: Report Display Area -->\n<ng-template #reportDisplay>\n @if (showReportDisplay()) {\n <!-- Desktop & Mobile: Report Display Area -->\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 } @else if (vm.isPdfLayout()) {\n <axp-report-pdf-view> </axp-report-pdf-view>\n }\n } @else {\n <!-- Mobile: Show filters -->\n <axp-layout-renderer #filtersForm [layout]=\"vm.formDefinition()\" [context]=\"vm.filterContext()\" [look]=\"'fieldset'\">\n </axp-layout-renderer>\n }\n</ng-template>\n\n<!-- Mobile: Execute Button -->\n@if (deviceService.isSmall() && !vm.hasBeenExecuted()) {\n<axp-page-footer class=\"ax-p-2 ax-border-t\">\n <ax-button class=\"ax-w-full\" [disabled]=\"!vm.canExecute()\"\n [text]=\"'@report-management:report-viewer.actions.execute.title' | translate | async\" [color]=\"'primary'\"\n (onClick)=\"execute({ name: 'execute-report' })\">\n <ax-prefix>\n <ax-icon icon=\"fa-light fa-play\"></ax-icon>\n </ax-prefix>\n </ax-button>\n</axp-page-footer>\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}@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:1rem}.axp-report-viewer-page .__mobile-filters{display:flex;height:100%;flex-direction:column;overflow-y:auto}.axp-report-viewer-page .__mobile-filters .__mobile-filters-content{flex:1 1 0%}.axp-report-viewer-page .__mobile-filters .__mobile-filters-footer{position:sticky;bottom:0;border-top-width:1px;padding-top:.5rem;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 axp-report-table-view{flex:1 1 0%;overflow:hidden}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i2$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: 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.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "ngmodule", type: AXLoadingDialogModule }, { kind: "component", type:
|
|
3134
3134
|
//
|
|
3135
|
-
AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], 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: AXPThemeLayoutFooterComponent, selector: "axp-layout-footer, axp-layout-page-footer" }, { kind: "component", type: AXPReportChartViewComponent, selector: "axp-report-chart-view" }, { kind: "component", type: AXPReportPdfViewComponent, selector: "axp-report-pdf-view" }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "look"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3135
|
+
AXPLayoutRendererComponent, selector: "axp-layout-renderer", inputs: ["layout", "context", "look", "mode"], 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: AXPThemeLayoutFooterComponent, selector: "axp-layout-footer, axp-layout-page-footer" }, { kind: "component", type: AXPReportChartViewComponent, selector: "axp-report-chart-view" }, { kind: "component", type: AXPReportPdfViewComponent, selector: "axp-report-pdf-view" }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "titleParams", "descriptionParams", "look"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3136
3136
|
}
|
|
3137
3137
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportViewerPageComponent, decorators: [{
|
|
3138
3138
|
type: Component,
|
|
@@ -3272,7 +3272,7 @@ class AXPReportBarChartViewComponent {
|
|
|
3272
3272
|
};
|
|
3273
3273
|
}
|
|
3274
3274
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportBarChartViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3275
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPReportBarChartViewComponent, isStandalone: true, selector: "axp-report-bar-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 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:report-viewer.components.chart.messages.loading') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <axp-state-message mode=\"error\" icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.fetch-description'\">\n </axp-state-message>\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\">{{ '@general: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 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 <!-- Chart Area -->\n <div class=\"ax-flex-0 ax-size-96\">\n <ax-bar-chart #chart [data]=\"barChartData()\" [options]=\"barChartOptions()\"></ax-bar-chart>\n </div>\n <!-- Legend Area -->\n @if (barChartData().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 <axp-state-message icon=\"fa-light fa-chart-column\"\n [title]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.title'\"\n [description]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.description'\">\n </axp-state-message>\n }\n</div>", 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))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "look"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXBarChartComponent, selector: "ax-bar-chart", inputs: ["data", "options"], outputs: ["barClick"] }, { kind: "component", type: AXChartLegendComponent, selector: "ax-chart-legend", inputs: ["chart", "options"], outputs: ["itemClick", "itemMouseEnter", "itemMouseLeave"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3275
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXPReportBarChartViewComponent, isStandalone: true, selector: "axp-report-bar-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 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:report-viewer.components.chart.messages.loading') | async }}\n </div>\n </div>\n } @else if (vm.status() === AXPPageStatus.Error) {\n <!-- Error State -->\n <axp-state-message mode=\"error\" icon=\"fa-light fa-exclamation-triangle\"\n [title]=\"'@report-management:report-viewer.messages.error.fetch-title'\"\n [description]=\"vm.error() || '@report-management:report-viewer.messages.error.fetch-description'\">\n </axp-state-message>\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\">{{ '@general: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 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 <!-- Chart Area -->\n <div class=\"ax-flex-0 ax-size-96\">\n <ax-bar-chart #chart [data]=\"barChartData()\" [options]=\"barChartOptions()\"></ax-bar-chart>\n </div>\n <!-- Legend Area -->\n @if (barChartData().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 <axp-state-message icon=\"fa-light fa-chart-column\"\n [title]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.title'\"\n [description]=\"'@report-management:report-viewer.components.chart.empty-states.no-config.description'\">\n </axp-state-message>\n }\n</div>", 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))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i1.AXTranslatorDirective, selector: "[translate]" }, { kind: "component", type: AXPStateMessageComponent, selector: "axp-state-message", inputs: ["mode", "icon", "title", "description", "titleParams", "descriptionParams", "look"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "component", type: AXBarChartComponent, selector: "ax-bar-chart", inputs: ["data", "options"], outputs: ["barClick"] }, { kind: "component", type: AXChartLegendComponent, selector: "ax-chart-legend", inputs: ["chart", "options"], outputs: ["itemClick", "itemMouseEnter", "itemMouseLeave"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
3276
3276
|
}
|
|
3277
3277
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXPReportBarChartViewComponent, decorators: [{
|
|
3278
3278
|
type: Component,
|