@acorex/modules 21.0.0-beta.0 → 21.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-column.component-DDVQwyU4.mjs.map +1 -1
- package/fesm2022/{acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-CwLff8ut.mjs → acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C-XsPEIg.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-C-XsPEIg.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-agent.entity-CsiCzwYK.mjs → acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-agent.entity-D6-0_Ms3.mjs.map +1 -0
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-column.component-tSpJYIZh.mjs.map +1 -1
- package/fesm2022/{acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-DQWeuAd6.mjs → acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs} +2 -2
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-u1hZ4P5s.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-assist.entity-Be5vnFVn.mjs → acorex-modules-ai-management-assist.entity-513RdKsz.mjs} +60 -2
- package/fesm2022/acorex-modules-ai-management-assist.entity-513RdKsz.mjs.map +1 -0
- package/fesm2022/{acorex-modules-ai-management-model.entity-BjTtbWDk.mjs → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-model.entity-BjTtbWDk.mjs.map → acorex-modules-ai-management-model.entity-DiDaXVa3.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CfKav_1a.mjs → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs} +2 -2
- package/fesm2022/{acorex-modules-ai-management-open-ai-endpoint.entity-CfKav_1a.mjs.map → acorex-modules-ai-management-open-ai-endpoint.entity-CZLNKtl0.mjs.map} +1 -1
- package/fesm2022/acorex-modules-ai-management.mjs +4346 -1
- package/fesm2022/acorex-modules-ai-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-application-management.mjs +11 -15
- package/fesm2022/acorex-modules-application-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-assessment-management-acorex-modules-assessment-management-DjvWF5T-.mjs → acorex-modules-assessment-management-acorex-modules-assessment-management-D5JC6vun.mjs} +59 -75
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-D5JC6vun.mjs.map +1 -0
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-9RC-Do_C.mjs → acorex-modules-assessment-management-assessment-case.entity-CueA6eek.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-case.entity-9RC-Do_C.mjs.map → acorex-modules-assessment-management-assessment-case.entity-CueA6eek.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BEqUQJqd.mjs → acorex-modules-assessment-management-assessment-session.entity-CHlf7QhJ.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-assessment-session.entity-BEqUQJqd.mjs.map → acorex-modules-assessment-management-assessment-session.entity-CHlf7QhJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DUhmBaaE.mjs → acorex-modules-assessment-management-fill-assessment-session.command-B_vRBxdF.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-fill-assessment-session.command-DUhmBaaE.mjs.map → acorex-modules-assessment-management-fill-assessment-session.command-B_vRBxdF.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-index-wgd15cLM.mjs → acorex-modules-assessment-management-index-DHebgRT4.mjs} +4 -4
- package/fesm2022/{acorex-modules-assessment-management-index-wgd15cLM.mjs.map → acorex-modules-assessment-management-index-DHebgRT4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-FU96peGv.mjs → acorex-modules-assessment-management-preview-question.command-yyHW6dRW.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-question.command-FU96peGv.mjs.map → acorex-modules-assessment-management-preview-question.command-yyHW6dRW.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-3rnMyPf2.mjs → acorex-modules-assessment-management-preview-questionnaire.command-CUw3O9Y9.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-preview-questionnaire.command-3rnMyPf2.mjs.map → acorex-modules-assessment-management-preview-questionnaire.command-CUw3O9Y9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2kWkJ3R.mjs → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DxD6BjtU.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-B2kWkJ3R.mjs.map → acorex-modules-assessment-management-question-bank-interface-editor-widget-edit.component-DxD6BjtU.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CVHXyQgM.mjs → acorex-modules-assessment-management-question-bank-item.entity-CoL8v4S_.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-question-bank-item.entity-CVHXyQgM.mjs.map → acorex-modules-assessment-management-question-bank-item.entity-CoL8v4S_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-D2JzvX_M.mjs → acorex-modules-assessment-management-questionnaire-calculation.entity-QJ21IWrq.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-calculation.entity-D2JzvX_M.mjs.map → acorex-modules-assessment-management-questionnaire-calculation.entity-QJ21IWrq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DFnGzy6T.mjs → acorex-modules-assessment-management-questionnaire-viewer-popup.component-dbBLqNjn.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-questionnaire-viewer-popup.component-DFnGzy6T.mjs.map → acorex-modules-assessment-management-questionnaire-viewer-popup.component-dbBLqNjn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C9iqnLNo.mjs → acorex-modules-assessment-management-questionnaire.entity-BjWwHS-u.mjs} +3 -3
- package/fesm2022/{acorex-modules-assessment-management-questionnaire.entity-C9iqnLNo.mjs.map → acorex-modules-assessment-management-questionnaire.entity-BjWwHS-u.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-CYjHrwuk.mjs → acorex-modules-assessment-management-save-questionnaire-questions.command-D1BySAb5.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-save-questionnaire-questions.command-CYjHrwuk.mjs.map → acorex-modules-assessment-management-save-questionnaire-questions.command-D1BySAb5.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-B9l4rXkS.mjs → acorex-modules-assessment-management-view-session-answers.command-B_r40P-A.mjs} +2 -2
- package/fesm2022/{acorex-modules-assessment-management-view-session-answers.command-B9l4rXkS.mjs.map → acorex-modules-assessment-management-view-session-answers.command-B_r40P-A.mjs.map} +1 -1
- package/fesm2022/acorex-modules-assessment-management.mjs +1 -1
- package/fesm2022/{acorex-modules-asset-management-acorex-modules-asset-management-p_zMwIBs.mjs → acorex-modules-asset-management-acorex-modules-asset-management-VXYhovvq.mjs} +765 -142
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-VXYhovvq.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs +118 -0
- package/fesm2022/acorex-modules-asset-management-asset-rental-history-status.provider-BiWf2TwD.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-C-UodoTZ.mjs → acorex-modules-asset-management-asset-system-assignment.entity-D5N_TCRn.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-assignment.entity-C-UodoTZ.mjs.map → acorex-modules-asset-management-asset-system-assignment.entity-D5N_TCRn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DkV2P0sF.mjs → acorex-modules-asset-management-asset-system-type.entity-SFP3uNsd.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system-type.entity-DkV2P0sF.mjs.map → acorex-modules-asset-management-asset-system-type.entity-SFP3uNsd.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-bLGHHcCr.mjs → acorex-modules-asset-management-asset-system.entity-BoZPb8ya.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-system.entity-bLGHHcCr.mjs.map → acorex-modules-asset-management-asset-system.entity-BoZPb8ya.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type-section-component.entity-B_ct599s.mjs → acorex-modules-asset-management-asset-type-section-component.entity-C9pyLB2X.mjs} +32 -31
- package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-C9pyLB2X.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BoONUtWp.mjs → acorex-modules-asset-management-asset-type-section.entity-C22vyuIm.mjs} +2 -2
- package/fesm2022/{acorex-modules-asset-management-asset-type-section.entity-BoONUtWp.mjs.map → acorex-modules-asset-management-asset-type-section.entity-C22vyuIm.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-asset-management-asset-type.entity-BjaLvZuH.mjs → acorex-modules-asset-management-asset-type.entity-B3jfFOM5.mjs} +108 -28
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-B3jfFOM5.mjs.map +1 -0
- package/fesm2022/{acorex-modules-asset-management-asset.entity-Bn-WKIkL.mjs → acorex-modules-asset-management-asset.entity-odX9EP6F.mjs} +22 -230
- package/fesm2022/acorex-modules-asset-management-asset.entity-odX9EP6F.mjs.map +1 -0
- package/fesm2022/acorex-modules-asset-management.mjs +1 -1
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DzCtP4qB.mjs → acorex-modules-auth-acorex-modules-auth-OxprG_fC.mjs} +13 -13
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-DzCtP4qB.mjs.map → acorex-modules-auth-acorex-modules-auth-OxprG_fC.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BQF1I-wB.mjs → acorex-modules-auth-app-chooser.component-CVIfaOZn.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-app-chooser.component-BQF1I-wB.mjs.map → acorex-modules-auth-app-chooser.component-CVIfaOZn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-5ZArig0w.mjs → acorex-modules-auth-login.module-DcHZK-R8.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-5ZArig0w.mjs.map → acorex-modules-auth-login.module-DcHZK-R8.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-a4QkegZJ.mjs → acorex-modules-auth-master.layout-BxFGH1Ns.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-a4QkegZJ.mjs.map → acorex-modules-auth-master.layout-BxFGH1Ns.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DTxqNJ2C.mjs → acorex-modules-auth-oauth-callback.component-D7wdpp8i.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-oauth-callback.component-DTxqNJ2C.mjs.map → acorex-modules-auth-oauth-callback.component-D7wdpp8i.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BecuTKvO.mjs → acorex-modules-auth-password.component-BStzALYp.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-BecuTKvO.mjs.map → acorex-modules-auth-password.component-BStzALYp.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-DmJZoAp1.mjs → acorex-modules-auth-password.component-CD6RCeFv.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-DmJZoAp1.mjs.map → acorex-modules-auth-password.component-CD6RCeFv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-DMqZIUs0.mjs → acorex-modules-auth-routes-DaEUQGPG.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-DMqZIUs0.mjs.map → acorex-modules-auth-routes-DaEUQGPG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-settings.provider-DkhbuDBO.mjs → acorex-modules-auth-settings.provider-CN7Lb38l.mjs} +26 -31
- package/fesm2022/acorex-modules-auth-settings.provider-CN7Lb38l.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-apfDuQ.mjs → acorex-modules-auth-tenant-chooser.component-B-iqLVe6.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-C-apfDuQ.mjs.map → acorex-modules-auth-tenant-chooser.component-B-iqLVe6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-BqbFsq9G.mjs → acorex-modules-auth-two-factor.module-BMKzyFEP.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-BqbFsq9G.mjs.map → acorex-modules-auth-two-factor.module-BMKzyFEP.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-user-sessions.component-D7vXGWMN.mjs → acorex-modules-auth-user-sessions.component-Xnz3S1SD.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-user-sessions.component-D7vXGWMN.mjs.map → acorex-modules-auth-user-sessions.component-Xnz3S1SD.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-common-search-popup.component-ZwPuisLi.mjs +136 -0
- package/fesm2022/acorex-modules-common-search-popup.component-ZwPuisLi.mjs.map +1 -0
- package/fesm2022/acorex-modules-common.mjs +407 -432
- package/fesm2022/acorex-modules-common.mjs.map +1 -1
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dnqqldoo.mjs +6764 -0
- package/fesm2022/acorex-modules-conversation-acorex-modules-conversation-Dnqqldoo.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DmD3hdLF.mjs +287 -0
- package/fesm2022/acorex-modules-conversation-assist-delegated-agent-detail-popup.component-DmD3hdLF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-conversation-comments-page.component-C8HWwI_w.mjs → acorex-modules-conversation-comments-page.component-DiooSKIu.mjs} +2 -2
- package/fesm2022/{acorex-modules-conversation-comments-page.component-C8HWwI_w.mjs.map → acorex-modules-conversation-comments-page.component-DiooSKIu.mjs.map} +1 -1
- package/fesm2022/acorex-modules-conversation-start-assist-chat.command-C1rs_uaZ.mjs +44 -0
- package/fesm2022/acorex-modules-conversation-start-assist-chat.command-C1rs_uaZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-conversation.mjs +1 -7370
- package/fesm2022/acorex-modules-conversation.mjs.map +1 -1
- package/fesm2022/{acorex-modules-dashboard-management-acorex-modules-dashboard-management-qboFnd_p.mjs → acorex-modules-dashboard-management-acorex-modules-dashboard-management-BBabwn2O.mjs} +5 -6
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-BBabwn2O.mjs.map +1 -0
- package/fesm2022/{acorex-modules-dashboard-management-index-DQHOwMS6.mjs → acorex-modules-dashboard-management-index-D04C4ESO.mjs} +2 -2
- package/fesm2022/{acorex-modules-dashboard-management-index-DQHOwMS6.mjs.map → acorex-modules-dashboard-management-index-D04C4ESO.mjs.map} +1 -1
- package/fesm2022/acorex-modules-dashboard-management.mjs +1 -1
- package/fesm2022/acorex-modules-document-management-large-tiles-view.component-DaIVK3ew.mjs +24 -0
- package/fesm2022/acorex-modules-document-management-large-tiles-view.component-DaIVK3ew.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management-small-tiles-view.component-G5AGqp_q.mjs +24 -0
- package/fesm2022/acorex-modules-document-management-small-tiles-view.component-G5AGqp_q.mjs.map +1 -0
- package/fesm2022/acorex-modules-document-management.mjs +191 -49
- package/fesm2022/acorex-modules-document-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +13 -17
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bwk3-2wy.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs} +301 -25
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-B37ZqEql.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B5aSubCY.mjs → acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-approve-leave-request.command-B5aSubCY.mjs.map → acorex-modules-human-capital-management-approve-leave-request.command-Bf8iPUE-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-l8dGe3kg.mjs → acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-assign-position-assignment.command-l8dGe3kg.mjs.map → acorex-modules-human-capital-management-assign-position-assignment.command-DqX9OAq4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-CeV-5Y5n.mjs → acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-cancel-leave-request.command-CeV-5Y5n.mjs.map → acorex-modules-human-capital-management-cancel-leave-request.command-DQG0Al0X.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs +225 -0
- package/fesm2022/acorex-modules-human-capital-management-employee-lifecycle-process.entity-DSsgKG8S.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employee.entity-DNgt9yQm.mjs → acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs} +38 -2
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-C8PaZEDs.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-rq8-Bauc.mjs → acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-rq8-Bauc.mjs.map → acorex-modules-human-capital-management-employment-type.entity-DhqHdESk.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-DlQJw4F6.mjs → acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-DlQJw4F6.mjs.map → acorex-modules-human-capital-management-leave-request.entity-CPdV6kiR.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5J2oOuY.mjs → acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-D5J2oOuY.mjs.map → acorex-modules-human-capital-management-leave-type.entity-D3iarVMG.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs +175 -0
- package/fesm2022/acorex-modules-human-capital-management-lifecycle-process-type.entity-EazvPSR6.mjs.map +1 -0
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D7mKhxYp.mjs → acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-D7mKhxYp.mjs.map → acorex-modules-human-capital-management-position-assignment.entity-mROyAoz-.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C4AWFOmG.mjs → acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-reject-leave-request.command-C4AWFOmG.mjs.map → acorex-modules-human-capital-management-reject-leave-request.command-Bq7OtST6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BSJhBW3p.mjs → acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs} +2 -2
- package/fesm2022/{acorex-modules-human-capital-management-revoke-position-assignment.command-BSJhBW3p.mjs.map → acorex-modules-human-capital-management-revoke-position-assignment.command-BpklMLve.mjs.map} +1 -1
- package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
- package/fesm2022/acorex-modules-locale-management.mjs +68 -70
- package/fesm2022/acorex-modules-locale-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs → acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs} +350 -178
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-coPYjl8-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs → acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-effect.entity-Cv5KnboB.mjs.map → acorex-modules-maintenance-management-failure-effect.entity-BdnnavfB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs → acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-asset-type.entity-BBL3-hfv.mjs.map → acorex-modules-maintenance-management-failure-mode-asset-type.entity-tlcqWco6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs → acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-mechanism.entity-nxOdHZxu.mjs.map → acorex-modules-maintenance-management-failure-mode-mechanism.entity-DivWl32L.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs → acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-mode-solution.entity-ApD80Scc.mjs.map → acorex-modules-maintenance-management-failure-mode-solution.entity-9FiLeySZ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs → acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-cause.entity-CibfwJLG.mjs.map → acorex-modules-maintenance-management-failure-register-cause.entity-3cq1KeYM.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs → acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-effect.entity-DpoqULBf.mjs.map → acorex-modules-maintenance-management-failure-register-effect.entity-CaVb6rDn.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs → acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-register-mechanism.entity-0-J2Hkmn.mjs.map → acorex-modules-maintenance-management-failure-register-mechanism.entity-C2UKW63M.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs → acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs} +16 -3
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-KghFLCIJ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs → acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs} +2 -2
- package/fesm2022/{acorex-modules-maintenance-management-failure-severity.entity-BZo6UUun.mjs.map → acorex-modules-maintenance-management-failure-severity.entity-BebswR7S.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs → acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs} +191 -35
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-1V4swUZ4.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs +154 -0
- package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-3hlrAtIr.mjs.map +1 -0
- package/fesm2022/acorex-modules-maintenance-management.mjs +1 -1
- package/fesm2022/acorex-modules-notification-management.mjs +34 -38
- package/fesm2022/acorex-modules-notification-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-order-management-settings.provider-BzNJIZCu.mjs → acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs} +6 -11
- package/fesm2022/acorex-modules-order-management-settings.provider-DF8JQ1PZ.mjs.map +1 -0
- package/fesm2022/acorex-modules-order-management.mjs +2 -2
- package/fesm2022/{acorex-modules-organization-management-acorex-modules-organization-management-CUWv9tbF.mjs → acorex-modules-organization-management-acorex-modules-organization-management-aord1Uv0.mjs} +169 -606
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-aord1Uv0.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BKWt1YeU.mjs → acorex-modules-organization-management-add-business-unit-to-business-unit.command-AfY76V1Q.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-business-unit-to-business-unit.command-BKWt1YeU.mjs.map → acorex-modules-organization-management-add-business-unit-to-business-unit.command-AfY76V1Q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-yRvXPaBm.mjs → acorex-modules-organization-management-add-position-to-business-unit.command-DT9WSyiI.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-add-position-to-business-unit.command-yRvXPaBm.mjs.map → acorex-modules-organization-management-add-position-to-business-unit.command-DT9WSyiI.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-Cm7ze35c.mjs +130 -0
- package/fesm2022/acorex-modules-organization-management-add-team-to-business-unit.command-Cm7ze35c.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-DwRpPYNe.mjs → acorex-modules-organization-management-business-unit.entity-BgxuZhyH.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-business-unit.entity-DwRpPYNe.mjs.map → acorex-modules-organization-management-business-unit.entity-BgxuZhyH.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-chart.entity-lm0udbe7.mjs → acorex-modules-organization-management-chart.entity-DSvAq3s6.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-chart.entity-lm0udbe7.mjs.map → acorex-modules-organization-management-chart.entity-DSvAq3s6.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-company.entity-DW43rdVi.mjs → acorex-modules-organization-management-company.entity-BU1_8FIf.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-company.entity-DW43rdVi.mjs.map → acorex-modules-organization-management-company.entity-BU1_8FIf.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DGmP_q74.mjs → acorex-modules-organization-management-entity.provider-i18ksNjv.mjs} +15 -15
- package/fesm2022/{acorex-modules-organization-management-entity.provider-DGmP_q74.mjs.map → acorex-modules-organization-management-entity.provider-i18ksNjv.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-Bm0hlncD.mjs → acorex-modules-organization-management-feature-definition.provider-CDPVhpcX.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-feature-definition.provider-Bm0hlncD.mjs.map → acorex-modules-organization-management-feature-definition.provider-CDPVhpcX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BdMIRbOs.mjs → acorex-modules-organization-management-job-definition-pages-component.provider-BlOJIHXX.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-pages-component.provider-BdMIRbOs.mjs.map → acorex-modules-organization-management-job-definition-pages-component.provider-BlOJIHXX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DtZTvokB.mjs → acorex-modules-organization-management-job-definition-responsibilities-page.component-BtotMHNw.mjs} +3 -3
- package/fesm2022/{acorex-modules-organization-management-job-definition-responsibilities-page.component-DtZTvokB.mjs.map → acorex-modules-organization-management-job-definition-responsibilities-page.component-BtotMHNw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B2uaOaWD.mjs → acorex-modules-organization-management-job-definition-skills-page.component-Cr8vI2T9.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition-skills-page.component-B2uaOaWD.mjs.map → acorex-modules-organization-management-job-definition-skills-page.component-Cr8vI2T9.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-enxYD1x1.mjs → acorex-modules-organization-management-job-definition.entity-aL7vWbHE.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-definition.entity-enxYD1x1.mjs.map → acorex-modules-organization-management-job-definition.entity-aL7vWbHE.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CRm1uNQa.mjs → acorex-modules-organization-management-job-level.datasource-Ds3ZDmRO.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.datasource-CRm1uNQa.mjs.map → acorex-modules-organization-management-job-level.datasource-Ds3ZDmRO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-D_m_u12t.mjs → acorex-modules-organization-management-job-level.entity-BzWMFrZX.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-job-level.entity-D_m_u12t.mjs.map → acorex-modules-organization-management-job-level.entity-BzWMFrZX.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-menu.provider-DZSDOHOa.mjs → acorex-modules-organization-management-menu.provider-CICmpvEv.mjs} +3 -2
- package/fesm2022/{acorex-modules-organization-management-menu.provider-DZSDOHOa.mjs.map → acorex-modules-organization-management-menu.provider-CICmpvEv.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-9s5ZUus4.mjs +228 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-default-node-contribution.provider-9s5ZUus4.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CepGeA3_.mjs +182 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-employee-flyout-contribution.provider-CepGeA3_.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Bi2pMYPe.mjs +170 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-position-employee-node-contribution.provider-Bi2pMYPe.mjs.map +1 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BgopvirR.mjs +334 -0
- package/fesm2022/acorex-modules-organization-management-org-chart-ux-node-contribution.provider-BgopvirR.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-org-chart.page-BUSEFJJZ.mjs → acorex-modules-organization-management-org-chart.page-Cs-wTPS-.mjs} +116 -38
- package/fesm2022/acorex-modules-organization-management-org-chart.page-Cs-wTPS-.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-DEfUgyRh.mjs → acorex-modules-organization-management-permission-definition.provider-DEc2_pkz.mjs} +3 -2
- package/fesm2022/{acorex-modules-organization-management-permission-definition.provider-DEfUgyRh.mjs.map → acorex-modules-organization-management-permission-definition.provider-DEc2_pkz.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs +56 -0
- package/fesm2022/acorex-modules-organization-management-permission.keys-DwZNBc12.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-position.entity-D1JU0rla.mjs → acorex-modules-organization-management-position.entity-C7u3c4LB.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-position.entity-D1JU0rla.mjs.map → acorex-modules-organization-management-position.entity-C7u3c4LB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-D2WMXNJg.mjs → acorex-modules-organization-management-remove-position-from-business-unit.command-B7D1vMcs.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-remove-position-from-business-unit.command-D2WMXNJg.mjs.map → acorex-modules-organization-management-remove-position-from-business-unit.command-B7D1vMcs.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-DyJIOBOp.mjs → acorex-modules-organization-management-replace-position-assignee.command-xodO4wdB.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-replace-position-assignee.command-DyJIOBOp.mjs.map → acorex-modules-organization-management-replace-position-assignee.command-xodO4wdB.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BTXGfRVf.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BeAm1FY0.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BTXGfRVf.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-edit.component-BeAm1FY0.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Cv_Aicyi.mjs → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-cdReuV2q.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix-widget-view.component-Cv_Aicyi.mjs.map → acorex-modules-organization-management-responsibilities-matrix-widget-view.component-cdReuV2q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-42Aqvq6J.mjs → acorex-modules-organization-management-responsibilities-matrix.component-bFxHz2vq.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibilities-matrix.component-42Aqvq6J.mjs.map → acorex-modules-organization-management-responsibilities-matrix.component-bFxHz2vq.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DIy5Kv_4.mjs → acorex-modules-organization-management-responsibility-level.entity-BDOhL12B.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility-level.entity-DIy5Kv_4.mjs.map → acorex-modules-organization-management-responsibility-level.entity-BDOhL12B.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BBlERaap.mjs → acorex-modules-organization-management-responsibility.entity-DQK2qB5N.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-responsibility.entity-BBlERaap.mjs.map → acorex-modules-organization-management-responsibility.entity-DQK2qB5N.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-settings.provider-BohjJ4JD.mjs → acorex-modules-organization-management-settings.provider-Di4FtA78.mjs} +21 -24
- package/fesm2022/acorex-modules-organization-management-settings.provider-Di4FtA78.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-UDotxAM4.mjs → acorex-modules-organization-management-team-business-unit.entity-DTWxuUQV.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-business-unit.entity-UDotxAM4.mjs.map → acorex-modules-organization-management-team-business-unit.entity-DTWxuUQV.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DfJ-QUdc.mjs → acorex-modules-organization-management-team-member-role.entity-D9SlbSQ4.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team-member-role.entity-DfJ-QUdc.mjs.map → acorex-modules-organization-management-team-member-role.entity-D9SlbSQ4.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-organization-management-team-member.entity-C13rpUNN.mjs → acorex-modules-organization-management-team-member.entity-D5NapdKq.mjs} +14 -2
- package/fesm2022/acorex-modules-organization-management-team-member.entity-D5NapdKq.mjs.map +1 -0
- package/fesm2022/{acorex-modules-organization-management-team.entity-CTajHYMs.mjs → acorex-modules-organization-management-team.entity-CNg4ffZv.mjs} +2 -2
- package/fesm2022/{acorex-modules-organization-management-team.entity-CTajHYMs.mjs.map → acorex-modules-organization-management-team.entity-CNg4ffZv.mjs.map} +1 -1
- package/fesm2022/acorex-modules-organization-management.mjs +1 -1
- package/fesm2022/acorex-modules-person-core.mjs +4 -0
- package/fesm2022/acorex-modules-person-core.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs → acorex-modules-platform-dev-tools-menu.provider-DDjYvQr7.mjs} +6 -2
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-DDjYvQr7.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs → acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs} +2 -2
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-DKmgBUYt.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-dev-tools.mjs +44 -7
- package/fesm2022/acorex-modules-platform-dev-tools.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-acorex-modules-platform-management-DCR1ziGj.mjs → acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs} +12 -4
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-D0D56pWx.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs +56 -0
- package/fesm2022/acorex-modules-platform-management-entity-master-actions-for-ai.util-OCk5eqQz.mjs.map +1 -0
- package/fesm2022/acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs +198 -0
- package/fesm2022/acorex-modules-platform-management-list-platform-navigation-for-ai.query-C3-eBMwF.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-list-registered-entities.query-B6-zV_Ml.mjs → acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs} +26 -4
- package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-BZVD9YPU.mjs.map +1 -0
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-ClShYP8I.mjs → acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs} +2 -2
- package/fesm2022/{acorex-modules-platform-management-menu-list.component-ClShYP8I.mjs.map → acorex-modules-platform-management-menu-list.component-BE9_j1Xy.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +1 -1
- package/fesm2022/acorex-modules-project-management.mjs +33 -3
- package/fesm2022/acorex-modules-project-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CwUO5jm4.mjs → acorex-modules-report-management-report-runner-root-page.component-B4ztqlU3.mjs} +4 -6
- package/fesm2022/{acorex-modules-report-management-report-runner-root-page.component-CwUO5jm4.mjs.map → acorex-modules-report-management-report-runner-root-page.component-B4ztqlU3.mjs.map} +1 -1
- package/fesm2022/acorex-modules-report-management.mjs +48 -27
- package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-settings-management-acorex-modules-settings-management-7TUWK_qS.mjs → acorex-modules-settings-management-acorex-modules-settings-management-DHihkQXi.mjs} +88 -13
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-DHihkQXi.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DWSlCjno.mjs → acorex-modules-settings-management-permission-definition.provider-DZoXbvt_.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-permission-definition.provider-DWSlCjno.mjs.map → acorex-modules-settings-management-permission-definition.provider-DZoXbvt_.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-settings-management-setting-page.component-DukQDWHe.mjs → acorex-modules-settings-management-setting-page.component-B6UoszKZ.mjs} +5 -4
- package/fesm2022/acorex-modules-settings-management-setting-page.component-B6UoszKZ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-C-PiEhLL.mjs → acorex-modules-settings-management-setting-view.component-BGCXJQ_L.mjs} +2 -2
- package/fesm2022/{acorex-modules-settings-management-setting-view.component-C-PiEhLL.mjs.map → acorex-modules-settings-management-setting-view.component-BGCXJQ_L.mjs.map} +1 -1
- package/fesm2022/acorex-modules-settings-management.mjs +1 -1
- package/fesm2022/{acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs → acorex-modules-task-management-acorex-modules-task-management-CrwI8DcQ.mjs} +258 -40
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-CrwI8DcQ.mjs.map +1 -0
- package/fesm2022/{acorex-modules-task-management-task-board.page-BOrgjwax.mjs → acorex-modules-task-management-task-board.page-BG6IgTKW.mjs} +242 -134
- package/fesm2022/acorex-modules-task-management-task-board.page-BG6IgTKW.mjs.map +1 -0
- package/fesm2022/acorex-modules-task-management.mjs +1 -1
- package/fesm2022/acorex-modules-tenant-management.mjs +3 -7
- package/fesm2022/acorex-modules-tenant-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-8bcGTqWE.mjs → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYMWJZBG.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-8bcGTqWE.mjs.map → acorex-modules-workflow-management-activity-command-configurator-widget-edit.component-BYMWJZBG.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-BhmoJcbI.mjs → acorex-modules-workflow-management-index-CBJu8_4q.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-BhmoJcbI.mjs.map → acorex-modules-workflow-management-index-CBJu8_4q.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-index-DuZJ07Ve.mjs → acorex-modules-workflow-management-index-DuXPh3Lz.mjs} +3 -3
- package/fesm2022/{acorex-modules-workflow-management-index-DuZJ07Ve.mjs.map → acorex-modules-workflow-management-index-DuXPh3Lz.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-EE3w4EFB.mjs → acorex-modules-workflow-management-workflow-instance.entity-d87fYJLS.mjs} +2 -2
- package/fesm2022/{acorex-modules-workflow-management-workflow-instance.entity-EE3w4EFB.mjs.map → acorex-modules-workflow-management-workflow-instance.entity-d87fYJLS.mjs.map} +1 -1
- package/fesm2022/acorex-modules-workflow-management.mjs +257 -69
- package/fesm2022/acorex-modules-workflow-management.mjs.map +1 -1
- package/organization-management/README.md +1 -1
- package/package.json +3 -3
- package/platform-management/README.md +4 -0
- package/types/acorex-modules-ai-management.d.ts +168 -580
- package/types/acorex-modules-asset-management.d.ts +19 -87
- package/types/acorex-modules-common.d.ts +17 -20
- package/types/acorex-modules-conversation.d.ts +52 -4
- package/types/acorex-modules-dashboard-management.d.ts +2 -2
- package/types/acorex-modules-document-management.d.ts +35 -15
- package/types/acorex-modules-human-capital-management.d.ts +100 -2
- package/types/acorex-modules-maintenance-management.d.ts +6 -8
- package/types/acorex-modules-notification-management.d.ts +0 -3
- package/types/acorex-modules-organization-management.d.ts +135 -76
- package/types/acorex-modules-platform-dev-tools.d.ts +16 -2
- package/types/acorex-modules-report-management.d.ts +16 -1
- package/types/acorex-modules-settings-management.d.ts +3 -0
- package/types/acorex-modules-task-management.d.ts +37 -2
- package/types/acorex-modules-tenant-management.d.ts +0 -1
- package/types/acorex-modules-workflow-management.d.ts +53 -7
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-DZ_SXRAW.mjs +0 -8782
- package/fesm2022/acorex-modules-ai-management-acorex-modules-ai-management-DZ_SXRAW.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent-registry-tool-configurator-widget-edit.component-CwLff8ut.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-agent.entity-CsiCzwYK.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-BWxdBe9t.mjs +0 -1255
- package/fesm2022/acorex-modules-ai-management-ai-delegated-agent-transcript-popup.component-BWxdBe9t.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist-delegated-agent-configurator-widget-edit.component-DQWeuAd6.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-assist.entity-Be5vnFVn.mjs.map +0 -1
- package/fesm2022/acorex-modules-ai-management-index-BFMvZNvI.mjs +0 -2
- package/fesm2022/acorex-modules-ai-management-index-BFMvZNvI.mjs.map +0 -1
- package/fesm2022/acorex-modules-assessment-management-acorex-modules-assessment-management-DjvWF5T-.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-acorex-modules-asset-management-p_zMwIBs.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-CXgiPWiW.mjs +0 -302
- package/fesm2022/acorex-modules-asset-management-asset-rental-history.entity-CXgiPWiW.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-Cwics4Zo.mjs +0 -258
- package/fesm2022/acorex-modules-asset-management-asset-state-history.entity-Cwics4Zo.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs +0 -98
- package/fesm2022/acorex-modules-asset-management-asset-status.rules-B7KwWQEe.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type-section-component.entity-B_ct599s.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset-type.entity-BjaLvZuH.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-asset.entity-Bn-WKIkL.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs +0 -192
- package/fesm2022/acorex-modules-asset-management-assetLifecycle-state.provider-DZ5r2zx7.mjs.map +0 -1
- package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs +0 -363
- package/fesm2022/acorex-modules-asset-management-status.provider-C41t4e2U.mjs.map +0 -1
- package/fesm2022/acorex-modules-auth-settings.provider-DkhbuDBO.mjs.map +0 -1
- package/fesm2022/acorex-modules-common-search-popup.component-Bh3otWbL.mjs +0 -129
- package/fesm2022/acorex-modules-common-search-popup.component-Bh3otWbL.mjs.map +0 -1
- package/fesm2022/acorex-modules-dashboard-management-acorex-modules-dashboard-management-qboFnd_p.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-large-tiles-view.component-D5X1pcSP.mjs +0 -24
- package/fesm2022/acorex-modules-document-management-large-tiles-view.component-D5X1pcSP.mjs.map +0 -1
- package/fesm2022/acorex-modules-document-management-small-tiles-view.component-a7wOH_7D.mjs +0 -24
- package/fesm2022/acorex-modules-document-management-small-tiles-view.component-a7wOH_7D.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-acorex-modules-human-capital-management-Bwk3-2wy.mjs.map +0 -1
- package/fesm2022/acorex-modules-human-capital-management-employee.entity-DNgt9yQm.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-acorex-modules-maintenance-management-B5wf4zMI.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-failure-register.entity-C4Az4Rr9.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-maintenance-template.entity-DxYY0hpG.mjs.map +0 -1
- package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs +0 -54
- package/fesm2022/acorex-modules-maintenance-management-work-order-list-command-DTKNtyBF.mjs.map +0 -1
- package/fesm2022/acorex-modules-order-management-settings.provider-BzNJIZCu.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-acorex-modules-organization-management-CUWv9tbF.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-org-chart.page-BUSEFJJZ.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-settings.provider-BohjJ4JD.mjs.map +0 -1
- package/fesm2022/acorex-modules-organization-management-team-member.entity-C13rpUNN.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-dev-tools-menu.provider-BFueKnuF.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-dev-tools-settings.provider-CGyf-4eq.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-acorex-modules-platform-management-DCR1ziGj.mjs.map +0 -1
- package/fesm2022/acorex-modules-platform-management-list-registered-entities.query-B6-zV_Ml.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-acorex-modules-settings-management-7TUWK_qS.mjs.map +0 -1
- package/fesm2022/acorex-modules-settings-management-setting-page.component-DukQDWHe.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-acorex-modules-task-management-C-inbbcy.mjs.map +0 -1
- package/fesm2022/acorex-modules-task-management-task-board.page-BOrgjwax.mjs.map +0 -1
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-l37iXJIY.mjs +0 -362
- package/fesm2022/acorex-modules-workflow-management-workflow-task-popover.component-l37iXJIY.mjs.map +0 -1
|
@@ -39,17 +39,17 @@ import * as i1$3 from '@angular/forms';
|
|
|
39
39
|
import { FormsModule } from '@angular/forms';
|
|
40
40
|
import { Router, ActivatedRoute, NavigationEnd, RouterModule } from '@angular/router';
|
|
41
41
|
import { filter, startWith } from 'rxjs';
|
|
42
|
-
import { A as AXM_TASK_BOARD_ALL_VIEW_MODE_IDS, a as AXMTaskBoardSettings, n as
|
|
42
|
+
import { A as AXM_TASK_BOARD_ALL_VIEW_MODE_IDS, a as AXMTaskBoardSettings, n as normalizeTaskBoardAssigneeIds, b as normalizeVisibleTaskBoardModesByParts, c as canViewAllTaskAssignees, d as AXPTaskBoardService, R as RootConfig } from './acorex-modules-task-management-acorex-modules-task-management-CrwI8DcQ.mjs';
|
|
43
43
|
import { AXFormatPipe } from '@acorex/core/format';
|
|
44
44
|
import * as i1 from '@acorex/platform/layout/widget-core';
|
|
45
45
|
import { AXPWidgetCoreModule, AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
|
|
46
46
|
import { AXPSessionService } from '@acorex/platform/auth';
|
|
47
47
|
import { AXPSettingsService } from '@acorex/platform/common';
|
|
48
48
|
import { signalStore, withState, withComputed, withMethods, patchState } from '@ngrx/signals';
|
|
49
|
+
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
49
50
|
import { isEqual, sortBy } from 'lodash-es';
|
|
50
51
|
import { AXSchedulerService, AXSchedulerComponent } from '@acorex/components/scheduler';
|
|
51
52
|
import { AXPCommandService } from '@acorex/platform/runtime';
|
|
52
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
53
53
|
import { AXDataSource } from '@acorex/cdk/common';
|
|
54
54
|
import * as i1$2 from '@acorex/components/data-table';
|
|
55
55
|
import { AXDataTableModule } from '@acorex/components/data-table';
|
|
@@ -146,7 +146,11 @@ const AXMTaskBoardViewModel = signalStore({ providedIn: 'root' }, withState(() =
|
|
|
146
146
|
currentDate = new Date();
|
|
147
147
|
}
|
|
148
148
|
const currentUserId = sessionService.user?.id;
|
|
149
|
-
const
|
|
149
|
+
const canViewAll = canViewAllTaskAssignees(sessionService);
|
|
150
|
+
const resolvedSavedAssigneeIds = savedAssigneeIds === undefined && currentUserId != null ? [currentUserId] : (savedAssigneeIds ?? []);
|
|
151
|
+
const defaultAssigneeIds = canViewAll
|
|
152
|
+
? resolvedSavedAssigneeIds
|
|
153
|
+
: normalizeTaskBoardAssigneeIds(sessionService, resolvedSavedAssigneeIds);
|
|
150
154
|
let effectiveViewMode = savedViewMode || 'month';
|
|
151
155
|
if (!visibleViewModes.includes(effectiveViewMode)) {
|
|
152
156
|
effectiveViewMode = visibleViewModes[0] ?? 'month';
|
|
@@ -221,11 +225,12 @@ const AXMTaskBoardViewModel = signalStore({ providedIn: 'root' }, withState(() =
|
|
|
221
225
|
.catch((error) => console.error('Error saving selected task type filter:', error));
|
|
222
226
|
},
|
|
223
227
|
setSelectedAssigneeIds(assigneeIds, isQueryParam = false) {
|
|
224
|
-
|
|
228
|
+
const normalizedAssigneeIds = normalizeTaskBoardAssigneeIds(sessionService, assigneeIds);
|
|
229
|
+
patchState(store, { selectedAssigneeIds: normalizedAssigneeIds });
|
|
225
230
|
if (isQueryParam)
|
|
226
231
|
return;
|
|
227
232
|
userScopedSettings()
|
|
228
|
-
.set(AXMTaskBoardSettings.SelectedAssigneeIds,
|
|
233
|
+
.set(AXMTaskBoardSettings.SelectedAssigneeIds, normalizedAssigneeIds)
|
|
229
234
|
.catch((error) => console.error('Error saving selected assignee filter:', error));
|
|
230
235
|
},
|
|
231
236
|
setSelectedReporterIds(reporterIds, isQueryParam = false) {
|
|
@@ -359,6 +364,10 @@ class AXMTaskBoardFiltersComponent {
|
|
|
359
364
|
constructor() {
|
|
360
365
|
this.rootConfig = RootConfig;
|
|
361
366
|
this.vm = inject(AXMTaskBoardViewModel);
|
|
367
|
+
this.sessionService = inject(AXPSessionService);
|
|
368
|
+
/** Tracks session user/permissions so assignee filter options react to login changes. */
|
|
369
|
+
this.sessionUser = toSignal(this.sessionService.user$, { initialValue: null });
|
|
370
|
+
this.sessionPermissions = toSignal(this.sessionService.permissions$, { initialValue: [] });
|
|
362
371
|
this.isQueryParam = input(false, ...(ngDevMode ? [{ debugName: "isQueryParam" }] : /* istanbul ignore next */ []));
|
|
363
372
|
this.applyClicked = output();
|
|
364
373
|
this.context = signal({}, ...(ngDevMode ? [{ debugName: "context" }] : /* istanbul ignore next */ []));
|
|
@@ -370,6 +379,21 @@ class AXMTaskBoardFiltersComponent {
|
|
|
370
379
|
this.isInitialized = true;
|
|
371
380
|
}
|
|
372
381
|
}, ...(ngDevMode ? [{ debugName: "#init" }] : /* istanbul ignore next */ []));
|
|
382
|
+
/** Re-scope assignee filter when user or permissions change (e.g. after switching accounts). */
|
|
383
|
+
this.#assigneeScope = effect(() => {
|
|
384
|
+
this.sessionUser();
|
|
385
|
+
this.sessionPermissions();
|
|
386
|
+
if (this.vm.isLoading()) {
|
|
387
|
+
return;
|
|
388
|
+
}
|
|
389
|
+
const scopedIds = normalizeTaskBoardAssigneeIds(this.sessionService, this.vm.selectedAssigneeIds());
|
|
390
|
+
if (!isEqual(sortBy(this.vm.selectedAssigneeIds()), sortBy(scopedIds))) {
|
|
391
|
+
this.vm.setSelectedAssigneeIds(scopedIds, this.isQueryParam());
|
|
392
|
+
}
|
|
393
|
+
if (this.isInitialized) {
|
|
394
|
+
this.resetContextToViewModel();
|
|
395
|
+
}
|
|
396
|
+
}, ...(ngDevMode ? [{ debugName: "#assigneeScope" }] : /* istanbul ignore next */ []));
|
|
373
397
|
this.VALID_PRIORITIES = [
|
|
374
398
|
{ title: 'Highest', name: 'highest' },
|
|
375
399
|
{ title: 'High', name: 'high' },
|
|
@@ -382,74 +406,88 @@ class AXMTaskBoardFiltersComponent {
|
|
|
382
406
|
const viewMode = this.vm.currentViewMode();
|
|
383
407
|
return viewMode !== 'kanban' && viewMode !== 'status-grouped-grid';
|
|
384
408
|
}, ...(ngDevMode ? [{ debugName: "isMultiSelectEnabled" }] : /* istanbul ignore next */ []));
|
|
385
|
-
this.
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
409
|
+
this.canFilterByAllAssignees = computed(() => {
|
|
410
|
+
this.sessionUser();
|
|
411
|
+
this.sessionPermissions();
|
|
412
|
+
return canViewAllTaskAssignees(this.sessionService);
|
|
413
|
+
}, ...(ngDevMode ? [{ debugName: "canFilterByAllAssignees" }] : /* istanbul ignore next */ []));
|
|
414
|
+
this.nodes = computed(() => {
|
|
415
|
+
const canFilterByAllAssignees = this.canFilterByAllAssignees();
|
|
416
|
+
const assigneeScopeKey = `${this.sessionUser()?.id ?? ''}:${canFilterByAllAssignees}`;
|
|
417
|
+
return [
|
|
418
|
+
{
|
|
419
|
+
name: 'taskType',
|
|
420
|
+
path: 'options.taskType',
|
|
421
|
+
type: AXPWidgetsCatalog.select,
|
|
422
|
+
options: {
|
|
423
|
+
valueField: 'name',
|
|
424
|
+
textField: 'title',
|
|
425
|
+
dataSource: 'task-types',
|
|
426
|
+
placeholder: 'Select Task Type',
|
|
427
|
+
multiple: this.isMultiSelectEnabled(),
|
|
428
|
+
allowClear: this.isMultiSelectEnabled(),
|
|
429
|
+
},
|
|
430
|
+
meta: {
|
|
431
|
+
title: 'task-board.filter.task-type',
|
|
432
|
+
},
|
|
397
433
|
},
|
|
398
|
-
|
|
399
|
-
|
|
434
|
+
{
|
|
435
|
+
name: 'assignee',
|
|
436
|
+
path: 'options.assignee',
|
|
437
|
+
type: AXPWidgetsCatalog.select,
|
|
438
|
+
options: {
|
|
439
|
+
multiple: true,
|
|
440
|
+
valueField: 'id',
|
|
441
|
+
allowSearch: canFilterByAllAssignees,
|
|
442
|
+
allowClear: canFilterByAllAssignees,
|
|
443
|
+
readonly: !canFilterByAllAssignees,
|
|
444
|
+
dataSource: 'task-board-assignees',
|
|
445
|
+
assigneeScopeKey,
|
|
446
|
+
textField: 'displayName',
|
|
447
|
+
placeholder: 'Select Assignee',
|
|
448
|
+
},
|
|
449
|
+
meta: {
|
|
450
|
+
title: 'task-board.filter.assignee',
|
|
451
|
+
},
|
|
400
452
|
},
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
453
|
+
{
|
|
454
|
+
name: 'reporter',
|
|
455
|
+
path: 'options.reporter',
|
|
456
|
+
type: AXPWidgetsCatalog.select,
|
|
457
|
+
options: {
|
|
458
|
+
multiple: true,
|
|
459
|
+
valueField: 'id',
|
|
460
|
+
allowSearch: true,
|
|
461
|
+
dataSource: 'users',
|
|
462
|
+
textField: 'displayName',
|
|
463
|
+
placeholder: 'Select Reporter',
|
|
464
|
+
},
|
|
465
|
+
meta: {
|
|
466
|
+
title: 'task-board.filter.reporter',
|
|
467
|
+
},
|
|
413
468
|
},
|
|
414
|
-
|
|
415
|
-
|
|
469
|
+
{
|
|
470
|
+
name: 'priority',
|
|
471
|
+
path: 'options.priority',
|
|
472
|
+
type: AXPWidgetsCatalog.select,
|
|
473
|
+
options: {
|
|
474
|
+
multiple: true,
|
|
475
|
+
valueField: 'name',
|
|
476
|
+
textField: 'title',
|
|
477
|
+
direction: 'horizontal',
|
|
478
|
+
placeholder: 'Select Priority',
|
|
479
|
+
dataSource: this.VALID_PRIORITIES,
|
|
480
|
+
},
|
|
481
|
+
meta: {
|
|
482
|
+
title: 'task-board.filter.priority',
|
|
483
|
+
},
|
|
416
484
|
},
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
name: 'reporter',
|
|
420
|
-
path: 'options.reporter',
|
|
421
|
-
type: AXPWidgetsCatalog.select,
|
|
422
|
-
options: {
|
|
423
|
-
multiple: true,
|
|
424
|
-
valueField: 'id',
|
|
425
|
-
allowSearch: true,
|
|
426
|
-
dataSource: 'users',
|
|
427
|
-
textField: 'displayName',
|
|
428
|
-
placeholder: 'Select Reporter',
|
|
429
|
-
},
|
|
430
|
-
meta: {
|
|
431
|
-
title: 'task-board.filter.reporter',
|
|
432
|
-
},
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
name: 'priority',
|
|
436
|
-
path: 'options.priority',
|
|
437
|
-
type: AXPWidgetsCatalog.select,
|
|
438
|
-
options: {
|
|
439
|
-
multiple: true,
|
|
440
|
-
valueField: 'name',
|
|
441
|
-
textField: 'title',
|
|
442
|
-
direction: 'horizontal',
|
|
443
|
-
placeholder: 'Select Priority',
|
|
444
|
-
dataSource: this.VALID_PRIORITIES,
|
|
445
|
-
},
|
|
446
|
-
meta: {
|
|
447
|
-
title: 'task-board.filter.priority',
|
|
448
|
-
},
|
|
449
|
-
},
|
|
450
|
-
], ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
|
|
485
|
+
];
|
|
486
|
+
}, ...(ngDevMode ? [{ debugName: "nodes" }] : /* istanbul ignore next */ []));
|
|
451
487
|
}
|
|
452
488
|
#init;
|
|
489
|
+
/** Re-scope assignee filter when user or permissions change (e.g. after switching accounts). */
|
|
490
|
+
#assigneeScope;
|
|
453
491
|
resetContextToViewModel() {
|
|
454
492
|
const vmTaskTypeNames = this.vm.selectedTaskTypeNames();
|
|
455
493
|
const vmAssigneeIds = this.vm.selectedAssigneeIds();
|
|
@@ -670,6 +708,20 @@ class AXMTaskBoardCalendarViewComponent {
|
|
|
670
708
|
this.refreshNonce();
|
|
671
709
|
this.schedulerComponent()?.refresh();
|
|
672
710
|
}, ...(ngDevMode ? [{ debugName: "refreshNonceEffect" }] : /* istanbul ignore next */ []));
|
|
711
|
+
/** Re-renders scheduler when parent date, view, or range length changes. */
|
|
712
|
+
this.schedulerStateSyncEffect = effect(() => {
|
|
713
|
+
this.startingDate();
|
|
714
|
+
this.currentSchedulerView();
|
|
715
|
+
this.vm.daysCount();
|
|
716
|
+
this.vm.selectedTaskTypeNames();
|
|
717
|
+
this.vm.selectedAssigneeIds();
|
|
718
|
+
this.vm.selectedReporterIds();
|
|
719
|
+
this.vm.selectedPriorities();
|
|
720
|
+
this.refreshNonce();
|
|
721
|
+
queueMicrotask(() => {
|
|
722
|
+
this.schedulerComponent()?.refresh();
|
|
723
|
+
});
|
|
724
|
+
}, ...(ngDevMode ? [{ debugName: "schedulerStateSyncEffect" }] : /* istanbul ignore next */ []));
|
|
673
725
|
}
|
|
674
726
|
// async ngOnInit(): Promise<void> {
|
|
675
727
|
// const firstDayOfWeek = await this.settingsService.get(AXPRegionalSetting.FirstDayOfWeek) as unknown as number;
|
|
@@ -825,12 +877,16 @@ class AXMTaskBoardCalendarViewComponent {
|
|
|
825
877
|
const task = this.selectedTask();
|
|
826
878
|
if (!task || !action.command)
|
|
827
879
|
return;
|
|
880
|
+
const providerName = task.provider;
|
|
881
|
+
if (!providerName)
|
|
882
|
+
return;
|
|
828
883
|
try {
|
|
829
|
-
const
|
|
830
|
-
if (
|
|
884
|
+
const result = await this.taskBoardService.executeCommand(action.command, providerName);
|
|
885
|
+
if (result?.success === false || result === null) {
|
|
831
886
|
return;
|
|
832
|
-
|
|
887
|
+
}
|
|
833
888
|
this.closePopover();
|
|
889
|
+
this.taskBoardService.requestRefresh(providerName);
|
|
834
890
|
}
|
|
835
891
|
catch (error) {
|
|
836
892
|
console.error('Failed to execute action:', error);
|
|
@@ -861,64 +917,46 @@ class AXMTaskBoardCalendarViewComponent {
|
|
|
861
917
|
}
|
|
862
918
|
async loadCustomComponent(task) {
|
|
863
919
|
if (!task.provider) {
|
|
864
|
-
console.log('[TaskPopover] No provider on task:', task);
|
|
865
920
|
this.customComponentType.set(null);
|
|
866
921
|
return;
|
|
867
922
|
}
|
|
868
923
|
const provider = this.taskBoardService.getProvider(task.provider);
|
|
869
924
|
if (!provider) {
|
|
870
|
-
console.log('[TaskPopover] Provider not found:', task.provider);
|
|
871
925
|
this.customComponentType.set(null);
|
|
872
926
|
return;
|
|
873
927
|
}
|
|
874
928
|
const componentGetter = provider.getComponent?.();
|
|
875
929
|
if (!componentGetter) {
|
|
876
|
-
console.log('[TaskPopover] No component getter on provider:', task.provider);
|
|
877
930
|
this.customComponentType.set(null);
|
|
878
931
|
return;
|
|
879
932
|
}
|
|
880
|
-
console.log('[TaskPopover] Component getter found:', componentGetter, 'Type:', typeof componentGetter);
|
|
881
933
|
try {
|
|
882
934
|
let componentType;
|
|
883
|
-
// Check if it's a lazy loading function or direct component type
|
|
884
|
-
// A lazy loader is a function that returns a Promise
|
|
885
|
-
// A component type is a class constructor (also a function, but used differently)
|
|
886
935
|
if (typeof componentGetter === 'function') {
|
|
887
|
-
// Try calling it to see if it returns a Promise (lazy loader)
|
|
888
936
|
const testCall = componentGetter;
|
|
889
937
|
let result;
|
|
890
938
|
try {
|
|
891
939
|
result = testCall();
|
|
892
940
|
}
|
|
893
|
-
catch
|
|
894
|
-
// If calling throws (e.g., class constructor without 'new'), use it directly
|
|
895
|
-
console.log('[TaskPopover] Component getter is a class constructor, using directly');
|
|
941
|
+
catch {
|
|
896
942
|
componentType = componentGetter;
|
|
897
943
|
this.customComponentType.set(componentType);
|
|
898
944
|
return;
|
|
899
945
|
}
|
|
900
946
|
if (result instanceof Promise) {
|
|
901
|
-
// It's a lazy loading function
|
|
902
|
-
console.log('[TaskPopover] Component getter is a lazy loader');
|
|
903
947
|
componentType = await result;
|
|
904
948
|
}
|
|
905
949
|
else if (result) {
|
|
906
|
-
// It returned a component type directly
|
|
907
|
-
console.log('[TaskPopover] Component getter returned component type directly');
|
|
908
950
|
componentType = result;
|
|
909
951
|
}
|
|
910
952
|
else {
|
|
911
|
-
// Result is undefined, use the original as component type
|
|
912
|
-
console.log('[TaskPopover] Component getter returned undefined, using original as component type');
|
|
913
953
|
componentType = componentGetter;
|
|
914
954
|
}
|
|
915
955
|
}
|
|
916
956
|
else {
|
|
917
|
-
console.log('[TaskPopover] Component getter is not a function');
|
|
918
957
|
this.customComponentType.set(null);
|
|
919
958
|
return;
|
|
920
959
|
}
|
|
921
|
-
console.log('[TaskPopover] Component type loaded successfully:', componentType?.name);
|
|
922
960
|
this.customComponentType.set(componentType);
|
|
923
961
|
}
|
|
924
962
|
catch (error) {
|
|
@@ -1339,11 +1377,18 @@ class AXMTaskBoardKanbanViewComponent {
|
|
|
1339
1377
|
onSortChanged(event) {
|
|
1340
1378
|
const tasks = this.tasks().map((item) => {
|
|
1341
1379
|
const task = event.allItems.find((t) => t.id === item.id);
|
|
1342
|
-
if (task) {
|
|
1343
|
-
|
|
1344
|
-
return { ...item, index: task.index, status: { id: status.key, title: status.title } };
|
|
1380
|
+
if (!task) {
|
|
1381
|
+
return item;
|
|
1345
1382
|
}
|
|
1346
|
-
|
|
1383
|
+
const status = this.statuses().find((s) => String(s.key) === String(task.statusKey));
|
|
1384
|
+
if (!status) {
|
|
1385
|
+
return { ...item, index: task.index ?? item.index };
|
|
1386
|
+
}
|
|
1387
|
+
return {
|
|
1388
|
+
...item,
|
|
1389
|
+
index: task.index ?? item.index,
|
|
1390
|
+
status: { id: status.key, title: status.title },
|
|
1391
|
+
};
|
|
1347
1392
|
});
|
|
1348
1393
|
this.taskBoardService
|
|
1349
1394
|
.updateTasks(tasks)
|
|
@@ -1352,6 +1397,10 @@ class AXMTaskBoardKanbanViewComponent {
|
|
|
1352
1397
|
})
|
|
1353
1398
|
.catch((error) => {
|
|
1354
1399
|
console.error('[KanbanSort] Failed to update tasks:', error);
|
|
1400
|
+
const provider = tasks[0]?.provider;
|
|
1401
|
+
if (provider) {
|
|
1402
|
+
this.taskBoardService.requestRefresh(provider);
|
|
1403
|
+
}
|
|
1355
1404
|
});
|
|
1356
1405
|
}
|
|
1357
1406
|
async handleItemClick(event) {
|
|
@@ -1657,6 +1706,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1657
1706
|
function statusGroupTrackKey(nonce, group) {
|
|
1658
1707
|
return `${nonce}:${String(group.statusInfo.key)}`;
|
|
1659
1708
|
}
|
|
1709
|
+
function taskMatchesStatus(task, status) {
|
|
1710
|
+
return String(task.status.id) === String(status.key);
|
|
1711
|
+
}
|
|
1660
1712
|
class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
1661
1713
|
#dataChanged;
|
|
1662
1714
|
#providerChanged;
|
|
@@ -1669,6 +1721,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1669
1721
|
this.dataSource = input.required(...(ngDevMode ? [{ debugName: "dataSource" }] : /* istanbul ignore next */ []));
|
|
1670
1722
|
this.refreshNonce = input(0, ...(ngDevMode ? [{ debugName: "refreshNonce" }] : /* istanbul ignore next */ []));
|
|
1671
1723
|
this.onActionClick = output();
|
|
1724
|
+
this.onTaskClick = output();
|
|
1672
1725
|
this.groupedTasks = signal([], ...(ngDevMode ? [{ debugName: "groupedTasks" }] : /* istanbul ignore next */ []));
|
|
1673
1726
|
this.allFetchedTasks = signal([], ...(ngDevMode ? [{ debugName: "allFetchedTasks" }] : /* istanbul ignore next */ []));
|
|
1674
1727
|
this.columns = signal([], ...(ngDevMode ? [{ debugName: "columns" }] : /* istanbul ignore next */ []));
|
|
@@ -1676,10 +1729,9 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1676
1729
|
this.grids = viewChildren('grid', ...(ngDevMode ? [{ debugName: "grids" }] : /* istanbul ignore next */ []));
|
|
1677
1730
|
/** Used by the template so status tables remount when the board refreshes (same as flat grid). */
|
|
1678
1731
|
this.trackStatusGroup = (_index, group) => statusGroupTrackKey(this.refreshNonce(), group);
|
|
1679
|
-
this
|
|
1732
|
+
this.groupedViewRemountKeys = computed(() => [this.refreshNonce()], ...(ngDevMode ? [{ debugName: "groupedViewRemountKeys" }] : /* istanbul ignore next */ []));
|
|
1733
|
+
this.#dataChanged = effect(() => {
|
|
1680
1734
|
// Track filter-related signals that affect the data source
|
|
1681
|
-
// When these change, the parent's filter() computed signal changes,
|
|
1682
|
-
// which means the data source function will return different results
|
|
1683
1735
|
this.vm.selectedTaskTypeNames();
|
|
1684
1736
|
this.vm.selectedAssigneeIds();
|
|
1685
1737
|
this.vm.selectedReporterIds();
|
|
@@ -1688,36 +1740,34 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1688
1740
|
this.vm.daysCount();
|
|
1689
1741
|
this.vm.currentViewMode();
|
|
1690
1742
|
this.refreshNonce();
|
|
1691
|
-
const parentDataSource = this.dataSource();
|
|
1692
1743
|
const allStatuses = this.statuses();
|
|
1744
|
+
const parentDataSource = this.dataSource();
|
|
1693
1745
|
if (!parentDataSource || allStatuses.length === 0) {
|
|
1694
1746
|
this.groupedTasks.set([]);
|
|
1695
1747
|
this.allFetchedTasks.set([]);
|
|
1696
1748
|
return;
|
|
1697
1749
|
}
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
});
|
|
1720
|
-
}, 0);
|
|
1750
|
+
void parentDataSource().then((result) => {
|
|
1751
|
+
this.allFetchedTasks.set(result.items);
|
|
1752
|
+
const allTasks = result.items;
|
|
1753
|
+
const statusGroups = allStatuses.map((status) => {
|
|
1754
|
+
const tasksForStatus = allTasks.filter((task) => taskMatchesStatus(task, status));
|
|
1755
|
+
return {
|
|
1756
|
+
statusInfo: status,
|
|
1757
|
+
tasks: this.createTaskDataSourceForGroup(tasksForStatus),
|
|
1758
|
+
};
|
|
1759
|
+
});
|
|
1760
|
+
this.groupedTasks.set(statusGroups);
|
|
1761
|
+
untracked(() => {
|
|
1762
|
+
setTimeout(() => {
|
|
1763
|
+
this.groupedTasks()?.forEach((group) => {
|
|
1764
|
+
group.tasks.refresh();
|
|
1765
|
+
});
|
|
1766
|
+
this.grids().forEach((grid) => {
|
|
1767
|
+
grid.refresh({ reset: true });
|
|
1768
|
+
});
|
|
1769
|
+
}, 0);
|
|
1770
|
+
});
|
|
1721
1771
|
});
|
|
1722
1772
|
}, ...(ngDevMode ? [{ debugName: "#dataChanged" }] : /* istanbul ignore next */ []));
|
|
1723
1773
|
this.#providerChanged = effect(async () => {
|
|
@@ -1779,6 +1829,7 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1779
1829
|
startDate: this.calendarService.format(task.startDate, 'DD/MM/YYYY HH:mm', {
|
|
1780
1830
|
locale: this.localeService.activeProfile().calendar.system,
|
|
1781
1831
|
}),
|
|
1832
|
+
_originalTask: task,
|
|
1782
1833
|
}));
|
|
1783
1834
|
return {
|
|
1784
1835
|
items: items.slice(e.skip, e.skip + e.take),
|
|
@@ -1798,13 +1849,23 @@ class AXMTaskBoardStatusGroupedGridViewComponent {
|
|
|
1798
1849
|
return;
|
|
1799
1850
|
this.onActionClick.emit({ nativeEvent: e.nativeEvent, task });
|
|
1800
1851
|
}
|
|
1852
|
+
handleRowClick(event) {
|
|
1853
|
+
if (!event.data) {
|
|
1854
|
+
return;
|
|
1855
|
+
}
|
|
1856
|
+
const mappedItem = event.data;
|
|
1857
|
+
const originalTask = mappedItem._originalTask ?? this.allFetchedTasks().find((task) => task.id === mappedItem.id);
|
|
1858
|
+
if (originalTask) {
|
|
1859
|
+
this.onTaskClick.emit(originalTask);
|
|
1860
|
+
}
|
|
1861
|
+
}
|
|
1801
1862
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMTaskBoardStatusGroupedGridViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1802
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMTaskBoardStatusGroupedGridViewComponent, isStandalone: true, selector: "axm-task-board-status-grouped-grid-view", inputs: { provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, refreshNonce: { classPropertyName: "refreshNonce", publicName: "refreshNonce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionClick: "onActionClick" }, viewQueries: [{ propertyName: "grids", predicate: ["grid"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n
|
|
1863
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: AXMTaskBoardStatusGroupedGridViewComponent, isStandalone: true, selector: "axm-task-board-status-grouped-grid-view", inputs: { provider: { classPropertyName: "provider", publicName: "provider", isSignal: true, isRequired: false, transformFunction: null }, dataSource: { classPropertyName: "dataSource", publicName: "dataSource", isSignal: true, isRequired: true, transformFunction: null }, refreshNonce: { classPropertyName: "refreshNonce", publicName: "refreshNonce", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onActionClick: "onActionClick", onTaskClick: "onTaskClick" }, viewQueries: [{ propertyName: "grids", predicate: ["grid"], descendants: true, isSignal: true }], ngImport: i0, template: "@for (remountKey of groupedViewRemountKeys(); track remountKey) {\n @for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"text-xl font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"h-[300px]\"\n [fetchDataMode]=\"'manual'\"\n [dataSource]=\"group.tasks\"\n [loading]=\"{ enabled: true, animation: true }\"\n (onRowClick)=\"handleRowClick($event)\"\n >\n <ax-text-column\n dataField=\"title\"\n [caption]=\"('@task-management:task-board.grid-headers.title' | translate | async)!\"\n [width]=\"'350px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"description\"\n [caption]=\"('@task-management:task-board.grid-headers.description' | translate | async)!\"\n [width]=\"'500px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"startDate\"\n [caption]=\"('@task-management:task-board.grid-headers.start-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"endDate\"\n [caption]=\"('@task-management:task-board.grid-headers.due-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"priority\"\n [caption]=\"('@task-management:task-board.grid-headers.priority' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"reporter\"\n [caption]=\"('@task-management:task-board.grid-headers.reporter' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"assignee\"\n [caption]=\"('@task-management:task-board.grid-headers.assignee' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n\n <ax-command-column\n fixed=\"end\"\n [width]=\"'75px'\"\n (onItemClick)=\"onActionClickHandler($event)\"\n [items]=\"[\n {\n name: 'view',\n text: ('@task-management:task-board.grid-headers.action-view' | translate | async) ?? 'View',\n icon: 'ax-icon ax-icon-more-horizontal',\n },\n ]\"\n ></ax-command-column>\n </ax-data-table>\n }\n}\n", styles: ["ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\n"], dependencies: [{ kind: "ngmodule", type: AXDataTableModule }, { kind: "component", type: i1$2.AXDataTableComponent, selector: "ax-data-table", inputs: ["dataSource", "selectedRows", "parentField", "hasChildrenField", "rowDetailsTemplate", "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.AXDataTableTextColumnComponent, selector: "ax-text-column", inputs: ["width", "caption", "allowSorting", "allowResizing", "fixed", "hasTitle", "customExpandIcon", "customCollapseIcon", "dataField", "expandHandler", "wrapText", "cellTemplate", "footerTemplate", "headerTemplate", "format", "formatOptions"] }, { kind: "component", type: i1$2.AXRowCommandColumnComponent, selector: "ax-command-column", inputs: ["width", "caption", "fixed", "footerTemplate", "items"], outputs: ["onItemClick"] }, { kind: "ngmodule", type: AXPWidgetCoreModule }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1803
1864
|
}
|
|
1804
1865
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMTaskBoardStatusGroupedGridViewComponent, decorators: [{
|
|
1805
1866
|
type: Component,
|
|
1806
|
-
args: [{ selector: 'axm-task-board-status-grouped-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule, AXTranslatorPipe, AsyncPipe, AXPWidgetCoreModule], template: "@for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n
|
|
1807
|
-
}], ctorParameters: () => [], propDecorators: { provider: [{ type: i0.Input, args: [{ isSignal: true, alias: "provider", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], refreshNonce: [{ type: i0.Input, args: [{ isSignal: true, alias: "refreshNonce", required: false }] }], onActionClick: [{ type: i0.Output, args: ["onActionClick"] }], grids: [{ type: i0.ViewChildren, args: ['grid', { isSignal: true }] }] } });
|
|
1867
|
+
args: [{ selector: 'axm-task-board-status-grouped-grid-view', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [AXDataTableModule, AXTranslatorPipe, AsyncPipe, AXPWidgetCoreModule], template: "@for (remountKey of groupedViewRemountKeys(); track remountKey) {\n @for (group of groupedTasks(); track trackStatusGroup($index, group)) {\n <h1 class=\"text-xl font-bold\">{{ group.statusInfo.title }}</h1>\n <ax-data-table\n #grid\n class=\"h-[300px]\"\n [fetchDataMode]=\"'manual'\"\n [dataSource]=\"group.tasks\"\n [loading]=\"{ enabled: true, animation: true }\"\n (onRowClick)=\"handleRowClick($event)\"\n >\n <ax-text-column\n dataField=\"title\"\n [caption]=\"('@task-management:task-board.grid-headers.title' | translate | async)!\"\n [width]=\"'350px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"description\"\n [caption]=\"('@task-management:task-board.grid-headers.description' | translate | async)!\"\n [width]=\"'500px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"startDate\"\n [caption]=\"('@task-management:task-board.grid-headers.start-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"endDate\"\n [caption]=\"('@task-management:task-board.grid-headers.due-date' | translate | async)!\"\n [width]=\"'150px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"priority\"\n [caption]=\"('@task-management:task-board.grid-headers.priority' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"reporter\"\n [caption]=\"('@task-management:task-board.grid-headers.reporter' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n <ax-text-column\n dataField=\"assignee\"\n [caption]=\"('@task-management:task-board.grid-headers.assignee' | translate | async)!\"\n [width]=\"'125px'\"\n ></ax-text-column>\n\n <ax-command-column\n fixed=\"end\"\n [width]=\"'75px'\"\n (onItemClick)=\"onActionClickHandler($event)\"\n [items]=\"[\n {\n name: 'view',\n text: ('@task-management:task-board.grid-headers.action-view' | translate | async) ?? 'View',\n icon: 'ax-icon ax-icon-more-horizontal',\n },\n ]\"\n ></ax-command-column>\n </ax-data-table>\n }\n}\n", styles: ["ax-kanban{--ax-comp-kanban-status-min-width: 25rem;height:100%;line-height:1.5}\n"] }]
|
|
1868
|
+
}], ctorParameters: () => [], propDecorators: { provider: [{ type: i0.Input, args: [{ isSignal: true, alias: "provider", required: false }] }], dataSource: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataSource", required: true }] }], refreshNonce: [{ type: i0.Input, args: [{ isSignal: true, alias: "refreshNonce", required: false }] }], onActionClick: [{ type: i0.Output, args: ["onActionClick"] }], onTaskClick: [{ type: i0.Output, args: ["onTaskClick"] }], grids: [{ type: i0.ViewChildren, args: ['grid', { isSignal: true }] }] } });
|
|
1808
1869
|
|
|
1809
1870
|
class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
1810
1871
|
constructor() {
|
|
@@ -1831,8 +1892,8 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
1831
1892
|
this.calendarEventTypeAccordionCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "calendarEventTypeAccordionCollapsed" }] : /* istanbul ignore next */ []));
|
|
1832
1893
|
this.sidebarCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "sidebarCollapsed" }] : /* istanbul ignore next */ []));
|
|
1833
1894
|
this.currentTask = signal(null, ...(ngDevMode ? [{ debugName: "currentTask" }] : /* istanbul ignore next */ []));
|
|
1834
|
-
this.currentViewMode = signal('calendar', ...(ngDevMode ? [{ debugName: "currentViewMode" }] : /* istanbul ignore next */ []));
|
|
1835
1895
|
this.schedulerComponent = signal(null, ...(ngDevMode ? [{ debugName: "schedulerComponent" }] : /* istanbul ignore next */ []));
|
|
1896
|
+
this.kanbanLoadVersion = 0;
|
|
1836
1897
|
this.dayDataCache = signal(new Map(), ...(ngDevMode ? [{ debugName: "dayDataCache" }] : /* istanbul ignore next */ []));
|
|
1837
1898
|
/** View switcher entries filtered by user visibility settings parts. */
|
|
1838
1899
|
this.menuItems = computed(() => {
|
|
@@ -1963,16 +2024,61 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
1963
2024
|
});
|
|
1964
2025
|
};
|
|
1965
2026
|
this.resolvedTasks = signal([], ...(ngDevMode ? [{ debugName: "resolvedTasks" }] : /* istanbul ignore next */ []));
|
|
1966
|
-
|
|
1967
|
-
|
|
2027
|
+
/** Loads kanban tasks when filters or date range change; ignores stale async results. */
|
|
2028
|
+
this.kanbanDataEffect = effect(() => {
|
|
2029
|
+
if (this.vm.currentViewMode() !== 'kanban') {
|
|
2030
|
+
return;
|
|
2031
|
+
}
|
|
2032
|
+
this.vm.selectedTaskTypeNames();
|
|
2033
|
+
this.vm.selectedAssigneeIds();
|
|
2034
|
+
this.vm.selectedReporterIds();
|
|
2035
|
+
this.vm.selectedPriorities();
|
|
2036
|
+
this.vm.currentDate();
|
|
2037
|
+
this.vm.daysCount();
|
|
2038
|
+
this.refreshNonce();
|
|
1968
2039
|
const filter = this.filter();
|
|
1969
|
-
|
|
1970
|
-
|
|
2040
|
+
const version = ++this.kanbanLoadVersion;
|
|
2041
|
+
void this.taskBoardService.getTasks(filter).then((result) => {
|
|
2042
|
+
if (version !== this.kanbanLoadVersion) {
|
|
2043
|
+
return;
|
|
2044
|
+
}
|
|
2045
|
+
this.validateSelectedTask(result.items);
|
|
2046
|
+
this.resolvedTasks.set(result.items);
|
|
2047
|
+
});
|
|
2048
|
+
}, ...(ngDevMode ? [{ debugName: "kanbanDataEffect" }] : /* istanbul ignore next */ []));
|
|
2049
|
+
/** Keeps scheduler in sync when toolbar date/view changes outside the scheduler UI. */
|
|
2050
|
+
this.schedulerNavigationEffect = effect(() => {
|
|
2051
|
+
const viewMode = this.vm.currentViewMode();
|
|
2052
|
+
const calendarViews = [
|
|
2053
|
+
'day',
|
|
2054
|
+
'week',
|
|
2055
|
+
'month',
|
|
2056
|
+
'agenda',
|
|
2057
|
+
'timeline-day',
|
|
2058
|
+
'timeline-weekly',
|
|
2059
|
+
'timeline-month',
|
|
2060
|
+
'timeline-year',
|
|
2061
|
+
];
|
|
2062
|
+
if (!calendarViews.includes(viewMode)) {
|
|
2063
|
+
return;
|
|
1971
2064
|
}
|
|
1972
|
-
|
|
2065
|
+
this.vm.currentDate();
|
|
2066
|
+
this.vm.currentViewMode();
|
|
2067
|
+
this.vm.daysCount();
|
|
2068
|
+
this.refreshNonce();
|
|
2069
|
+
queueMicrotask(() => {
|
|
2070
|
+
this.schedulerComponent()?.refresh();
|
|
2071
|
+
});
|
|
2072
|
+
}, ...(ngDevMode ? [{ debugName: "schedulerNavigationEffect" }] : /* istanbul ignore next */ []));
|
|
1973
2073
|
this.refreshEffect = effect(() => {
|
|
1974
2074
|
this.vm.selectedTaskTypeNames();
|
|
1975
|
-
this.
|
|
2075
|
+
this.vm.selectedAssigneeIds();
|
|
2076
|
+
this.vm.selectedReporterIds();
|
|
2077
|
+
this.vm.selectedPriorities();
|
|
2078
|
+
this.vm.currentDate();
|
|
2079
|
+
this.vm.daysCount();
|
|
2080
|
+
this.refreshNonce();
|
|
2081
|
+
void this.getResources();
|
|
1976
2082
|
this.schedulerComponent()?.refresh();
|
|
1977
2083
|
}, ...(ngDevMode ? [{ debugName: "refreshEffect" }] : /* istanbul ignore next */ []));
|
|
1978
2084
|
this.calendarEventTypeRefreshEffect = effect(() => {
|
|
@@ -2304,6 +2410,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
2304
2410
|
this.popover()?.close();
|
|
2305
2411
|
this.calendar()?.render();
|
|
2306
2412
|
this.sidebarCalendar()?.render();
|
|
2413
|
+
this.schedulerComponent()?.refresh();
|
|
2307
2414
|
}
|
|
2308
2415
|
handleCalendarSlotClick(event) {
|
|
2309
2416
|
if (event.component.activeView !== event.component.depth)
|
|
@@ -2379,6 +2486,7 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
2379
2486
|
this.popover()?.close();
|
|
2380
2487
|
this.calendar()?.render();
|
|
2381
2488
|
this.sidebarCalendar()?.render();
|
|
2489
|
+
this.schedulerComponent()?.refresh();
|
|
2382
2490
|
}
|
|
2383
2491
|
handleTaskTypeSelectionChange(selectedValues) {
|
|
2384
2492
|
// Convert single value to array if needed (for radio mode)
|
|
@@ -2471,11 +2579,11 @@ class AXMTaskBoardPage extends AXPPageLayoutBaseComponent {
|
|
|
2471
2579
|
provide: AXPPageLayoutBase,
|
|
2472
2580
|
useExisting: AXMTaskBoardPage,
|
|
2473
2581
|
},
|
|
2474
|
-
], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, isSignal: true }, { propertyName: "sidebarCalendar", first: true, predicate: ["sidebarCalendar"], descendants: true, isSignal: true }, { propertyName: "contextMenu", first: true, predicate: ["rootContextMenu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [tasks]=\"resolvedTasks()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</span>\n @if (slot.slot.date && getDayDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n\n<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</span>\n @if (slot.slot.date && getMonthDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
|
|
2582
|
+
], viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true, isSignal: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, isSignal: true }, { propertyName: "sidebarCalendar", first: true, predicate: ["sidebarCalendar"], descendants: true, isSignal: true }, { propertyName: "contextMenu", first: true, predicate: ["rootContextMenu"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [(tasks)]=\"resolvedTasks\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</span>\n @if (slot.slot.date && getDayDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n\n<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</span>\n @if (slot.slot.date && getMonthDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: RouterModule }, { kind: "ngmodule", type:
|
|
2475
2583
|
//
|
|
2476
2584
|
AXMenuModule }, { kind: "component", type: i3$1.AXMenuItemComponent, selector: "ax-menu-item", inputs: ["name", "data", "disabled", "color"], outputs: ["onClick"] }, { kind: "component", type: i3$1.AXMenuComponent, selector: "ax-menu", inputs: ["orientation", "openOn", "closeOn", "items", "hasArrow"], outputs: ["onItemClick"] }, { kind: "component", type: i3$1.AXContextMenuComponent, selector: "ax-context-menu", inputs: ["orientation", "openOn", "closeOn", "items", "target"], outputs: ["onItemClick", "onOpening", "onClose"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i3.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: AXDropdownButtonModule }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "directive", type: i6.AXTranslatorDirective, selector: "[translate]" }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i5.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i5.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: "component", type: i7.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: AXBreadcrumbsModule }, { kind: "ngmodule", type: AXBadgeModule }, { kind: "component", type: i8.AXBadgeComponent, selector: "ax-badge", inputs: ["color", "look", "text"] }, { kind: "ngmodule", type: AXAccordionModule }, { kind: "ngmodule", type: AXAccordionCdkModule }, { kind: "directive", type: i9.AXAccordionGroupDirective, selector: "[axAccordionGroup]", inputs: ["accordion", "activeIndex", "collapsedOnItemClick"], exportAs: ["axAccordionGroup"] }, { kind: "directive", type: i9.AXAccordionItemContentDirective, selector: "[axAccordionItemContent]", inputs: ["transition"], exportAs: ["axAccordionItemContent"] }, { kind: "directive", type: i9.AXAccordionItemHeaderDirective, selector: "[axAccordionItemHeader]", exportAs: ["axAccordionItemHeader"] }, { kind: "directive", type: i9.AXAccordionItemDirective, selector: "[axAccordionItem]", inputs: ["isCollapsed"], outputs: ["isCollapsedChange", "onClick"], exportAs: ["axAccordionItem"] }, { kind: "component", type:
|
|
2477
2585
|
//
|
|
2478
|
-
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: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXMTaskBoardCalendarViewComponent, selector: "axm-task-board-calendar-view", inputs: ["resources", "refreshNonce", "startingDate", "selectedView", "dataSource"], outputs: ["onTaskClick", "onTaskChanged", "onMonthSlotDblClicked", "onActionClick", "component", "onTaskRightClick", "onRangeChanged"] }, { kind: "component", type: AXMTaskBoardKanbanViewComponent, selector: "axm-task-board-kanban-view", inputs: ["tasks"], outputs: ["tasksChange", "onTaskClick", "onTaskChanged", "component", "onActionClick"] }, { kind: "component", type: AXMTaskBoardGridViewComponent, selector: "axm-task-board-grid-view", inputs: ["dataSource", "refreshNonce"], outputs: ["onTaskClick", "onActionClick"] }, { kind: "component", type: AXMTaskBoardStatusGroupedGridViewComponent, selector: "axm-task-board-status-grouped-grid-view", inputs: ["provider", "dataSource", "refreshNonce"], outputs: ["onActionClick"] }, { kind: "component", type: AXMTaskBoardDetailPanel, selector: "axm-task-board-detail-panel" }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: AXMTaskBoardFiltersComponent, selector: "axm-task-board-filters", inputs: ["isQueryParam"], outputs: ["applyClicked"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i10.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2586
|
+
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: AXPPageLayoutComponent, selector: "axp-page-layout" }, { kind: "component", type: AXMTaskBoardCalendarViewComponent, selector: "axm-task-board-calendar-view", inputs: ["resources", "refreshNonce", "startingDate", "selectedView", "dataSource"], outputs: ["onTaskClick", "onTaskChanged", "onMonthSlotDblClicked", "onActionClick", "component", "onTaskRightClick", "onRangeChanged"] }, { kind: "component", type: AXMTaskBoardKanbanViewComponent, selector: "axm-task-board-kanban-view", inputs: ["tasks"], outputs: ["tasksChange", "onTaskClick", "onTaskChanged", "component", "onActionClick"] }, { kind: "component", type: AXMTaskBoardGridViewComponent, selector: "axm-task-board-grid-view", inputs: ["dataSource", "refreshNonce"], outputs: ["onTaskClick", "onActionClick"] }, { kind: "component", type: AXMTaskBoardStatusGroupedGridViewComponent, selector: "axm-task-board-status-grouped-grid-view", inputs: ["provider", "dataSource", "refreshNonce"], outputs: ["onActionClick", "onTaskClick"] }, { kind: "component", type: AXMTaskBoardDetailPanel, selector: "axm-task-board-detail-panel" }, { kind: "component", type: AXDropdownPanelComponent, selector: "ax-dropdown-panel", inputs: ["isOpen", "fitParent", "dropdownWidth", "position", "placement", "_target", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "ngmodule", type: AXPopoverModule }, { kind: "component", type: AXCalendarComponent, selector: "ax-calendar", inputs: ["rtl", "readonly", "value", "name", "disabled", "depth", "activeView", "minValue", "maxValue", "disabledDates", "holidayDates", "type", "dayCellTemplate", "monthCellTemplate", "yearCellTemplate", "cellClass", "showNavigation", "count", "id", "weekend", "weekdays"], outputs: ["onOptionChanged", "valueChange", "onValueChanged", "minValueChange", "maxValueChange", "onBlur", "onFocus", "depthChange", "typeChange", "activeViewChange", "disabledDatesChange", "holidayDatesChange", "onNavigate", "onSlotClick", "countChange"] }, { kind: "component", type: AXMTaskBoardFiltersComponent, selector: "axm-task-board-filters", inputs: ["isQueryParam"], outputs: ["applyClicked"] }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "ngmodule", type: AXFormModule }, { kind: "ngmodule", type: AXLabelModule }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i10.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "size", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXPThemeLayoutStartSideComponent, selector: "axp-layout-page-start-side, axp-layout-start-side" }, { kind: "component", type: AXPThemeLayoutHeaderComponent, selector: "axp-layout-header" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
2479
2587
|
}
|
|
2480
2588
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: AXMTaskBoardPage, decorators: [{
|
|
2481
2589
|
type: Component,
|
|
@@ -2517,8 +2625,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2517
2625
|
provide: AXPPageLayoutBase,
|
|
2518
2626
|
useExisting: AXMTaskBoardPage,
|
|
2519
2627
|
},
|
|
2520
|
-
], template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [tasks]=\"resolvedTasks()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</span>\n @if (slot.slot.date && getDayDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n\n<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</span>\n @if (slot.slot.date && getMonthDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"] }]
|
|
2628
|
+
], template: "<axp-page-layout *translate=\"let t\">\n <axp-layout-start-side\n class=\"border-e lightest-surface h-full min-w-0\"\n [style.width]=\"sidebarCollapsed() ? 'auto' : null\"\n >\n <axp-layout-header\n class=\"flex flex-row! items-center gap-2\"\n [class.justify-center]=\"sidebarCollapsed()\"\n [class.border-b]=\"!sidebarCollapsed()\"\n >\n @if (!sidebarCollapsed()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'sidebar' }\"></ng-container>\n }\n <ax-button look=\"blank\" color=\"neutral\" (onClick)=\"toggleSidebar()\" [iconOnly]=\"true\">\n <ax-icon [icon]=\"sidebarCollapsed() ? 'fa-light fa-chevrons-right' : 'fa-light fa-chevrons-left'\"></ax-icon>\n </ax-button>\n </axp-layout-header>\n\n @if (!sidebarCollapsed()) {\n <axp-layout-content class=\"flex flex-col min-h-0 overflow-y-auto\">\n <div class=\"p-4 flex flex-col gap-6\">\n <div class=\"flex flex-col gap-3\">\n <ax-calendar\n #sidebarCalendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"currentDateForCalendar()\"\n [dayCellTemplate]=\"dayCellTemplate\"\n [monthCellTemplate]=\"monthCellTemplate\"\n class=\"ax-single-range-calendar border rounded-lg\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n </ax-calendar>\n </div>\n\n <div axAccordionGroup [accordion]=\"false\">\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarFilterTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.title-plural' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarFilterTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n <div axAccordionItemContent>\n <axm-task-board-filters #filtersComponent [isQueryParam]=\"isQueryParam()\"></axm-task-board-filters>\n </div>\n </div>\n @if (!isNonCalendarView()) {\n <div class=\"mb-2 w-full border p-2 rounded-lg\" axAccordionItem #calendarEventTypeAccordion=\"axAccordionItem\">\n <div class=\"flex items-center justify-between gap-2 select-none cursor-pointer\" axAccordionItemHeader>\n <h3 class=\"text-sm font-semibold\">\n {{ ('@task-management:task-board.filter.calendars' | translate | async)! }}\n </h3>\n <ax-icon\n [icon]=\"calendarEventTypeAccordion?.isCollapsed() ? 'fa-light fa-chevron-down' : 'fa-light fa-chevron-up'\"\n class=\"transition-transform\"\n ></ax-icon>\n </div>\n @if (calendarEventTypeItems().length > 0) {\n <div axAccordionItemContent>\n <div class=\"pt-2\">\n <ax-selection-list\n [items]=\"calendarEventTypeItems()\"\n [ngModel]=\"selectedCalendarEventTypeValues()\"\n (onValueChanged)=\"handleCalendarEventTypeSelectionChange($event.value)\"\n direction=\"vertical\"\n [multiple]=\"true\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n >\n <ng-template #itemTemplate let-item>\n <div class=\"flex items-center\">\n @if (item.icon) {\n <i [class]=\"item.icon\"></i>\n }\n <span [class]=\"item.icon ? 'ml-2' : ''\">{{ item.text }}</span>\n </div>\n </ng-template>\n </ax-selection-list>\n </div>\n </div>\n }\n </div>\n }\n </div>\n </div>\n </axp-layout-content>\n }\n </axp-layout-start-side>\n <axp-page-toolbar>\n <axp-layout-prefix class=\"sm:flex-row flex-col items-start\">\n <div class=\"ax-scheduler-header w-max ax-sm sm:ax-md\">\n <ax-button look=\"blank\" (onClick)=\"changeDate(false)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-left arrow-icon\"></ax-icon>\n </ax-button>\n <ax-button look=\"blank\" [text]=\"timeText()\" #date></ax-button>\n <ax-button look=\"blank\" (onClick)=\"changeDate(true)\">\n <ax-icon class=\"ax-icon text-xl ax-icon-chevron-right arrow-icon\"></ax-icon>\n </ax-button>\n <!-- <ax-popover [target]=\"date\" [placement]=\"'bottom'\" #popover [adaptivityEnabled]=\"true\">\n <div class=\"overlay-pane\">\n <ax-calendar\n #calendar\n [type]=\"calendarType()\"\n [depth]=\"calendarDepth()\"\n [cellClass]=\"getCellClass\"\n [ngModel]=\"vm.currentDate()\"\n class=\"single-range-calendar\"\n (onSlotClick)=\"handleCalendarSlotClick($event)\"\n >\n <ax-footer>\n <ax-button\n look=\"link\"\n color=\"primary\"\n [text]=\"todayButtonText()\"\n (onClick)=\"handleTodayClick()\"\n ></ax-button>\n </ax-footer>\n </ax-calendar>\n </div>\n </ax-popover> -->\n </div>\n </axp-layout-prefix>\n\n <axp-layout-suffix>\n @if (deviceService.isSmall()) {\n <ax-button id=\"axp-toolbar-btn-filters\" (onClick)=\"toggleStartSide()\" [iconOnly]=\"true\" [color]=\"'default'\">\n <i class=\"fa-light fa-bars\"></i>\n </ax-button>\n }\n <!-- @if (!deviceService.isSmall()) {\n <ng-container *ngTemplateOutlet=\"viewSelectorTemplate; context: { location: 'toolbar' }\"></ng-container>\n } -->\n\n <!-- @if(deviceService.isLarge()) {\n <ax-button (onClick)=\"vm.toggleDetailPanel()\">\n <ax-icon icon=\"{{ vm.isDetailPanelOpen() ? 'fa-solid fa-square-info' : 'fa-light fa-square-info' }}\"></ax-icon>\n </ax-button>\n } -->\n </axp-layout-suffix>\n </axp-page-toolbar>\n <axp-page-content class=\"flex flex-row gap-2\">\n @if (isReady()) { @switch(vm.currentViewMode()) { @case('kanban') {\n <axm-task-board-kanban-view\n class=\"axp-kanban-container h-full w-full min-w-0\"\n [(tasks)]=\"resolvedTasks\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-kanban-view>\n } @case('grid') {\n <axm-task-board-grid-view\n class=\"h-full w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-grid-view>\n } @case('status-grouped-grid') {\n <axm-task-board-status-grouped-grid-view\n class=\"flex flex-col gap-2 w-full min-w-0\"\n [dataSource]=\"gridDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n (onActionClick)=\"handleContextMenu($event)\"\n ></axm-task-board-status-grouped-grid-view>\n } @default {\n <axm-task-board-calendar-view\n class=\"axp-scheduler-container h-full w-full min-w-0\"\n [resources]=\"resources()\"\n [startingDate]=\"vm.currentDate()\"\n [dataSource]=\"schedulerDataSource\"\n [refreshNonce]=\"refreshNonce()\"\n (onTaskClick)=\"vm.selectTask($event)\"\n [selectedView]=\"vm.currentViewMode()\"\n (onActionClick)=\"handleContextMenu($event)\"\n (onTaskRightClick)=\"handleContextMenu($event)\"\n (component)=\"schedulerComponentChanged($event)\"\n (onMonthSlotDblClicked)=\"handleMonthSlotDblClicked($event)\"\n ></axm-task-board-calendar-view>\n } }\n <ax-context-menu\n #rootContextMenu\n [closeOn]=\"'leave'\"\n [orientation]=\"'vertical'\"\n (onOpening)=\"handleContextMenuOnOpening($event)\"\n (onItemClick)=\"handleContextMenuItemClick($event)\"\n >\n </ax-context-menu>\n @if (vm.isDetailPanelOpen() && deviceService.isLarge()) {\n <axm-task-board-detail-panel></axm-task-board-detail-panel>\n } } @else {\n <div class=\"flex items-center justify-center w-full h-full\">\n <ax-loading></ax-loading>\n </div>\n }\n </axp-page-content>\n</axp-page-layout>\n\n<ng-template #viewSelectorTemplate let-location=\"location\">\n @if (location === 'sidebar') {\n <ax-button class=\"grow\" [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #sidebarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, sidebarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n } @else {\n <ax-button [text]=\"('@task-management:task-board.view.' + selectedViewMode().text | translate | async)!\">\n <ax-prefix><ax-icon [icon]=\"selectedViewMode().icon\"></ax-icon></ax-prefix>\n <ax-dropdown-panel #toolbarDropdownPanel>\n <ax-menu [orientation]=\"'vertical'\" class=\"ax-menu-container\">\n @for (category of menuItems(); track category.key) {\n <ng-container>\n @if (category.children && category.children.length > 0) {\n <ax-menu-item>\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n @for (child of category.children; track child.key) {\n <ax-menu-item (onClick)=\"handleViewChange(child.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"child.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.view.' + child.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ax-menu-item>\n } @else {\n <ax-menu-item (onClick)=\"handleViewChange(category.key, toolbarDropdownPanel)\">\n <ax-prefix>\n <ax-icon [icon]=\"category.icon\"></ax-icon>\n </ax-prefix>\n <ax-text>{{ ('@task-management:task-board.' + category.text | translate | async)! }}</ax-text>\n </ax-menu-item>\n }\n </ng-container>\n }\n </ax-menu>\n </ax-dropdown-panel>\n <ax-suffix>\n <ax-icon icon=\"fa-light fa-caret-down\"></ax-icon>\n </ax-suffix>\n </ax-button>\n }\n</ng-template>\n\n<ng-template #dayCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? slot.slot.date?.day ?? '' }}</span>\n @if (slot.slot.date && getDayDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n\n<ng-template #monthCellTemplate let-slot>\n <div class=\"flex flex-col items-center justify-between w-full gap-1\" [style.padding-bottom]=\"'0.25rem'\">\n <span class=\"flex-1 text-center\">{{ slot.slot.text ?? '' }}</span>\n @if (slot.slot.date && getMonthDataCount(slot.slot.date) > 0) {\n <ax-badge color=\"warning\"></ax-badge>\n }\n </div>\n</ng-template>\n", styles: ["html[dir=rtl] axp-page-layout axp-page-toolbar axp-layout-prefix .ax-scheduler-header .arrow-icon:before{-moz-transform:scale(-1,1);-webkit-transform:scale(-1,1);-o-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scaleX(-1)}.ax-single-range-calendar .range-start,.ax-single-range-calendar .range-end{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.85)!important}.ax-single-range-calendar .range-start:hover,.ax-single-range-calendar .range-end:hover{background-color:rgba(var(--ax-sys-color-primary-surface))!important}.ax-single-range-calendar .range-start.state-holiday,.ax-single-range-calendar .range-end.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.85)!important}.ax-single-range-calendar .range-between{color:rgba(var(--ax-sys-color-on-primary-surface))!important;background-color:rgba(var(--ax-sys-color-primary-surface),.65)}.ax-single-range-calendar .range-between.state-holiday{background-color:rgba(var(--ax-sys-color-danger-surface),.65)}.ax-single-range-calendar ax-footer{display:flex;justify-content:center;border-color:rgba(var(--ax-comp-calendar-view-header-border-color));border-top-width:var(--ax-comp-calendar-view-header-border-width, 1px)}axp-page-content:not(:has(axm-task-board-status-grouped-grid-view,axm-task-board-time-grouped-grid-view)){overflow-y:hidden}\n"] }]
|
|
2521
2629
|
}], propDecorators: { popover: [{ type: i0.ViewChild, args: ['popover', { isSignal: true }] }], calendar: [{ type: i0.ViewChild, args: ['calendar', { isSignal: true }] }], sidebarCalendar: [{ type: i0.ViewChild, args: ['sidebarCalendar', { isSignal: true }] }], contextMenu: [{ type: i0.ViewChild, args: ['rootContextMenu', { isSignal: true }] }] } });
|
|
2522
2630
|
|
|
2523
2631
|
export { AXMTaskBoardPage };
|
|
2524
|
-
//# sourceMappingURL=acorex-modules-task-management-task-board.page-
|
|
2632
|
+
//# sourceMappingURL=acorex-modules-task-management-task-board.page-BG6IgTKW.mjs.map
|