@acorex-platform/module-maintenance-management-client 0.0.56 → 0.0.58
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-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-Dqy4wGda.mjs → acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-6cXxZPN1.mjs} +434 -33
- package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-6cXxZPN1.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-plan.mjs +234 -22
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-plan.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template.mjs +2 -23
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-template.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-type.mjs +0 -23
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-type.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-DDAXs7ph.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-CDwXJTyO.mjs} +27 -27
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-DDAXs7ph.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-CDwXJTyO.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-6XjyRZy6.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-BgNCJg1o.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-6XjyRZy6.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-BgNCJg1o.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-Dcfl5o8o.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-LY3WhspA.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-Dcfl5o8o.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-LY3WhspA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-ChuV_aCW.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-DyXcIKqY.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-ChuV_aCW.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-DyXcIKqY.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-di-vjWEN.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-B93wAqPv.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-di-vjWEN.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-B93wAqPv.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-896J0GU8.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-Clc6RXxF.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-896J0GU8.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-Clc6RXxF.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-CRuuswbK.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-qSSTwoD0.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-CRuuswbK.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-qSSTwoD0.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-C9W_N1rE.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-DsMYTxrE.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-C9W_N1rE.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-DsMYTxrE.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-DtrolwgP.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-DlqzE2Za.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-DtrolwgP.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-DlqzE2Za.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-C38Hhz8z.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-0xGHmQqy.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-C38Hhz8z.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-0xGHmQqy.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-3yhzcAdh.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-B5bLQ4g6.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-3yhzcAdh.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-B5bLQ4g6.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-Ct2IVb_W.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-BCCVzThS.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-Ct2IVb_W.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-BCCVzThS.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-D2WrHgUr.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-CZKNsPR2.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-D2WrHgUr.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-CZKNsPR2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-DNz6g-mO.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-CWhXlK6i.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-DNz6g-mO.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-CWhXlK6i.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-B7O5O2cJ.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-DzSmFBD_.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-B7O5O2cJ.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-DzSmFBD_.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-BYhHb6gp.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-5mfrErkC.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-BYhHb6gp.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-5mfrErkC.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-BKcqicYB.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-DKL3K1P_.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-BKcqicYB.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-DKL3K1P_.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-BlN2xNHw.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-BwPWU2hj.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-BlN2xNHw.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-BwPWU2hj.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-Da5_SUPA.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-DZp6tUTX.mjs} +236 -24
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-DZp6tUTX.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-DuK6vGUc.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-CEgtM97Q.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-DuK6vGUc.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-CEgtM97Q.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-AVtJcY11.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-DRt6Cfbc.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-AVtJcY11.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-DRt6Cfbc.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-Dv0ht2vz.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-zQAeVklB.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-Dv0ht2vz.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-zQAeVklB.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-xx7GbT-x.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-DgtyyggM.mjs} +4 -25
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-DgtyyggM.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-BtBo0c-c.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-D3ipDMzR.mjs} +2 -25
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-D3ipDMzR.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-DTYYDI-y.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-hgfgOV6Q.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-DTYYDI-y.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-hgfgOV6Q.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-BlBbbfU_.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-ubzIZ90s.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-BlBbbfU_.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-ubzIZ90s.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-rg2NHWs8.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-Blu2UR8v.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-rg2NHWs8.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-Blu2UR8v.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog.mjs +1 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs +306 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BX8JwWt8.mjs → acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-DDvUWUU5.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BX8JwWt8.mjs.map → acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-DDvUWUU5.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-CUcsLsuh.mjs +54 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-CUcsLsuh.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-maintenance-interval-widget-view.component-CM0Wokah.mjs +121 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-maintenance-interval-widget-view.component-CM0Wokah.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-maintenance-interval-widget.kinds-D8Hnq0ct.mjs +22 -0
- package/fesm2022/acorex-platform-module-maintenance-management-client-maintenance-interval-widget.kinds-D8Hnq0ct.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-mWMeP02k.mjs → acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BiD6NYBT.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-mWMeP02k.mjs.map → acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BiD6NYBT.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CWhKwFy9.mjs → acorex-platform-module-maintenance-management-client-start-work-order-flow.command-B5Ko0JyG.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CWhKwFy9.mjs.map → acorex-platform-module-maintenance-management-client-start-work-order-flow.command-B5Ko0JyG.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-DiKnz1IH.mjs → acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-D75YRfD2.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-DiKnz1IH.mjs.map → acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-D75YRfD2.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BbyqDKGm.mjs → acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-B90OJ-Ol.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BbyqDKGm.mjs.map → acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-B90OJ-Ol.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client.mjs +1 -1
- package/i18n/en-AU/maintenance-management.json +38 -6
- package/i18n/en-US/maintenance-management.json +38 -6
- package/i18n/fa-IR/maintenance-management.json +38 -6
- package/package.json +1 -1
- package/types/acorex-platform-module-maintenance-management-client-contracts.d.ts +182 -84
- package/types/acorex-platform-module-maintenance-management-client.d.ts +59 -7
- package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-Dqy4wGda.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-Da5_SUPA.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-xx7GbT-x.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-BtBo0c-c.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-maintenance-management-client-contracts.mjs","sources":["../../../../libs/modules/maintenance-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/commands.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/features.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/menu.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/permission.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.status.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.source-type.ts","../../../../libs/modules/maintenance-management/contracts/src/failure-register.status.ts","../../../../libs/modules/maintenance-management/contracts/src/root-config.ts","../../../../libs/modules/maintenance-management/contracts/src/manifest.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type/activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-asset-type/activity-type-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-resource/activity-type-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-cause/failure-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-detection/failure-detection.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-effect/failure-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mechanism/failure-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode/failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-asset-type/failure-mode-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-mechanism/failure-mode-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-solution/failure-mode-solution.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register/failure-register.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-cause/failure-register-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-effect/failure-register-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-mechanism/failure-register-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-severity/failure-severity.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-type/failure-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-plan/maintenance-plan.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template/maintenance-template.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-activity-type/maintenance-template-activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-failure-mode/maintenance-template-failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-resource/maintenance-template-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-type/maintenance-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/work-report/work-report.types.ts","../../../../libs/modules/maintenance-management/contracts/src/index.ts","../../../../libs/modules/maintenance-management/contracts/src/acorex-platform-module-maintenance-management-client-contracts.ts"],"sourcesContent":["/** Maintenance catalog scope for questionnaires, question bank items, and workflow definitions. */\nexport const MM_CATALOG_SCOPE_MN = 'maintenance-management.mn';\n","//#region ---- Command keys ----\n\nexport const AXMMaintenanceManagementCommandKeys = {\n WorkOrder: {\n StartFlow: 'MaintenanceManagement.WorkOrder:StartFlow',\n },\n WorkReport: {\n FillCompletion: 'MaintenanceManagement.WorkReport:FillCompletion',\n OpenFromWorkOrder: 'MaintenanceManagement.WorkReport:OpenFromWorkOrder',\n },\n WorkflowActivity: {\n ResolveWorkOrder: 'workflow-activity:resolve-work-order',\n ResolvePersonUserId: 'workflow-activity:resolve-person-user-id',\n CreateOrGetWorkReportDraft: 'workflow-activity:create-or-get-work-report-draft',\n UpdateWorkOrderInProgress: 'workflow-activity:update-work-order-in-progress',\n ValidateWorkOrderCompletion: 'workflow-activity:validate-work-order-completion',\n UpdateWorkReportOnCompletion: 'workflow-activity:update-work-report-on-completion',\n RecordWorkReportAssessment: 'workflow-activity:record-work-report-assessment',\n UpdateWorkOrderCompleted: 'workflow-activity:update-work-order-completed',\n },\n} as const;\n\n//#endregion\n","export const AXMMaintenanceManagementFeatureKeys = {\n Management: 'MaintenanceManagement:Feature:Management',\n} as const;\n","export const AXMMaintenanceManagementMenuKeys = {\n Root: 'MaintenanceManagement:Menu',\n // MainPlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:MainPlanEquipment:MaintenanceSectionGroup',\n // PlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:PlantEquipment:MaintenanceSectionGroup',\n Activities: 'MaintenanceManagement:Menu:Activities',\n Failures: 'MaintenanceManagement:Menu:Failures',\n ActivityCategories: 'MaintenanceManagement:Menu:ActivityCategories',\n ActivityTypes: 'MaintenanceManagement:Menu:ActivityTypes',\n MaintenanceTypes: 'MaintenanceManagement:Menu:MaintenanceTypes',\n MaintenancePlans: 'MaintenanceManagement:Menu:MaintenancePlans',\n MaintenancePlansList: 'MaintenanceManagement:Menu:MaintenancePlans:List',\n WorkPackages: 'MaintenanceManagement:Menu:WorkPackages',\n WorkOrders: 'MaintenanceManagement:Menu:WorkOrders',\n WorkReports: 'MaintenanceManagement:Menu:WorkReports',\n MaintenanceTemplates: 'MaintenanceManagement:Menu:MaintenanceTemplates',\n MaintenanceTemplateActivityTypes: 'MaintenanceManagement:Menu:MaintenanceTemplateActivityTypes',\n MaintenanceTemplateResources: 'MaintenanceManagement:Menu:MaintenanceTemplateResources',\n MaintenanceTemplateFailureModes: 'MaintenanceManagement:Menu:MaintenanceTemplateFailureModes',\n FailureCauses: 'MaintenanceManagement:Menu:FailureCauses',\n FailureMechanisms: 'MaintenanceManagement:Menu:FailureMechanisms',\n FailureDetections: 'MaintenanceManagement:Menu:FailureDetections',\n FailureEffects: 'MaintenanceManagement:Menu:FailureEffects',\n FailureSeverities: 'MaintenanceManagement:Menu:FailureSeverities',\n FailureTypes: 'MaintenanceManagement:Menu:FailureTypes',\n FailureModes: 'MaintenanceManagement:Menu:FailureModes',\n FailureRegisters: 'MaintenanceManagement:Menu:FailureRegisters',\n} as const;\n","/**\n * Assets & Maintenance capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPAssetsMaintenancePermissionKeys = {\n Access: 'AssetsMaintenance:Permission:Access',\n MaintainAssets: 'AssetsMaintenance:Permission:MaintainAssets',\n MaintainMaintenance: 'AssetsMaintenance:Permission:MaintainMaintenance',\n Setup: 'AssetsMaintenance:Permission:Setup',\n} as const;\n\nconst cap = AXPAssetsMaintenancePermissionKeys.MaintainMaintenance;\n\nfunction entityCrud() {\n return {\n Management: cap,\n View: cap,\n Create: cap,\n Update: cap,\n Delete: cap,\n } as const;\n}\n\n/**\n * @deprecated Prefer {@link AXPAssetsMaintenancePermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMMaintenanceManagementPermissionKeys = {\n MaintenanceManagement: {\n Management: cap,\n ActivityCategory: entityCrud(),\n MaintenanceType: entityCrud(),\n MaintenanceTemplate: entityCrud(),\n MaintenancePlan: entityCrud(),\n WorkPackage: entityCrud(),\n WorkOrder: entityCrud(),\n WorkReport: entityCrud(),\n MaintenanceTemplateActivityType: entityCrud(),\n MaintenanceTemplateResource: entityCrud(),\n MaintenanceTemplateFailureMode: entityCrud(),\n ActivityType: entityCrud(),\n ActivityTypeAssetType: entityCrud(),\n ActivityTypeResource: entityCrud(),\n FailureCause: entityCrud(),\n FailureMechanism: entityCrud(),\n FailureDetection: entityCrud(),\n FailureEffect: entityCrud(),\n FailureSeverity: entityCrud(),\n FailureType: entityCrud(),\n FailureMode: entityCrud(),\n FailureRegister: entityCrud(),\n },\n} as const;\n","//#region ---- Status names ----\n\nexport enum AXMWorkOrderStatus {\n Planned = 'planned',\n Scheduled = 'scheduled',\n Assigned = 'assigned',\n InProgress = 'in-progress',\n OnHold = 'on-hold',\n Completed = 'completed',\n SignedOff = 'signed-off',\n Cancelled = 'cancelled',\n}\n\n//#endregion\n","//#region ---- Source type enum ----\n\nexport enum AXMWorkOrderSourceType {\n Manual = 'manual',\n MaintenancePlan = 'maintenance-plan',\n CreateAsset = 'create-asset',\n FailureRegister = 'failure-register',\n}\n\n//#endregion\n","//#region ---- Status names ----\n\nexport enum AXMFailureRegisterStatus {\n Reported = 'reported',\n UnderReview = 'underReview',\n WorkOrderRequired = 'workOrderRequired',\n WorkOrderCreated = 'workOrderCreated',\n InProgress = 'inProgress',\n Resolved = 'resolved',\n FollowUpRequired = 'followUpRequired',\n Rejected = 'rejected',\n Duplicate = 'duplicate',\n Closed = 'closed',\n}\n\n//#endregion\n","//#region ---- Root Configuration ----\n\nconst config = {\n i18n: 'maintenance-management',\n module: 'MaintenanceManagement',\n route: 'maintenance-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: config.route,\n name: config.module,\n title: '@maintenance-management:module.title',\n icon: 'fa-light fa-box',\n },\n entities: {\n maintenanceType: {\n name: 'MaintenanceType',\n source: `${config.module}.MaintenanceType`,\n title: '@maintenance-management:maintenance-types.entities.maintenance-type.title',\n titlePlural: '@maintenance-management:maintenance-types.entities.maintenance-type.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n maintenanceTemplate: {\n name: 'MaintenanceTemplate',\n source: `${config.module}.MaintenanceTemplate`,\n title: '@maintenance-management:maintenance-templates.entities.maintenance-template.title',\n titlePlural: '@maintenance-management:maintenance-templates.entities.maintenance-template.plural',\n icon: 'fa-light fa-clipboard-list',\n },\n maintenancePlan: {\n name: 'MaintenancePlan',\n source: `${config.module}.MaintenancePlan`,\n title: '@maintenance-management:maintenance-plans.entities.maintenance-plan.title',\n titlePlural: '@maintenance-management:maintenance-plans.entities.maintenance-plan.plural',\n icon: 'fa-light fa-calendar-check',\n },\n workPackage: {\n name: 'WorkPackage',\n source: `${config.module}.WorkPackage`,\n title: '@maintenance-management:work-packages.entities.work-package.title',\n titlePlural: '@maintenance-management:work-packages.entities.work-package.plural',\n icon: 'fa-light fa-boxes-packing',\n },\n workOrder: {\n name: 'WorkOrder',\n source: `${config.module}.WorkOrder`,\n title: '@maintenance-management:work-orders.entities.work-order.title',\n titlePlural: '@maintenance-management:work-orders.entities.work-order.plural',\n icon: 'fa-light fa-clipboard-check',\n },\n workReport: {\n name: 'WorkReport',\n source: `${config.module}.WorkReport`,\n title: '@maintenance-management:work-reports.entities.work-report.title',\n titlePlural: '@maintenance-management:work-reports.entities.work-report.plural',\n icon: 'fa-light fa-file-lines',\n },\n maintenanceTemplateActivityType: {\n name: 'MaintenanceTemplateActivityType',\n source: `${config.module}.MaintenanceTemplateActivityType`,\n title:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.title',\n titlePlural:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n maintenanceTemplateResource: {\n name: 'MaintenanceTemplateResource',\n source: `${config.module}.MaintenanceTemplateResource`,\n title: '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.title',\n titlePlural:\n '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.plural',\n icon: 'fa-light fa-box-open-full',\n },\n maintenanceTemplateFailureMode: {\n name: 'MaintenanceTemplateFailureMode',\n source: `${config.module}.MaintenanceTemplateFailureMode`,\n title:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.title',\n titlePlural:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n activityType: {\n name: 'ActivityType',\n source: `${config.module}.ActivityType`,\n title: '@maintenance-management:activity-types.entities.activity-type.title',\n titlePlural: '@maintenance-management:activity-types.entities.activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n activityTypeAssetType: {\n name: 'ActivityTypeAssetType',\n source: `${config.module}.ActivityTypeAssetType`,\n title: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.title',\n titlePlural: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n activityTypeResource: {\n name: 'ActivityTypeResource',\n source: `${config.module}.ActivityTypeResource`,\n title: '@maintenance-management:activity-type-resources.entities.activity-type-resource.title',\n titlePlural: '@maintenance-management:activity-type-resources.entities.activity-type-resource.plural',\n icon: 'fa-light fa-cubes',\n },\n failureCause: {\n name: 'FailureCause',\n source: `${config.module}.FailureCause`,\n title: '@maintenance-management:failure-causes.entities.failure-cause.title',\n titlePlural: '@maintenance-management:failure-causes.entities.failure-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureMechanism: {\n name: 'FailureMechanism',\n source: `${config.module}.FailureMechanism`,\n title: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.title',\n titlePlural: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureDetection: {\n name: 'FailureDetection',\n source: `${config.module}.FailureDetection`,\n title: '@maintenance-management:failure-detections.entities.failure-detection.title',\n titlePlural: '@maintenance-management:failure-detections.entities.failure-detection.plural',\n icon: 'fa-light fa-radar',\n },\n failureType: {\n name: 'FailureType',\n source: `${config.module}.FailureType`,\n title: '@maintenance-management:failure-types.entities.failure-type.title',\n titlePlural: '@maintenance-management:failure-types.entities.failure-type.plural',\n icon: 'fa-light fa-shapes',\n },\n failureMode: {\n name: 'FailureMode',\n source: `${config.module}.FailureMode`,\n title: '@maintenance-management:failure-modes.entities.failure-mode.title',\n titlePlural: '@maintenance-management:failure-modes.entities.failure-mode.plural',\n icon: 'fa-light fa-diagram-project',\n },\n failureModeAssetType: {\n name: 'FailureModeAssetType',\n source: `${config.module}.FailureModeAssetType`,\n title: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.title',\n titlePlural: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n failureModeMechanism: {\n name: 'FailureModeMechanism',\n source: `${config.module}.FailureModeMechanism`,\n title: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.title',\n titlePlural: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureModeSolution: {\n name: 'FailureModeSolution',\n source: `${config.module}.FailureModeSolution`,\n title: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.title',\n titlePlural: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n failureEffect: {\n name: 'FailureEffect',\n source: `${config.module}.FailureEffect`,\n title: '@maintenance-management:failure-effects.entities.failure-effect.title',\n titlePlural: '@maintenance-management:failure-effects.entities.failure-effect.plural',\n icon: 'fa-light fa-waveform-lines',\n },\n failureSeverity: {\n name: 'FailureSeverity',\n source: `${config.module}.FailureSeverity`,\n title: '@maintenance-management:failure-severities.entities.failure-severity.title',\n titlePlural: '@maintenance-management:failure-severities.entities.failure-severity.plural',\n icon: 'fa-light fa-gauge-high',\n },\n failureRegister: {\n name: 'FailureRegister',\n source: `${config.module}.FailureRegister`,\n title: '@maintenance-management:failure-registers.entities.failure-register.title',\n titlePlural: '@maintenance-management:failure-registers.entities.failure-register.plural',\n icon: 'fa-light fa-file-waveform',\n },\n failureRegisterEffect: {\n name: 'FailureRegisterEffect',\n source: `${config.module}.FailureRegisterEffect`,\n title: '@maintenance-management:failure-register-effects.entities.failure-register-effect.title',\n titlePlural: '@maintenance-management:failure-register-effects.entities.failure-register-effect.plural',\n icon: 'fa-light fa-wave-pulse',\n },\n failureRegisterCause: {\n name: 'FailureRegisterCause',\n source: `${config.module}.FailureRegisterCause`,\n title: '@maintenance-management:failure-register-causes.entities.failure-register-cause.title',\n titlePlural: '@maintenance-management:failure-register-causes.entities.failure-register-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureRegisterMechanism: {\n name: 'FailureRegisterMechanism',\n source: `${config.module}.FailureRegisterMechanism`,\n title: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.title',\n titlePlural: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Maintenance Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const MaintenanceManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'asset-maintenance',\n required: false,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Scheduler-picker value persisted on activity types. */\nexport interface AXMMaintenanceManagementActivityTypeSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementActivityTypeEntityModel {\n id: string;\n code: string;\n activityCategoryId: string;\n activityCategory?: { id: string; title: AXPMultiLanguageString };\n scheduleId?: AXMMaintenanceManagementActivityTypeSchedule;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n shutDownFlag?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementActivityTypeAssetTypeEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n workTeamId: string;\n workTeam?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementActivityTypeResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementActivityTypeResourceEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n resourceType: AXMMaintenanceManagementActivityTypeResourceType;\n resourceId: string;\n resourceSelectionIds?: string[];\n /** Denormalized labels for list/grid when stored values are raw ids (see mock seeding). */\n resourceSummary?: string;\n count?: number;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureCauseEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n failureTypeId?: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n priorityId?: 'critical' | 'high' | 'medium' | 'low';\n shutDownFlag?: boolean;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureDetectionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureEffectEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureMechanismEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n shutDownFlag?: boolean;\n priorityId?: string;\n failureTypeId: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeAssetTypeEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n priorityId?: string;\n shutDownFlag?: boolean;\n creditRequired?: boolean;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeSolutionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description: AXPMultiLanguageString;\n successRate: number;\n riskLevel: 'low' | 'medium' | 'high' | 'critical';\n estimatedCost: number;\n solutionType: 'temporary' | 'permanent' | 'workaround' | 'preventive';\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport { AXMFailureRegisterStatus } from '../../failure-register.status';\n\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEntityModel {\n id: string;\n /** Business code from identifier rule `failure-register-code` (`FR-{date:YYYY}-{seq:4}`). */\n code: string;\n statusId: AXMFailureRegisterStatus;\n date: string;\n assetSystemId?: string;\n assetSystem?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureDetectionId: string;\n failureDetection?: { id: string; title: AXPMultiLanguageString };\n priorityId: string;\n failureSeverityId: string;\n failureSeverity?: { id: string; title: AXPMultiLanguageString };\n failureEffectIds?: string[];\n failureCauseIds?: string[];\n failureMechanismIds?: string[];\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterCauseEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureCauseId: string;\n failureCause?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEffectEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureEffectId: string;\n failureEffect?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterMechanismEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureSeverityEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureTypeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenancePlanSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n occurrences?: number;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementMaintenancePlanEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-plan-code` (`MP-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: {\n id: string;\n title: AXPMultiLanguageString;\n assetTypeId?: string;\n assetType?: { maintenanceTypeIds?: string[] };\n };\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString; hasSchedule?: boolean };\n schedule?: AXMMaintenanceManagementMaintenancePlanSchedule;\n assignedToId?: string;\n assignedTo?: { id: string; displayName?: string };\n priorityId?: string;\n priority?: { id: string; title: AXPMultiLanguageString };\n needPermission?: boolean;\n needShutdown?: boolean;\n estimatedHours?: number;\n autoGeneratedPlan?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Workflow template binding and admin-configured default inputs for maintenance templates. */\nexport interface AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig {\n workflowDefinitionId: string;\n workflowName: string;\n /** When false, approval workflow is disabled for work orders using this template. */\n enabled?: boolean;\n defaultInput?: Record<string, unknown>;\n}\n\n/** Scheduler-picker value persisted on maintenance templates (aligned with maintenance plans). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\n/** Persisted value shape for the meta-data-builder plugin (`metaDataList`). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateMetaDataList {\n groups: Array<{\n name: string;\n title?: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n order: number;\n fields: Array<{\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n /** Serialized widget descriptor (JSON string), same convention as Asset Type mock meta-data. */\n interface: string;\n configuration?: Record<string, unknown>;\n order: number;\n }>;\n }>;\n}\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-template-code` (`MNT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: {\n id: string;\n title: AXPMultiLanguageString;\n hasSchedule?: boolean;\n autoGeneratePlan?: boolean;\n };\n assetTypeId: string;\n assetType?: { id: string; title?: AXPMultiLanguageString; maintenanceTypeIds?: string[] };\n /** Selected metadata field ids from asset types that support the maintenance type. */\n // metadataIds?: string[];\n /** Asset status key (aligned with asset lifecycle status). */\n assetStatusTypeId?: string;\n needPermission: boolean;\n needShutdown: boolean;\n estimatedMinutes?: number;\n /** Dynamic field definitions for the meta-data-builder plugin (stored as `metaDataList`). */\n // metaDataList?: AXMMaintenanceManagementMaintenanceTemplateMetaDataList;\n /** Selected workflow and template-time input defaults (workflow-selector plugin). */\n workflowConfig?: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null;\n /** Recurrence schedule (`scheduler-picker` widget value). */\n schedule?: AXMMaintenanceManagementMaintenanceTemplateSchedule;\n /** Template definition version (identifier). */\n versionId?: string;\n autoGeneratePlan?: boolean;\n hasSchedule?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateActivityTypeEntityModel {\n id: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n sequenceNo: number;\n needShutdown: boolean;\n isMainActivity: boolean;\n estimatedMinutes?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateFailureModeEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementMaintenanceTemplateResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateResourceEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title?: AXPMultiLanguageString; name?: string };\n resourceType: AXMMaintenanceManagementMaintenanceTemplateResourceType;\n resourceId?: string;\n resourceSelectionIds?: string[];\n /** Denormalized titles for list/grid when stored values are ids. */\n resourceSummary?: string;\n quantity?: number;\n estimatedHours?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTypeEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-type-code` (`MT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n autoGeneratePlan?: boolean;\n hasSchedule?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\n//#region ---- Types ----\n\nexport interface AXMWorkReportAssessmentReference {\n assessmentCaseId: string;\n assessmentCase?: {\n id: string;\n title?: AXPMultiLanguageString;\n };\n completedAt?: string | null;\n completedById?: string | null;\n}\n\nexport interface AXMMaintenanceManagementWorkReportEntityModel {\n id: string;\n workOrderId: string;\n workOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n statusId?: string;\n };\n reportedAt: string;\n performedById: string;\n performedBy?: { id: string; displayName?: string };\n result?: string;\n summary?: string;\n actionTaken?: string;\n recommendation?: string;\n laborHours?: number;\n downtimeMinutes?: number;\n startedAt?: Date;\n endedAt?: Date;\n needFollowUp?: boolean;\n followUpWorkOrderId?: string;\n followUpWorkOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n };\n assessments?: AXMWorkReportAssessmentReference[];\n finalizedAt?: string | null;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './work-order.status';\nexport * from './work-order.source-type';\nexport * from './failure-register.status';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-maintenance-management-client-contracts.mjs","sources":["../../../../libs/modules/maintenance-management/contracts/src/catalog-scope.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/commands.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/features.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/menu.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/permission.keys.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.status.ts","../../../../libs/modules/maintenance-management/contracts/src/work-order.source-type.ts","../../../../libs/modules/maintenance-management/contracts/src/failure-register.status.ts","../../../../libs/modules/maintenance-management/contracts/src/maintenance-interval.config.ts","../../../../libs/modules/maintenance-management/contracts/src/root-config.ts","../../../../libs/modules/maintenance-management/contracts/src/manifest.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type/activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-asset-type/activity-type-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/activity-type-resource/activity-type-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-cause/failure-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-detection/failure-detection.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-effect/failure-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mechanism/failure-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode/failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-asset-type/failure-mode-asset-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-mechanism/failure-mode-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-mode-solution/failure-mode-solution.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register/failure-register.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-cause/failure-register-cause.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-effect/failure-register-effect.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-register-mechanism/failure-register-mechanism.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-severity/failure-severity.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/failure-type/failure-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-plan/maintenance-plan.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template/maintenance-template.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-activity-type/maintenance-template-activity-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-failure-mode/maintenance-template-failure-mode.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-template-resource/maintenance-template-resource.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/maintenance-type/maintenance-type.types.ts","../../../../libs/modules/maintenance-management/contracts/src/entities/work-report/work-report.types.ts","../../../../libs/modules/maintenance-management/contracts/src/index.ts","../../../../libs/modules/maintenance-management/contracts/src/acorex-platform-module-maintenance-management-client-contracts.ts"],"sourcesContent":["/** Maintenance catalog scope for questionnaires, question bank items, and workflow definitions. */\nexport const MM_CATALOG_SCOPE_MN = 'maintenance-management.mn';\n","//#region ---- Command keys ----\n\nexport const AXMMaintenanceManagementCommandKeys = {\n WorkOrder: {\n StartFlow: 'MaintenanceManagement.WorkOrder:StartFlow',\n },\n WorkReport: {\n FillCompletion: 'MaintenanceManagement.WorkReport:FillCompletion',\n OpenFromWorkOrder: 'MaintenanceManagement.WorkReport:OpenFromWorkOrder',\n },\n WorkflowActivity: {\n ResolveWorkOrder: 'workflow-activity:resolve-work-order',\n ResolvePersonUserId: 'workflow-activity:resolve-person-user-id',\n CreateOrGetWorkReportDraft: 'workflow-activity:create-or-get-work-report-draft',\n UpdateWorkOrderInProgress: 'workflow-activity:update-work-order-in-progress',\n ValidateWorkOrderCompletion: 'workflow-activity:validate-work-order-completion',\n UpdateWorkReportOnCompletion: 'workflow-activity:update-work-report-on-completion',\n RecordWorkReportAssessment: 'workflow-activity:record-work-report-assessment',\n UpdateWorkOrderCompleted: 'workflow-activity:update-work-order-completed',\n },\n} as const;\n\n//#endregion\n","export const AXMMaintenanceManagementFeatureKeys = {\n Management: 'MaintenanceManagement:Feature:Management',\n} as const;\n","export const AXMMaintenanceManagementMenuKeys = {\n Root: 'MaintenanceManagement:Menu',\n // MainPlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:MainPlanEquipment:MaintenanceSectionGroup',\n // PlanEquipmentMaintenanceSectionGroup: 'MaintenanceManagement:Menu:PlantEquipment:MaintenanceSectionGroup',\n Activities: 'MaintenanceManagement:Menu:Activities',\n Failures: 'MaintenanceManagement:Menu:Failures',\n ActivityCategories: 'MaintenanceManagement:Menu:ActivityCategories',\n ActivityTypes: 'MaintenanceManagement:Menu:ActivityTypes',\n MaintenanceTypes: 'MaintenanceManagement:Menu:MaintenanceTypes',\n MaintenancePlans: 'MaintenanceManagement:Menu:MaintenancePlans',\n MaintenancePlansList: 'MaintenanceManagement:Menu:MaintenancePlans:List',\n WorkPackages: 'MaintenanceManagement:Menu:WorkPackages',\n WorkOrders: 'MaintenanceManagement:Menu:WorkOrders',\n WorkReports: 'MaintenanceManagement:Menu:WorkReports',\n MaintenanceTemplates: 'MaintenanceManagement:Menu:MaintenanceTemplates',\n MaintenanceTemplateActivityTypes: 'MaintenanceManagement:Menu:MaintenanceTemplateActivityTypes',\n MaintenanceTemplateResources: 'MaintenanceManagement:Menu:MaintenanceTemplateResources',\n MaintenanceTemplateFailureModes: 'MaintenanceManagement:Menu:MaintenanceTemplateFailureModes',\n FailureCauses: 'MaintenanceManagement:Menu:FailureCauses',\n FailureMechanisms: 'MaintenanceManagement:Menu:FailureMechanisms',\n FailureDetections: 'MaintenanceManagement:Menu:FailureDetections',\n FailureEffects: 'MaintenanceManagement:Menu:FailureEffects',\n FailureSeverities: 'MaintenanceManagement:Menu:FailureSeverities',\n FailureTypes: 'MaintenanceManagement:Menu:FailureTypes',\n FailureModes: 'MaintenanceManagement:Menu:FailureModes',\n FailureRegisters: 'MaintenanceManagement:Menu:FailureRegisters',\n} as const;\n","/**\n * Assets & Maintenance capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPAssetsMaintenancePermissionKeys = {\n Access: 'AssetsMaintenance:Permission:Access',\n MaintainAssets: 'AssetsMaintenance:Permission:MaintainAssets',\n MaintainMaintenance: 'AssetsMaintenance:Permission:MaintainMaintenance',\n Setup: 'AssetsMaintenance:Permission:Setup',\n} as const;\n\nconst cap = AXPAssetsMaintenancePermissionKeys.MaintainMaintenance;\n\nfunction entityCrud() {\n return {\n Management: cap,\n View: cap,\n Create: cap,\n Update: cap,\n Delete: cap,\n } as const;\n}\n\n/**\n * @deprecated Prefer {@link AXPAssetsMaintenancePermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMMaintenanceManagementPermissionKeys = {\n MaintenanceManagement: {\n Management: cap,\n ActivityCategory: entityCrud(),\n MaintenanceType: entityCrud(),\n MaintenanceTemplate: entityCrud(),\n MaintenancePlan: entityCrud(),\n WorkPackage: entityCrud(),\n WorkOrder: entityCrud(),\n WorkReport: entityCrud(),\n MaintenanceTemplateActivityType: entityCrud(),\n MaintenanceTemplateResource: entityCrud(),\n MaintenanceTemplateFailureMode: entityCrud(),\n ActivityType: entityCrud(),\n ActivityTypeAssetType: entityCrud(),\n ActivityTypeResource: entityCrud(),\n FailureCause: entityCrud(),\n FailureMechanism: entityCrud(),\n FailureDetection: entityCrud(),\n FailureEffect: entityCrud(),\n FailureSeverity: entityCrud(),\n FailureType: entityCrud(),\n FailureMode: entityCrud(),\n FailureRegister: entityCrud(),\n },\n} as const;\n","//#region ---- Status names ----\n\nexport enum AXMWorkOrderStatus {\n Planned = 'planned',\n Scheduled = 'scheduled',\n Assigned = 'assigned',\n InProgress = 'in-progress',\n OnHold = 'on-hold',\n Completed = 'completed',\n SignedOff = 'signed-off',\n Cancelled = 'cancelled',\n}\n\n//#endregion\n","//#region ---- Source type enum ----\n\nexport enum AXMWorkOrderSourceType {\n Manual = 'manual',\n MaintenancePlan = 'maintenance-plan',\n CreateAsset = 'create-asset',\n FailureRegister = 'failure-register',\n}\n\n//#endregion\n","//#region ---- Status names ----\n\nexport enum AXMFailureRegisterStatus {\n Reported = 'reported',\n UnderReview = 'underReview',\n WorkOrderRequired = 'workOrderRequired',\n WorkOrderCreated = 'workOrderCreated',\n InProgress = 'inProgress',\n Resolved = 'resolved',\n FollowUpRequired = 'followUpRequired',\n Rejected = 'rejected',\n Duplicate = 'duplicate',\n Closed = 'closed',\n}\n\n//#endregion\n","import type { AXMMaintenanceManagementMaintenanceTemplateSchedule } from './entities/maintenance-template/maintenance-template.types';\n\n//#region ----- Constants -----\n\n/** Widget name for the maintenance interval editor. Kind strings match `AXMAssetIntervalKind`. */\nexport const AXM_MAINTENANCE_INTERVAL_WIDGET = 'maintenance-interval-editor';\n\n/**\n * Same stored values as `AXMAssetIntervalKind`.\n * Combinations are multiple entries, not extra kinds.\n */\nexport const AXM_MAINTENANCE_INTERVAL_KINDS = ['date', 'distance', 'operating-hours', 'operation-count'] as const;\n\nconst METER_KINDS = ['distance', 'operating-hours', 'operation-count'] as const;\n\n//#endregion\n\n//#region ----- Types -----\n\nexport type AXMMaintenanceIntervalKind = (typeof AXM_MAINTENANCE_INTERVAL_KINDS)[number];\n\nexport type AXMMaintenanceMeterKind = (typeof METER_KINDS)[number];\n\n/** How multiple enabled intervals combine. Stored in lowercase, like other persisted enums. */\nexport enum AXMMaintenanceIntervalTriggerLogic {\n Any = 'any',\n All = 'all',\n}\n\n/** Unit stored on a meter trigger. Distance is the only kind with a choice. */\nexport enum AXMMaintenanceIntervalUnit {\n Kilometer = 'kilometer',\n Mile = 'mile',\n Hour = 'hour',\n Operation = 'operation',\n}\n\nexport interface AXMMaintenanceIntervalConfig {\n triggerLogic: AXMMaintenanceIntervalTriggerLogic;\n triggers: AXMMaintenanceIntervalTrigger[];\n}\n\nexport type AXMMaintenanceIntervalTrigger = AXMDateIntervalTrigger | AXMMeterIntervalTrigger;\n\n/** Date intervals reuse the maintenance template scheduler-picker value. */\nexport interface AXMDateIntervalTrigger {\n kind: 'date';\n schedule: AXMMaintenanceManagementMaintenanceTemplateSchedule;\n}\n\nexport interface AXMMeterIntervalTrigger {\n kind: AXMMaintenanceMeterKind;\n interval: number;\n unit?: AXMMaintenanceIntervalUnit;\n}\n\nexport interface AXMMaintenanceIntervalMeterDraft {\n enabled: boolean;\n interval: number | null;\n unit: AXMMaintenanceIntervalUnit;\n}\n\n/** Editable form state. Disabled or invalid kinds are omitted from {@link buildAXMMaintenanceIntervalConfig}. */\nexport interface AXMMaintenanceIntervalDraft {\n triggerLogic: AXMMaintenanceIntervalTriggerLogic;\n dateEnabled: boolean;\n schedule: AXMMaintenanceManagementMaintenanceTemplateSchedule | null;\n meters: Record<AXMMaintenanceMeterKind, AXMMaintenanceIntervalMeterDraft>;\n}\n\nexport type AXMMaintenanceIntervalErrorCode = 'schedule' | 'interval' | 'integer';\n\nexport interface AXMMaintenanceIntervalFieldError {\n kind: AXMMaintenanceIntervalKind;\n code: AXMMaintenanceIntervalErrorCode;\n}\n\nexport interface AXMMaintenanceIntervalBuildResult {\n config: AXMMaintenanceIntervalConfig;\n errors: AXMMaintenanceIntervalFieldError[];\n}\n\n//#endregion\n\n//#region ----- Kind helpers -----\n\nconst KIND_SET = new Set<string>(AXM_MAINTENANCE_INTERVAL_KINDS);\n\nexport function isAXMMaintenanceIntervalKind(value: string): value is AXMMaintenanceIntervalKind {\n return KIND_SET.has(value);\n}\n\nexport function isAXMMaintenanceMeterKind(value: string): value is AXMMaintenanceMeterKind {\n return value === 'distance' || value === 'operating-hours' || value === 'operation-count';\n}\n\nexport function defaultAXMMaintenanceIntervalUnit(kind: AXMMaintenanceMeterKind): AXMMaintenanceIntervalUnit {\n switch (kind) {\n case 'distance':\n return AXMMaintenanceIntervalUnit.Kilometer;\n case 'operating-hours':\n return AXMMaintenanceIntervalUnit.Hour;\n case 'operation-count':\n return AXMMaintenanceIntervalUnit.Operation;\n }\n}\n\nexport function isAXMMaintenanceIntervalUnitForKind(\n kind: AXMMaintenanceMeterKind,\n unit: AXMMaintenanceIntervalUnit,\n): boolean {\n switch (kind) {\n case 'distance':\n return unit === AXMMaintenanceIntervalUnit.Kilometer || unit === AXMMaintenanceIntervalUnit.Mile;\n case 'operating-hours':\n return unit === AXMMaintenanceIntervalUnit.Hour;\n case 'operation-count':\n return unit === AXMMaintenanceIntervalUnit.Operation;\n }\n}\n\nexport function emptyAXMMaintenanceIntervalConfig(): AXMMaintenanceIntervalConfig {\n return { triggerLogic: AXMMaintenanceIntervalTriggerLogic.Any, triggers: [] };\n}\n\nexport function emptyAXMMaintenanceIntervalDraft(): AXMMaintenanceIntervalDraft {\n return {\n triggerLogic: AXMMaintenanceIntervalTriggerLogic.Any,\n dateEnabled: false,\n schedule: null,\n meters: {\n distance: { enabled: false, interval: null, unit: AXMMaintenanceIntervalUnit.Kilometer },\n 'operating-hours': { enabled: false, interval: null, unit: AXMMaintenanceIntervalUnit.Hour },\n 'operation-count': { enabled: false, interval: null, unit: AXMMaintenanceIntervalUnit.Operation },\n },\n };\n}\n\n//#endregion\n\n//#region ----- Normalize -----\n\nfunction isSchedule(value: unknown): value is AXMMaintenanceManagementMaintenanceTemplateSchedule {\n if (!value || typeof value !== 'object') {\n return false;\n }\n const record = value as { mode?: unknown; startCondition?: unknown; recurrence?: unknown };\n return typeof record.mode === 'string' || record.startCondition != null || typeof record.recurrence === 'string';\n}\n\nfunction isUnit(value: unknown): value is AXMMaintenanceIntervalUnit {\n return (\n value === AXMMaintenanceIntervalUnit.Kilometer ||\n value === AXMMaintenanceIntervalUnit.Mile ||\n value === AXMMaintenanceIntervalUnit.Hour ||\n value === AXMMaintenanceIntervalUnit.Operation\n );\n}\n\nfunction readTriggerLogic(value: unknown): AXMMaintenanceIntervalTriggerLogic {\n return value === AXMMaintenanceIntervalTriggerLogic.All\n ? AXMMaintenanceIntervalTriggerLogic.All\n : AXMMaintenanceIntervalTriggerLogic.Any;\n}\n\nfunction supportedKindSet(kinds: readonly string[]): Set<AXMMaintenanceIntervalKind> {\n const set = new Set<AXMMaintenanceIntervalKind>();\n for (const kind of kinds) {\n if (isAXMMaintenanceIntervalKind(kind)) {\n set.add(kind);\n }\n }\n return set;\n}\n\nfunction meterIssue(kind: AXMMaintenanceMeterKind, interval: number | null): AXMMaintenanceIntervalErrorCode | null {\n if (typeof interval !== 'number' || !Number.isFinite(interval) || interval <= 0) {\n return 'interval';\n }\n if (kind === 'operation-count' && !Number.isInteger(interval)) {\n return 'integer';\n }\n return null;\n}\n\n/**\n * Builds the value object emitted by the interval editor.\n * Unsupported, disabled, and invalid triggers are left out.\n * Zero or one valid trigger always reports `any`.\n */\nexport function buildAXMMaintenanceIntervalConfig(\n supportedIntervalKinds: readonly string[],\n draft: AXMMaintenanceIntervalDraft,\n): AXMMaintenanceIntervalBuildResult {\n const supported = supportedKindSet(supportedIntervalKinds);\n const triggers: AXMMaintenanceIntervalTrigger[] = [];\n const errors: AXMMaintenanceIntervalFieldError[] = [];\n\n if (supported.has('date') && draft.dateEnabled) {\n if (isSchedule(draft.schedule)) {\n triggers.push({ kind: 'date', schedule: draft.schedule });\n } else {\n errors.push({ kind: 'date', code: 'schedule' });\n }\n }\n\n for (const kind of METER_KINDS) {\n const meter = draft.meters[kind];\n if (!supported.has(kind) || !meter.enabled) {\n continue;\n }\n const issue = meterIssue(kind, meter.interval);\n if (issue) {\n errors.push({ kind, code: issue });\n continue;\n }\n const unit = isAXMMaintenanceIntervalUnitForKind(kind, meter.unit)\n ? meter.unit\n : defaultAXMMaintenanceIntervalUnit(kind);\n triggers.push({ kind, interval: meter.interval as number, unit });\n }\n\n const triggerLogic =\n triggers.length > 1 && draft.triggerLogic === AXMMaintenanceIntervalTriggerLogic.All\n ? AXMMaintenanceIntervalTriggerLogic.All\n : AXMMaintenanceIntervalTriggerLogic.Any;\n\n return { config: { triggerLogic, triggers }, errors };\n}\n\n/**\n * Date trigger schedule, or a legacy scheduler-picker object stored before interval configs.\n * Meter-only configs have no calendar schedule.\n */\nexport function readMaintenancePlanCalendarSchedule(\n value: unknown,\n): AXMMaintenanceManagementMaintenanceTemplateSchedule | undefined {\n if (!value || typeof value !== 'object') {\n return undefined;\n }\n\n const record = value as {\n triggers?: unknown;\n mode?: unknown;\n startCondition?: unknown;\n recurrence?: unknown;\n };\n\n if (Array.isArray(record.triggers)) {\n for (const item of record.triggers) {\n if (!item || typeof item !== 'object' || (item as { kind?: unknown }).kind !== 'date') {\n continue;\n }\n const schedule = (item as { schedule?: unknown }).schedule;\n if (isSchedule(schedule)) {\n return schedule;\n }\n }\n return undefined;\n }\n\n if (record.mode != null || record.startCondition != null || record.recurrence != null) {\n return value as AXMMaintenanceManagementMaintenanceTemplateSchedule;\n }\n\n return undefined;\n}\n\n/** Reads a stored config into editor state. Kinds outside `supportedIntervalKinds` are dropped. */\nexport function draftFromAXMMaintenanceIntervalConfig(\n value: unknown,\n supportedIntervalKinds: readonly string[],\n): AXMMaintenanceIntervalDraft {\n const draft = emptyAXMMaintenanceIntervalDraft();\n const supported = supportedKindSet(supportedIntervalKinds);\n if (!value || typeof value !== 'object') {\n return draft;\n }\n\n const record = value as { triggerLogic?: unknown; triggers?: unknown };\n draft.triggerLogic = readTriggerLogic(record.triggerLogic);\n if (!Array.isArray(record.triggers)) {\n return draft;\n }\n\n for (const item of record.triggers) {\n if (!item || typeof item !== 'object' || !('kind' in item) || typeof (item as { kind: unknown }).kind !== 'string') {\n continue;\n }\n const kind = (item as { kind: string }).kind;\n if (!isAXMMaintenanceIntervalKind(kind) || !supported.has(kind)) {\n continue;\n }\n if (kind === 'date') {\n const schedule = (item as { schedule?: unknown }).schedule;\n if (!isSchedule(schedule) || draft.dateEnabled) {\n continue;\n }\n draft.dateEnabled = true;\n draft.schedule = schedule;\n continue;\n }\n const meter = draft.meters[kind];\n if (meter.enabled) {\n continue;\n }\n const interval = (item as { interval?: unknown }).interval;\n const unit = (item as { unit?: unknown }).unit;\n if (meterIssue(kind, typeof interval === 'number' ? interval : null)) {\n continue;\n }\n meter.enabled = true;\n meter.interval = interval as number;\n meter.unit = isUnit(unit) && isAXMMaintenanceIntervalUnitForKind(kind, unit) ? unit : defaultAXMMaintenanceIntervalUnit(kind);\n }\n\n return draft;\n}\n\n//#endregion\n","//#region ---- Root Configuration ----\n\nconst config = {\n i18n: 'maintenance-management',\n module: 'MaintenanceManagement',\n route: 'maintenance-management',\n};\n\nexport const RootConfig = {\n config,\n module: {\n route: config.route,\n name: config.module,\n title: '@maintenance-management:module.title',\n icon: 'fa-light fa-box',\n },\n entities: {\n maintenanceType: {\n name: 'MaintenanceType',\n source: `${config.module}.MaintenanceType`,\n title: '@maintenance-management:maintenance-types.entities.maintenance-type.title',\n titlePlural: '@maintenance-management:maintenance-types.entities.maintenance-type.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n maintenanceTemplate: {\n name: 'MaintenanceTemplate',\n source: `${config.module}.MaintenanceTemplate`,\n title: '@maintenance-management:maintenance-templates.entities.maintenance-template.title',\n titlePlural: '@maintenance-management:maintenance-templates.entities.maintenance-template.plural',\n icon: 'fa-light fa-clipboard-list',\n },\n maintenancePlan: {\n name: 'MaintenancePlan',\n source: `${config.module}.MaintenancePlan`,\n title: '@maintenance-management:maintenance-plans.entities.maintenance-plan.title',\n titlePlural: '@maintenance-management:maintenance-plans.entities.maintenance-plan.plural',\n icon: 'fa-light fa-calendar-check',\n },\n workPackage: {\n name: 'WorkPackage',\n source: `${config.module}.WorkPackage`,\n title: '@maintenance-management:work-packages.entities.work-package.title',\n titlePlural: '@maintenance-management:work-packages.entities.work-package.plural',\n icon: 'fa-light fa-boxes-packing',\n },\n workOrder: {\n name: 'WorkOrder',\n source: `${config.module}.WorkOrder`,\n title: '@maintenance-management:work-orders.entities.work-order.title',\n titlePlural: '@maintenance-management:work-orders.entities.work-order.plural',\n icon: 'fa-light fa-clipboard-check',\n },\n workReport: {\n name: 'WorkReport',\n source: `${config.module}.WorkReport`,\n title: '@maintenance-management:work-reports.entities.work-report.title',\n titlePlural: '@maintenance-management:work-reports.entities.work-report.plural',\n icon: 'fa-light fa-file-lines',\n },\n maintenanceTemplateActivityType: {\n name: 'MaintenanceTemplateActivityType',\n source: `${config.module}.MaintenanceTemplateActivityType`,\n title:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.title',\n titlePlural:\n '@maintenance-management:maintenance-template-activity-types.entities.maintenance-template-activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n maintenanceTemplateResource: {\n name: 'MaintenanceTemplateResource',\n source: `${config.module}.MaintenanceTemplateResource`,\n title: '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.title',\n titlePlural:\n '@maintenance-management:maintenance-template-resources.entities.maintenance-template-resource.plural',\n icon: 'fa-light fa-box-open-full',\n },\n maintenanceTemplateFailureMode: {\n name: 'MaintenanceTemplateFailureMode',\n source: `${config.module}.MaintenanceTemplateFailureMode`,\n title:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.title',\n titlePlural:\n '@maintenance-management:maintenance-template-failure-modes.entities.maintenance-template-failure-mode.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n activityType: {\n name: 'ActivityType',\n source: `${config.module}.ActivityType`,\n title: '@maintenance-management:activity-types.entities.activity-type.title',\n titlePlural: '@maintenance-management:activity-types.entities.activity-type.plural',\n icon: 'fa-light fa-list-check',\n },\n activityTypeAssetType: {\n name: 'ActivityTypeAssetType',\n source: `${config.module}.ActivityTypeAssetType`,\n title: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.title',\n titlePlural: '@maintenance-management:activity-type-asset-types.entities.activity-type-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n activityTypeResource: {\n name: 'ActivityTypeResource',\n source: `${config.module}.ActivityTypeResource`,\n title: '@maintenance-management:activity-type-resources.entities.activity-type-resource.title',\n titlePlural: '@maintenance-management:activity-type-resources.entities.activity-type-resource.plural',\n icon: 'fa-light fa-cubes',\n },\n failureCause: {\n name: 'FailureCause',\n source: `${config.module}.FailureCause`,\n title: '@maintenance-management:failure-causes.entities.failure-cause.title',\n titlePlural: '@maintenance-management:failure-causes.entities.failure-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureMechanism: {\n name: 'FailureMechanism',\n source: `${config.module}.FailureMechanism`,\n title: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.title',\n titlePlural: '@maintenance-management:failure-mechanisms.entities.failure-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureDetection: {\n name: 'FailureDetection',\n source: `${config.module}.FailureDetection`,\n title: '@maintenance-management:failure-detections.entities.failure-detection.title',\n titlePlural: '@maintenance-management:failure-detections.entities.failure-detection.plural',\n icon: 'fa-light fa-radar',\n },\n failureType: {\n name: 'FailureType',\n source: `${config.module}.FailureType`,\n title: '@maintenance-management:failure-types.entities.failure-type.title',\n titlePlural: '@maintenance-management:failure-types.entities.failure-type.plural',\n icon: 'fa-light fa-shapes',\n },\n failureMode: {\n name: 'FailureMode',\n source: `${config.module}.FailureMode`,\n title: '@maintenance-management:failure-modes.entities.failure-mode.title',\n titlePlural: '@maintenance-management:failure-modes.entities.failure-mode.plural',\n icon: 'fa-light fa-diagram-project',\n },\n failureModeAssetType: {\n name: 'FailureModeAssetType',\n source: `${config.module}.FailureModeAssetType`,\n title: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.title',\n titlePlural: '@maintenance-management:failure-mode-asset-types.entities.failure-mode-asset-type.plural',\n icon: 'fa-light fa-link',\n },\n failureModeMechanism: {\n name: 'FailureModeMechanism',\n source: `${config.module}.FailureModeMechanism`,\n title: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.title',\n titlePlural: '@maintenance-management:failure-mode-mechanisms.entities.failure-mode-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n failureModeSolution: {\n name: 'FailureModeSolution',\n source: `${config.module}.FailureModeSolution`,\n title: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.title',\n titlePlural: '@maintenance-management:failure-mode-solutions.entities.failure-mode-solution.plural',\n icon: 'fa-light fa-screwdriver-wrench',\n },\n failureEffect: {\n name: 'FailureEffect',\n source: `${config.module}.FailureEffect`,\n title: '@maintenance-management:failure-effects.entities.failure-effect.title',\n titlePlural: '@maintenance-management:failure-effects.entities.failure-effect.plural',\n icon: 'fa-light fa-waveform-lines',\n },\n failureSeverity: {\n name: 'FailureSeverity',\n source: `${config.module}.FailureSeverity`,\n title: '@maintenance-management:failure-severities.entities.failure-severity.title',\n titlePlural: '@maintenance-management:failure-severities.entities.failure-severity.plural',\n icon: 'fa-light fa-gauge-high',\n },\n failureRegister: {\n name: 'FailureRegister',\n source: `${config.module}.FailureRegister`,\n title: '@maintenance-management:failure-registers.entities.failure-register.title',\n titlePlural: '@maintenance-management:failure-registers.entities.failure-register.plural',\n icon: 'fa-light fa-file-waveform',\n },\n failureRegisterEffect: {\n name: 'FailureRegisterEffect',\n source: `${config.module}.FailureRegisterEffect`,\n title: '@maintenance-management:failure-register-effects.entities.failure-register-effect.title',\n titlePlural: '@maintenance-management:failure-register-effects.entities.failure-register-effect.plural',\n icon: 'fa-light fa-wave-pulse',\n },\n failureRegisterCause: {\n name: 'FailureRegisterCause',\n source: `${config.module}.FailureRegisterCause`,\n title: '@maintenance-management:failure-register-causes.entities.failure-register-cause.title',\n titlePlural: '@maintenance-management:failure-register-causes.entities.failure-register-cause.plural',\n icon: 'fa-light fa-triangle-exclamation',\n },\n failureRegisterMechanism: {\n name: 'FailureRegisterMechanism',\n source: `${config.module}.FailureRegisterMechanism`,\n title: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.title',\n titlePlural: '@maintenance-management:failure-register-mechanisms.entities.failure-register-mechanism.plural',\n icon: 'fa-light fa-gears',\n },\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Maintenance Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const MaintenanceManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'asset-maintenance',\n required: false,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Scheduler-picker value persisted on activity types. */\nexport interface AXMMaintenanceManagementActivityTypeSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\nexport interface AXMMaintenanceManagementActivityTypeEntityModel {\n id: string;\n code: string;\n activityCategoryId: string;\n activityCategory?: { id: string; title: AXPMultiLanguageString };\n scheduleId?: AXMMaintenanceManagementActivityTypeSchedule;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n shutDownFlag?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementActivityTypeAssetTypeEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n workTeamId: string;\n workTeam?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementActivityTypeResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementActivityTypeResourceEntityModel {\n id: string;\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n resourceType: AXMMaintenanceManagementActivityTypeResourceType;\n resourceId: string;\n resourceSelectionIds?: string[];\n /** Denormalized labels for list/grid when stored values are raw ids (see mock seeding). */\n resourceSummary?: string;\n count?: number;\n description?: AXPMultiLanguageString;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureCauseEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n failureTypeId?: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n priorityId?: 'critical' | 'high' | 'medium' | 'low';\n shutDownFlag?: boolean;\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureDetectionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureEffectEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureMechanismEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n shutDownFlag?: boolean;\n priorityId?: string;\n failureTypeId: string;\n failureType?: { id: string; title: AXPMultiLanguageString };\n failureMechanismIds?: string[];\n initialEstimatedTime?: number;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeAssetTypeEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n assetTypeId: string;\n assetType?: { id: string; title: AXPMultiLanguageString };\n priorityId?: string;\n shutDownFlag?: boolean;\n creditRequired?: boolean;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeMechanismEntityModel {\n id: string;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureModeSolutionEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description: AXPMultiLanguageString;\n successRate: number;\n riskLevel: 'low' | 'medium' | 'high' | 'critical';\n estimatedCost: number;\n solutionType: 'temporary' | 'permanent' | 'workaround' | 'preventive';\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport { AXMFailureRegisterStatus } from '../../failure-register.status';\n\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEntityModel {\n id: string;\n /** Business code from identifier rule `failure-register-code` (`FR-{date:YYYY}-{seq:4}`). */\n code: string;\n statusId: AXMFailureRegisterStatus;\n date: string;\n assetSystemId?: string;\n assetSystem?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n failureDetectionId: string;\n failureDetection?: { id: string; title: AXPMultiLanguageString };\n priorityId: string;\n failureSeverityId: string;\n failureSeverity?: { id: string; title: AXPMultiLanguageString };\n failureEffectIds?: string[];\n failureCauseIds?: string[];\n failureMechanismIds?: string[];\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterCauseEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureCauseId: string;\n failureCause?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterEffectEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureEffectId: string;\n failureEffect?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureRegisterMechanismEntityModel {\n id: string;\n failureRegisterId: string;\n failureRegister?: { id: string; title: AXPMultiLanguageString };\n failureMechanismId: string;\n failureMechanism?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureSeverityEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementFailureTypeEntityModel {\n id: string;\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n parentId?: string;\n parent?: { id: string; title: AXPMultiLanguageString };\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport type { AXMMaintenanceIntervalConfig } from '../../maintenance-interval.config';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenancePlanSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n occurrences?: number;\n endDate?: string | Date;\n };\n}\n\n//#region ----- Interval state -----\n\n/** Meter kinds that can track last completed and next due values. Date stays on `intervalConfig`. */\nexport const AXM_MAINTENANCE_INTERVAL_STATE_KINDS = ['distance', 'operating-hours', 'operation-count'] as const;\n\nexport type AXMMaintenanceIntervalStateKind = (typeof AXM_MAINTENANCE_INTERVAL_STATE_KINDS)[number];\n\nexport interface AXMMaintenanceIntervalState {\n kind: AXMMaintenanceIntervalStateKind;\n lastCompletedValue?: number;\n nextDueValue?: number;\n}\n\nexport type AXMMaintenanceIntervalStateIssue = 'invalid' | 'date-kind' | 'negative' | 'next-before-last';\n\nconst INTERVAL_STATE_I18N = '@maintenance-management:maintenance-plans.entities.maintenance-plan.fields.interval-states.validation';\n\nexport const AXM_MAINTENANCE_INTERVAL_STATE_ERRORS: Record<\n AXMMaintenanceIntervalStateIssue,\n { message: string; code: string }\n> = {\n invalid: { message: `${INTERVAL_STATE_I18N}.invalid`, code: 'MAINTENANCE_INTERVAL_STATE_INVALID' },\n 'date-kind': { message: `${INTERVAL_STATE_I18N}.date-kind`, code: 'MAINTENANCE_INTERVAL_STATE_DATE_KIND' },\n negative: { message: `${INTERVAL_STATE_I18N}.negative`, code: 'MAINTENANCE_INTERVAL_STATE_NEGATIVE' },\n 'next-before-last': {\n message: `${INTERVAL_STATE_I18N}.next-before-last`,\n code: 'MAINTENANCE_INTERVAL_STATE_NEXT_BEFORE_LAST',\n },\n};\n\nconst INTERVAL_STATE_KIND_SET = new Set<string>(AXM_MAINTENANCE_INTERVAL_STATE_KINDS);\n\nfunction isMaintenanceIntervalStateKind(value: string): value is AXMMaintenanceIntervalStateKind {\n return INTERVAL_STATE_KIND_SET.has(value);\n}\n\nfunction readOptionalMeter(value: unknown): number | undefined | null {\n if (value == null) {\n return undefined;\n }\n if (typeof value !== 'number' || !Number.isFinite(value)) {\n return null;\n }\n return value;\n}\n\nfunction readStateItem(item: unknown): AXMMaintenanceIntervalState | AXMMaintenanceIntervalStateIssue {\n if (!item || typeof item !== 'object' || Array.isArray(item)) {\n return 'invalid';\n }\n const record = item as Record<string, unknown>;\n const kind = record['kind'];\n if (kind === 'date') {\n return 'date-kind';\n }\n if (typeof kind !== 'string' || !isMaintenanceIntervalStateKind(kind)) {\n return 'invalid';\n }\n const lastCompletedValue = readOptionalMeter(record['lastCompletedValue']);\n const nextDueValue = readOptionalMeter(record['nextDueValue']);\n if (lastCompletedValue === null || nextDueValue === null) {\n return 'invalid';\n }\n if ((lastCompletedValue != null && lastCompletedValue < 0) || (nextDueValue != null && nextDueValue < 0)) {\n return 'negative';\n }\n if (lastCompletedValue != null && nextDueValue != null && nextDueValue < lastCompletedValue) {\n return 'next-before-last';\n }\n const state: AXMMaintenanceIntervalState = { kind };\n if (lastCompletedValue != null) {\n state.lastCompletedValue = lastCompletedValue;\n }\n if (nextDueValue != null) {\n state.nextDueValue = nextDueValue;\n }\n return state;\n}\n\n/** Missing or unreadable input becomes `[]`. Invalid items and date kinds are dropped. The last item of a kind wins. */\nexport function readMaintenanceIntervalStates(value: unknown): AXMMaintenanceIntervalState[] {\n if (!Array.isArray(value)) {\n return [];\n }\n const byKind = new Map<AXMMaintenanceIntervalStateKind, AXMMaintenanceIntervalState>();\n for (const item of value) {\n const state = readStateItem(item);\n if (typeof state === 'string') {\n continue;\n }\n byKind.set(state.kind, state);\n }\n return [...byKind.values()];\n}\n\n/** Strict create/update check. A later item replaces an earlier item of the same kind. */\nexport function resolveMaintenanceIntervalStates(value: unknown): {\n states: AXMMaintenanceIntervalState[];\n issue: AXMMaintenanceIntervalStateIssue | null;\n} {\n if (value == null) {\n return { states: [], issue: null };\n }\n if (!Array.isArray(value)) {\n return { states: [], issue: 'invalid' };\n }\n const byKind = new Map<AXMMaintenanceIntervalStateKind, AXMMaintenanceIntervalState>();\n for (const item of value) {\n const state = readStateItem(item);\n if (typeof state === 'string') {\n return { states: [], issue: state };\n }\n byKind.set(state.kind, state);\n }\n return { states: [...byKind.values()], issue: null };\n}\n\n//#endregion\n\nexport interface AXMMaintenanceManagementMaintenancePlanEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-plan-code` (`MP-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: { id: string; title: AXPMultiLanguageString };\n assetId: string;\n asset?: {\n id: string;\n title: AXPMultiLanguageString;\n assetTypeId?: string;\n assetType?: { maintenanceTypeIds?: string[]; supportedIntervalKinds?: string[] };\n };\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n /** Maintenance interval rule. Date triggers still store the scheduler-picker value. */\n intervalConfig?: AXMMaintenanceIntervalConfig;\n /** Current due position for meter intervals. Date is not stored here. */\n intervalStates?: AXMMaintenanceIntervalState[];\n assignedToId?: string;\n assignedTo?: { id: string; displayName?: string };\n priorityId?: string;\n priority?: { id: string; title: AXPMultiLanguageString };\n needPermission?: boolean;\n needShutdown?: boolean;\n estimatedHours?: number;\n autoGeneratedPlan?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\n/** Workflow template binding and admin-configured default inputs for maintenance templates. */\nexport interface AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig {\n workflowDefinitionId: string;\n workflowName: string;\n /** When false, approval workflow is disabled for work orders using this template. */\n enabled?: boolean;\n defaultInput?: Record<string, unknown>;\n}\n\n/** Scheduler-picker value persisted on maintenance templates (aligned with maintenance plans). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateSchedule {\n startCondition?: {\n type?: string;\n startDate?: string | Date;\n };\n recurrence?: string;\n cron?: string;\n mode?: string;\n interval?: number;\n endCondition?: {\n type?: string;\n endDate?: string | Date;\n };\n}\n\n/** Persisted value shape for the meta-data-builder plugin (`metaDataList`). */\nexport interface AXMMaintenanceManagementMaintenanceTemplateMetaDataList {\n groups: Array<{\n name: string;\n title?: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n order: number;\n fields: Array<{\n id: string;\n name: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n /** Serialized widget descriptor (JSON string), same convention as Asset Type mock meta-data. */\n interface: string;\n configuration?: Record<string, unknown>;\n order: number;\n }>;\n }>;\n}\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-template-code` (`MNT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n maintenanceTypeId: string;\n maintenanceType?: {\n id: string;\n title: AXPMultiLanguageString;\n autoGeneratePlan?: boolean;\n };\n assetTypeId: string;\n assetType?: { id: string; title?: AXPMultiLanguageString; maintenanceTypeIds?: string[] };\n /** Selected metadata field ids from asset types that support the maintenance type. */\n // metadataIds?: string[];\n /** Asset status key (aligned with asset lifecycle status). */\n assetStatusTypeId?: string;\n needPermission: boolean;\n needShutdown: boolean;\n estimatedMinutes?: number;\n /** Dynamic field definitions for the meta-data-builder plugin (stored as `metaDataList`). */\n // metaDataList?: AXMMaintenanceManagementMaintenanceTemplateMetaDataList;\n /** Selected workflow and template-time input defaults (workflow-selector plugin). */\n workflowConfig?: AXMMaintenanceManagementMaintenanceTemplateWorkflowConfig | null;\n /** Recurrence schedule (`scheduler-picker` widget value). */\n schedule?: AXMMaintenanceManagementMaintenanceTemplateSchedule;\n /** Template definition version (identifier). */\n versionId?: string;\n autoGeneratePlan?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateActivityTypeEntityModel {\n id: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n activityTypeId: string;\n activityType?: { id: string; title: AXPMultiLanguageString };\n sequenceNo: number;\n needShutdown: boolean;\n isMainActivity: boolean;\n estimatedMinutes?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateFailureModeEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title: AXPMultiLanguageString };\n failureModeId: string;\n failureMode?: { id: string; title: AXPMultiLanguageString };\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\nexport type AXMMaintenanceManagementMaintenanceTemplateResourceType = 'assettype' | 'jobdefinition' | 'inventoryitem';\n\nexport interface AXMMaintenanceManagementMaintenanceTemplateResourceEntityModel {\n id: string;\n code: string;\n maintenanceTemplateId: string;\n maintenanceTemplate?: { id: string; title?: AXPMultiLanguageString; name?: string };\n resourceType: AXMMaintenanceManagementMaintenanceTemplateResourceType;\n resourceId?: string;\n resourceSelectionIds?: string[];\n /** Denormalized titles for list/grid when stored values are ids. */\n resourceSummary?: string;\n quantity?: number;\n estimatedHours?: number;\n description?: AXPMultiLanguageString;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n//#region ---- Types ----\n\nexport interface AXMMaintenanceManagementMaintenanceTypeEntityModel {\n id: string;\n /** Business code from identifier rule `maintenance-type-code` (`MT-{date:YYYYMM}-{seq:4}`). */\n code: string;\n title: AXPMultiLanguageString;\n description?: AXPMultiLanguageString;\n autoGeneratePlan?: boolean;\n}\n\n//#endregion\n","import { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\n//#region ---- Types ----\n\nexport interface AXMWorkReportAssessmentReference {\n assessmentCaseId: string;\n assessmentCase?: {\n id: string;\n title?: AXPMultiLanguageString;\n };\n completedAt?: string | null;\n completedById?: string | null;\n}\n\nexport interface AXMMaintenanceManagementWorkReportEntityModel {\n id: string;\n workOrderId: string;\n workOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n statusId?: string;\n };\n reportedAt: string;\n performedById: string;\n performedBy?: { id: string; displayName?: string };\n result?: string;\n summary?: string;\n actionTaken?: string;\n recommendation?: string;\n laborHours?: number;\n downtimeMinutes?: number;\n startedAt?: Date;\n endedAt?: Date;\n needFollowUp?: boolean;\n followUpWorkOrderId?: string;\n followUpWorkOrder?: {\n id: string;\n workOrderNo?: string;\n title?: AXPMultiLanguageString;\n };\n assessments?: AXMWorkReportAssessmentReference[];\n finalizedAt?: string | null;\n}\n\n//#endregion\n","//#region ---- Contracts barrel ----\n\nexport * from './catalog-scope.keys';\nexport * from './commands.keys';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './permission.keys';\nexport * from './work-order.status';\nexport * from './work-order.source-type';\nexport * from './failure-register.status';\nexport * from './maintenance-interval.config';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import * as i0 from '@angular/core';
|
|
|
4
4
|
import { inject, Injectable } from '@angular/core';
|
|
5
5
|
import { defaultTo, get, isString } from 'lodash';
|
|
6
6
|
import { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';
|
|
7
|
-
import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-
|
|
7
|
+
import { A as AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-6cXxZPN1.mjs';
|
|
8
8
|
|
|
9
9
|
//#region ---- Imports ----
|
|
10
10
|
//#endregion
|
|
@@ -138,4 +138,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
138
138
|
}] });
|
|
139
139
|
|
|
140
140
|
export { CreateOrGetWorkReportDraftActivity };
|
|
141
|
-
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-
|
|
141
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-DDvUWUU5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BX8JwWt8.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/create-or-get-work-report-draft.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface CreateOrGetWorkReportDraftInput {\n workOrderId: string;\n performedById?: string | null;\n}\n\nexport interface CreateOrGetWorkReportDraftOutput {\n workReportId: string;\n created: boolean;\n reused: boolean;\n}\n\n//#endregion\n\n/**\n * Creates a draft work report for a work order or reuses an existing one to prevent duplicates.\n */\n@Injectable({ providedIn: 'root' })\nexport class CreateOrGetWorkReportDraftActivity\n implements AXPCommand<CreateOrGetWorkReportDraftInput, CreateOrGetWorkReportDraftOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: CreateOrGetWorkReportDraftInput,\n ): AXPCommandExecuteResultPromise<CreateOrGetWorkReportDraftOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const existing = await this.findWorkReportByWorkOrderId(workOrderId);\n if (existing?.id) {\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Reused existing work report draft',\n { workOrderId, workReportId: existing.id },\n );\n return { success: true, kind: 'object',\n data: {\n workReportId: existing.id,\n created: false,\n reused: true,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n const performedById = await this.resolvePerformedById(workOrderId, input.performedById);\n if (!performedById) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'performedById could not be resolved',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'performedById is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const workReportId = this.resolveText(createdId);\n if (!workReportId) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Work report draft creation returned no id',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'Work report draft could not be created' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Created work report draft',\n { workOrderId, workReportId, performedById },\n );\n\n return { success: true, kind: 'object',\n data: {\n workReportId,\n created: true,\n reused: false,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolvePerformedById(workOrderId: string, explicit: unknown): Promise<string> {\n const fromInput = this.resolveText(explicit);\n if (fromInput) {\n return fromInput;\n }\n\n const workOrder = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null;\n\n const assignedToId = this.resolveText(workOrder?.assignedToId);\n if (!assignedToId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: assignedToId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async findWorkReportByWorkOrderId(workOrderId: string): Promise<{ id?: string } | null> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n return defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-DDvUWUU5.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/work-order/workflows/activities/create-or-get-work-report-draft.activity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPDebugService } from '@acorex-platform/framework-client/core';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, get, isString } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport type { AXMMaintenanceManagementWorkOrderEntityModel } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE } from '../work-order-workflow.debug';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface CreateOrGetWorkReportDraftInput {\n workOrderId: string;\n performedById?: string | null;\n}\n\nexport interface CreateOrGetWorkReportDraftOutput {\n workReportId: string;\n created: boolean;\n reused: boolean;\n}\n\n//#endregion\n\n/**\n * Creates a draft work report for a work order or reuses an existing one to prevent duplicates.\n */\n@Injectable({ providedIn: 'root' })\nexport class CreateOrGetWorkReportDraftActivity\n implements AXPCommand<CreateOrGetWorkReportDraftInput, CreateOrGetWorkReportDraftOutput>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly debug = inject(AXPDebugService);\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(\n input: CreateOrGetWorkReportDraftInput,\n ): AXPCommandExecuteResultPromise<CreateOrGetWorkReportDraftOutput> {\n const workOrderId = this.resolveText(input?.workOrderId);\n\n if (!workOrderId) {\n return {\n success: false,\n message: { text: 'workOrderId is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const existing = await this.findWorkReportByWorkOrderId(workOrderId);\n if (existing?.id) {\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Reused existing work report draft',\n { workOrderId, workReportId: existing.id },\n );\n return { success: true, kind: 'object',\n data: {\n workReportId: existing.id,\n created: false,\n reused: true,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n const performedById = await this.resolvePerformedById(workOrderId, input.performedById);\n if (!performedById) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'performedById could not be resolved',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'performedById is required' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n const now = new Date().toISOString();\n const createdId = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .create({\n workOrderId,\n reportedAt: now,\n performedById,\n startedAt: now,\n finalizedAt: null,\n assessments: [],\n } as never);\n\n const workReportId = this.resolveText(createdId);\n if (!workReportId) {\n this.debug.error(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Work report draft creation returned no id',\n { workOrderId },\n );\n return {\n success: false,\n message: { text: 'Work report draft could not be created' },\n metadata: { outcome: 'Failed' },\n };\n }\n\n this.debug.trace(\n AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE,\n 'work-report-draft',\n 'Created work report draft',\n { workOrderId, workReportId, performedById },\n );\n\n return { success: true, kind: 'object',\n data: {\n workReportId,\n created: true,\n reused: false,\n },\n metadata: { outcome: 'Done' },\n };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async resolvePerformedById(workOrderId: string, explicit: unknown): Promise<string> {\n const fromInput = this.resolveText(explicit);\n if (fromInput) {\n return fromInput;\n }\n\n const workOrder = (await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workOrder.name)\n .data()\n .byKey(workOrderId)) as AXMMaintenanceManagementWorkOrderEntityModel | null;\n\n const assignedToId = this.resolveText(workOrder?.assignedToId);\n if (!assignedToId) {\n return '';\n }\n\n const page = await this.entityService\n .withEntity('HumanCapitalManagement', 'Employee')\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'personId', operator: { type: 'equal' }, value: assignedToId }],\n },\n } as never);\n\n const employee = defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n return this.resolveText(employee?.id);\n }\n\n private async findWorkReportByWorkOrderId(workOrderId: string): Promise<{ id?: string } | null> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.workReport.name)\n .data()\n .query({\n skip: 0,\n take: 1,\n filter: {\n logic: 'and',\n filters: [{ field: 'workOrderId', operator: { type: 'equal' }, value: workOrderId }],\n },\n } as never);\n\n return defaultTo(get(page, 'items[0]'), null) as { id?: string } | null;\n }\n\n private resolveText(value: unknown): string {\n if (!isString(value)) {\n return '';\n }\n return value.trim();\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { computed, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
|
+
import { a as AXMMaintenanceIntervalComponent } from './acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-6cXxZPN1.mjs';
|
|
5
|
+
import { r as readMaintenanceIntervalKinds } from './acorex-platform-module-maintenance-management-client-maintenance-interval-widget.kinds-D8Hnq0ct.mjs';
|
|
6
|
+
|
|
7
|
+
//#region ----- Imports -----
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region ----- Component -----
|
|
10
|
+
class AXMMaintenanceIntervalWidgetEditComponent extends AXPValueWidgetComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
//#region ----- Computed Properties -----
|
|
14
|
+
this.supportedKinds = computed(() => readMaintenanceIntervalKinds(this.options(), (path) => this.contextService.getValue(path)), /* @ts-ignore */
|
|
15
|
+
...(ngDevMode ? [{ debugName: "supportedKinds" }] : /* istanbul ignore next */ []));
|
|
16
|
+
this.currentValue = computed(() => this.getValue(), /* @ts-ignore */
|
|
17
|
+
...(ngDevMode ? [{ debugName: "currentValue" }] : /* istanbul ignore next */ []));
|
|
18
|
+
this.isDisabled = computed(() => Boolean(this.options()['disabled']), /* @ts-ignore */
|
|
19
|
+
...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region ----- Event Handlers -----
|
|
23
|
+
onIntervalConfigChange(config) {
|
|
24
|
+
this.setValue(config);
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetEditComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.8", type: AXMMaintenanceIntervalWidgetEditComponent, isStandalone: true, selector: "axm-maintenance-interval-widget-edit", usesInheritance: true, ngImport: i0, template: `
|
|
28
|
+
<axm-maintenance-interval
|
|
29
|
+
[supportedIntervalKinds]="supportedKinds()"
|
|
30
|
+
[value]="currentValue()"
|
|
31
|
+
[disabled]="isDisabled()"
|
|
32
|
+
(valueChange)="onIntervalConfigChange($event)"
|
|
33
|
+
/>
|
|
34
|
+
`, isInline: true, dependencies: [{ kind: "component", type: AXMMaintenanceIntervalComponent, selector: "axm-maintenance-interval", inputs: ["supportedIntervalKinds", "value", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetEditComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: 'axm-maintenance-interval-widget-edit',
|
|
40
|
+
template: `
|
|
41
|
+
<axm-maintenance-interval
|
|
42
|
+
[supportedIntervalKinds]="supportedKinds()"
|
|
43
|
+
[value]="currentValue()"
|
|
44
|
+
[disabled]="isDisabled()"
|
|
45
|
+
(valueChange)="onIntervalConfigChange($event)"
|
|
46
|
+
/>
|
|
47
|
+
`,
|
|
48
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
49
|
+
imports: [AXMMaintenanceIntervalComponent],
|
|
50
|
+
}]
|
|
51
|
+
}] });
|
|
52
|
+
|
|
53
|
+
export { AXMMaintenanceIntervalWidgetEditComponent };
|
|
54
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-CUcsLsuh.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-CUcsLsuh.mjs","sources":["../../../../libs/modules/maintenance-management/client/src/lib/features/maintenance-interval/maintenance-interval-widget-edit.component.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport type { AXMMaintenanceIntervalConfig } from '@acorex-platform/module-maintenance-management-client/contracts';\nimport { ChangeDetectionStrategy, Component, computed } from '@angular/core';\n\nimport { AXMMaintenanceIntervalComponent } from './maintenance-interval.component';\nimport { readMaintenanceIntervalKinds } from './maintenance-interval-widget.kinds';\n\n//#endregion\n\n//#region ----- Component -----\n\n@Component({\n selector: 'axm-maintenance-interval-widget-edit',\n template: `\n <axm-maintenance-interval\n [supportedIntervalKinds]=\"supportedKinds()\"\n [value]=\"currentValue()\"\n [disabled]=\"isDisabled()\"\n (valueChange)=\"onIntervalConfigChange($event)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [AXMMaintenanceIntervalComponent],\n})\nexport class AXMMaintenanceIntervalWidgetEditComponent extends AXPValueWidgetComponent<\n AXMMaintenanceIntervalConfig | null\n> {\n //#region ----- Computed Properties -----\n\n protected readonly supportedKinds = computed(() =>\n readMaintenanceIntervalKinds(this.options(), (path) => this.contextService.getValue(path)),\n );\n\n protected readonly currentValue = computed(() => this.getValue());\n\n protected readonly isDisabled = computed(() => Boolean(this.options()['disabled']));\n\n //#endregion\n\n //#region ----- Event Handlers -----\n\n protected onIntervalConfigChange(config: AXMMaintenanceIntervalConfig): void {\n this.setValue(config);\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;;AAAA;AASA;AAEA;AAeM,MAAO,yCAA0C,SAAQ,uBAE9D,CAAA;AAfD,IAAA,WAAA,GAAA;;;QAkBqB,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAC,MAC3C,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;2FAC3F;QAEkB,IAAA,CAAA,YAAY,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE;yFAAC;AAE9C,QAAA,IAAA,CAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;uFAAC;AAWpF,IAAA;;;AALW,IAAA,sBAAsB,CAAC,MAAoC,EAAA;AACnE,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IACvB;8GAnBW,yCAAyC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sCAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAX1C;;;;;;;AAOT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAES,+BAA+B,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAE9B,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAbrD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,sCAAsC;AAChD,oBAAA,QAAQ,EAAE;;;;;;;AAOT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;AAC3C,iBAAA;;;"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { AXLabelComponent } from '@acorex/components/label';
|
|
2
|
+
import { AXSchedulerPickerService } from '@acorex/components/scheduler-picker';
|
|
3
|
+
import * as i6 from '@acorex/core/translation';
|
|
4
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
|
5
|
+
import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
|
|
6
|
+
import { AXMMaintenanceIntervalUnit, draftFromAXMMaintenanceIntervalConfig, buildAXMMaintenanceIntervalConfig, AXMMaintenanceIntervalTriggerLogic } from '@acorex-platform/module-maintenance-management-client/contracts';
|
|
7
|
+
import { AsyncPipe } from '@angular/common';
|
|
8
|
+
import * as i0 from '@angular/core';
|
|
9
|
+
import { inject, signal, computed, effect, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
10
|
+
import { r as readMaintenanceIntervalKinds } from './acorex-platform-module-maintenance-management-client-maintenance-interval-widget.kinds-D8Hnq0ct.mjs';
|
|
11
|
+
|
|
12
|
+
//#region ----- Imports -----
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region ----- Constants -----
|
|
15
|
+
const I18N = '@maintenance-management:maintenance-interval';
|
|
16
|
+
const UNIT_LABEL_KEYS = {
|
|
17
|
+
[AXMMaintenanceIntervalUnit.Kilometer]: `${I18N}.units.kilometer`,
|
|
18
|
+
[AXMMaintenanceIntervalUnit.Mile]: `${I18N}.units.mile`,
|
|
19
|
+
[AXMMaintenanceIntervalUnit.Hour]: `${I18N}.units.hour`,
|
|
20
|
+
[AXMMaintenanceIntervalUnit.Operation]: `${I18N}.units.operation`,
|
|
21
|
+
};
|
|
22
|
+
const KIND_LABEL_KEYS = {
|
|
23
|
+
date: `${I18N}.kinds.date`,
|
|
24
|
+
distance: `${I18N}.kinds.distance`,
|
|
25
|
+
'operating-hours': `${I18N}.kinds.operating-hours`,
|
|
26
|
+
'operation-count': `${I18N}.kinds.operation-count`,
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region ----- Component -----
|
|
30
|
+
class AXMMaintenanceIntervalWidgetViewComponent extends AXPValueWidgetComponent {
|
|
31
|
+
constructor() {
|
|
32
|
+
super(...arguments);
|
|
33
|
+
//#region ----- Services & Dependencies -----
|
|
34
|
+
this.schedulerPickerService = inject(AXSchedulerPickerService);
|
|
35
|
+
//#endregion
|
|
36
|
+
//#region ----- Constants -----
|
|
37
|
+
this.emptyKey = `${I18N}.empty`;
|
|
38
|
+
this.noneKey = `${I18N}.none`;
|
|
39
|
+
this.everyKey = `${I18N}.every`;
|
|
40
|
+
this.triggerLogicTitleKey = `${I18N}.trigger-logic.title`;
|
|
41
|
+
this.anyKey = `${I18N}.trigger-logic.any`;
|
|
42
|
+
this.allKey = `${I18N}.trigger-logic.all`;
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region ----- State Signals -----
|
|
45
|
+
this.scheduleSummary = signal('', /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "scheduleSummary" }] : /* istanbul ignore next */ []));
|
|
47
|
+
//#endregion
|
|
48
|
+
//#region ----- Computed Properties -----
|
|
49
|
+
this.intervalConfig = computed(() => {
|
|
50
|
+
const supported = readMaintenanceIntervalKinds(this.options(), (path) => this.contextService.getValue(path));
|
|
51
|
+
const draft = draftFromAXMMaintenanceIntervalConfig(this.getValue(), supported);
|
|
52
|
+
return buildAXMMaintenanceIntervalConfig(supported, draft).config;
|
|
53
|
+
}, /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "intervalConfig" }] : /* istanbul ignore next */ []));
|
|
55
|
+
this.hasSupportedKinds = computed(() => readMaintenanceIntervalKinds(this.options(), (path) => this.contextService.getValue(path)).length > 0, /* @ts-ignore */
|
|
56
|
+
...(ngDevMode ? [{ debugName: "hasSupportedKinds" }] : /* istanbul ignore next */ []));
|
|
57
|
+
this.triggers = computed(() => this.intervalConfig().triggers, /* @ts-ignore */
|
|
58
|
+
...(ngDevMode ? [{ debugName: "triggers" }] : /* istanbul ignore next */ []));
|
|
59
|
+
this.showTriggerLogic = computed(() => this.triggers().length > 1, /* @ts-ignore */
|
|
60
|
+
...(ngDevMode ? [{ debugName: "showTriggerLogic" }] : /* istanbul ignore next */ []));
|
|
61
|
+
this.triggerLogicKey = computed(() => this.intervalConfig().triggerLogic === AXMMaintenanceIntervalTriggerLogic.All ? this.allKey : this.anyKey, /* @ts-ignore */
|
|
62
|
+
...(ngDevMode ? [{ debugName: "triggerLogicKey" }] : /* istanbul ignore next */ []));
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region ----- Lifecycle -----
|
|
65
|
+
this.#scheduleSummaryEffect = effect(() => {
|
|
66
|
+
const dateTrigger = this.triggers().find((trigger) => trigger.kind === 'date');
|
|
67
|
+
const schedule = dateTrigger && 'schedule' in dateTrigger ? dateTrigger.schedule : null;
|
|
68
|
+
void this.loadScheduleSummary(schedule);
|
|
69
|
+
}, /* @ts-ignore */
|
|
70
|
+
...(ngDevMode ? [{ debugName: "#scheduleSummaryEffect" }] : /* istanbul ignore next */ []));
|
|
71
|
+
}
|
|
72
|
+
//#endregion
|
|
73
|
+
//#region ----- Lifecycle -----
|
|
74
|
+
#scheduleSummaryEffect;
|
|
75
|
+
//#endregion
|
|
76
|
+
//#region ----- Template helpers -----
|
|
77
|
+
kindLabel(trigger) {
|
|
78
|
+
return KIND_LABEL_KEYS[trigger.kind] ?? '';
|
|
79
|
+
}
|
|
80
|
+
meterText(trigger) {
|
|
81
|
+
if (trigger.kind === 'date') {
|
|
82
|
+
return '';
|
|
83
|
+
}
|
|
84
|
+
return String(trigger.interval);
|
|
85
|
+
}
|
|
86
|
+
unitLabel(trigger) {
|
|
87
|
+
if (trigger.kind === 'date' || trigger.unit == null) {
|
|
88
|
+
return '';
|
|
89
|
+
}
|
|
90
|
+
return UNIT_LABEL_KEYS[trigger.unit];
|
|
91
|
+
}
|
|
92
|
+
scheduleLabel() {
|
|
93
|
+
return this.scheduleSummary();
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region ----- Schedule summary -----
|
|
97
|
+
async loadScheduleSummary(schedule) {
|
|
98
|
+
if (!this.isSchedulerValue(schedule)) {
|
|
99
|
+
this.scheduleSummary.set('');
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
this.scheduleSummary.set(await this.schedulerPickerService.toNaturalLanguage(schedule));
|
|
104
|
+
}
|
|
105
|
+
catch {
|
|
106
|
+
this.scheduleSummary.set('');
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
isSchedulerValue(value) {
|
|
110
|
+
return !!value && typeof value === 'object' && 'mode' in value;
|
|
111
|
+
}
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
113
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMMaintenanceIntervalWidgetViewComponent, isStandalone: true, selector: "axm-maintenance-interval-widget-view", usesInheritance: true, ngImport: i0, template: "<!-- ----- Nothing to configure, or no interval is enabled ----- -->\n@if (triggers().length === 0) {\n <!-- ----- Asset type supports intervals, but none are enabled ----- -->\n @if (hasSupportedKinds()) {\n <span class=\"ax-text-muted\">{{ noneKey | translate | async }}</span>\n }\n <!-- ----- Asset type has no supported interval kinds ----- -->\n @else {\n <span class=\"ax-text-muted\">{{ emptyKey | translate | async }}</span>\n }\n}\n\n@for (trigger of triggers(); track trigger.kind) {\n <div class=\"mt-2\">\n <ax-label>{{ kindLabel(trigger) | translate | async }}</ax-label>\n <!-- ----- Date shows the existing scheduler summary ----- -->\n @if (trigger.kind === 'date') {\n <span class=\"ms-2\">{{ scheduleLabel() }}</span>\n }\n <!-- ----- Meter interval shows the amount and unit ----- -->\n @else {\n <span class=\"ms-2\">{{ everyKey | translate | async }} {{ meterText(trigger) }} {{ unitLabel(trigger) | translate | async }}</span>\n }\n </div>\n}\n\n<!-- ----- Trigger condition when more than one interval is configured ----- -->\n@if (showTriggerLogic()) {\n <div class=\"mt-3\">\n <ax-label>{{ triggerLogicTitleKey | translate | async }}</ax-label>\n <span class=\"ms-2\">{{ triggerLogicKey() | translate | async }}</span>\n </div>\n}\n", dependencies: [{ kind: "ngmodule", type: AXTranslationModule }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
114
|
+
}
|
|
115
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetViewComponent, decorators: [{
|
|
116
|
+
type: Component,
|
|
117
|
+
args: [{ selector: 'axm-maintenance-interval-widget-view', changeDetection: ChangeDetectionStrategy.OnPush, imports: [AsyncPipe, AXTranslationModule, AXLabelComponent], template: "<!-- ----- Nothing to configure, or no interval is enabled ----- -->\n@if (triggers().length === 0) {\n <!-- ----- Asset type supports intervals, but none are enabled ----- -->\n @if (hasSupportedKinds()) {\n <span class=\"ax-text-muted\">{{ noneKey | translate | async }}</span>\n }\n <!-- ----- Asset type has no supported interval kinds ----- -->\n @else {\n <span class=\"ax-text-muted\">{{ emptyKey | translate | async }}</span>\n }\n}\n\n@for (trigger of triggers(); track trigger.kind) {\n <div class=\"mt-2\">\n <ax-label>{{ kindLabel(trigger) | translate | async }}</ax-label>\n <!-- ----- Date shows the existing scheduler summary ----- -->\n @if (trigger.kind === 'date') {\n <span class=\"ms-2\">{{ scheduleLabel() }}</span>\n }\n <!-- ----- Meter interval shows the amount and unit ----- -->\n @else {\n <span class=\"ms-2\">{{ everyKey | translate | async }} {{ meterText(trigger) }} {{ unitLabel(trigger) | translate | async }}</span>\n }\n </div>\n}\n\n<!-- ----- Trigger condition when more than one interval is configured ----- -->\n@if (showTriggerLogic()) {\n <div class=\"mt-3\">\n <ax-label>{{ triggerLogicTitleKey | translate | async }}</ax-label>\n <span class=\"ms-2\">{{ triggerLogicKey() | translate | async }}</span>\n </div>\n}\n" }]
|
|
118
|
+
}] });
|
|
119
|
+
|
|
120
|
+
export { AXMMaintenanceIntervalWidgetViewComponent };
|
|
121
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-maintenance-interval-widget-view.component-CM0Wokah.mjs.map
|