@acorex-platform/module-maintenance-management-client 0.0.70 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/fesm2022/{acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-DzBAGvuZ.mjs → acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-C3cGlFKd.mjs} +118 -43
  2. package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-C3cGlFKd.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-plan.mjs +26 -3
  4. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-maintenance-plan.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-order.mjs +1 -1
  6. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entities-work-order.mjs.map +1 -1
  7. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-Dgu63wyv.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-B3VyUXZS.mjs} +27 -27
  8. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-Dgu63wyv.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-acorex-platform-module-maintenance-management-client-contracts-entity-catalog-B3VyUXZS.mjs.map} +1 -1
  9. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-CePSpBHM.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-CsYZTxT_.mjs} +2 -2
  10. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-CePSpBHM.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-asset-type.entity-CsYZTxT_.mjs.map} +1 -1
  11. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-Bfvk4GcQ.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-Bh5dBgpo.mjs} +2 -2
  12. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-Bfvk4GcQ.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type-resource.entity-Bh5dBgpo.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-Jy3BDuNN.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-DvO6Fzyy.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-Jy3BDuNN.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-activity-type.entity-DvO6Fzyy.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-CCgWn686.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-PdvjV4lk.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-CCgWn686.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-cause.entity-PdvjV4lk.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-r_GaKV4C.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-BV-O5oRI.mjs} +2 -2
  18. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-r_GaKV4C.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-detection.entity-BV-O5oRI.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-BC8cmP-E.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-GqFBuuiR.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-BC8cmP-E.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-effect.entity-GqFBuuiR.mjs.map} +1 -1
  21. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-DkyVyX8d.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-CiqHDstL.mjs} +2 -2
  22. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-DkyVyX8d.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mechanism.entity-CiqHDstL.mjs.map} +1 -1
  23. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-WxiHq42o.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-TcC_1stz.mjs} +2 -2
  24. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-WxiHq42o.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-asset-type.entity-TcC_1stz.mjs.map} +1 -1
  25. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-B1yGBbFQ.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-q2O4YHPk.mjs} +2 -2
  26. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-B1yGBbFQ.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-mechanism.entity-q2O4YHPk.mjs.map} +1 -1
  27. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-Bquvs5zg.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-CeyOYGAL.mjs} +2 -2
  28. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-Bquvs5zg.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode-solution.entity-CeyOYGAL.mjs.map} +1 -1
  29. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-DU4i03Hi.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-CDWqPcEx.mjs} +2 -2
  30. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-DU4i03Hi.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-mode.entity-CDWqPcEx.mjs.map} +1 -1
  31. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-DvO7KoEq.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-6GS66uos.mjs} +2 -2
  32. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-DvO7KoEq.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-cause.entity-6GS66uos.mjs.map} +1 -1
  33. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-DK702y8j.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-BDsiwqyj.mjs} +2 -2
  34. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-DK702y8j.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-effect.entity-BDsiwqyj.mjs.map} +1 -1
  35. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-Dua1ufeE.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-DYX8gBDO.mjs} +2 -2
  36. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-Dua1ufeE.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register-mechanism.entity-DYX8gBDO.mjs.map} +1 -1
  37. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-Cs-SLfHm.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-DWKPDUB7.mjs} +2 -2
  38. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-Cs-SLfHm.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-register.entity-DWKPDUB7.mjs.map} +1 -1
  39. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-C-vkhC0g.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-wHk-6VCb.mjs} +2 -2
  40. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-C-vkhC0g.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-severity.entity-wHk-6VCb.mjs.map} +1 -1
  41. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-DEcLe9MD.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-tTg4D_-N.mjs} +2 -2
  42. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-DEcLe9MD.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-failure-type.entity-tTg4D_-N.mjs.map} +1 -1
  43. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-R0UVSWKi.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-BwsjdQur.mjs} +28 -5
  44. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-BwsjdQur.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-C3KERG4U.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-CCx9h8Gq.mjs} +2 -2
  46. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-C3KERG4U.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-activity-type.entity-CCx9h8Gq.mjs.map} +1 -1
  47. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-EXXJjDYH.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-BlfNXvBw.mjs} +2 -2
  48. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-EXXJjDYH.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-failure-mode.entity-BlfNXvBw.mjs.map} +1 -1
  49. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-CrMPuOD8.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-2lGT7_Xi.mjs} +2 -2
  50. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-CrMPuOD8.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template-resource.entity-2lGT7_Xi.mjs.map} +1 -1
  51. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-Bn2DAaNN.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-bJKzxAis.mjs} +2 -2
  52. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-Bn2DAaNN.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-template.entity-bJKzxAis.mjs.map} +1 -1
  53. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-DS8_oRB7.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-j2eyDg9O.mjs} +2 -2
  54. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-DS8_oRB7.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-type.entity-j2eyDg9O.mjs.map} +1 -1
  55. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-DS1RPQ-I.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-DFJdx9Km.mjs} +3 -3
  56. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-DS1RPQ-I.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-order.entity-DFJdx9Km.mjs.map} +1 -1
  57. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-BUMsgLTC.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-DM60G8nP.mjs} +2 -2
  58. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-BUMsgLTC.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-package.entity-DM60G8nP.mjs.map} +1 -1
  59. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-V0CqICBq.mjs → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-DOvNijen.mjs} +2 -2
  60. package/fesm2022/{acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-V0CqICBq.mjs.map → acorex-platform-module-maintenance-management-client-contracts-entity-catalog-work-report.entity-DOvNijen.mjs.map} +1 -1
  61. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog.mjs +1 -1
  62. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs +475 -3
  63. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts.mjs.map +1 -1
  64. package/fesm2022/{acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BWN_yXC0.mjs → acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-C-K8mD4N.mjs} +2 -2
  65. package/fesm2022/{acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BWN_yXC0.mjs.map → acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-C-K8mD4N.mjs.map} +1 -1
  66. package/fesm2022/{acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-6MzY-uB0.mjs → acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-b8sTwXxe.mjs} +2 -2
  67. package/fesm2022/{acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-6MzY-uB0.mjs.map → acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-b8sTwXxe.mjs.map} +1 -1
  68. package/fesm2022/acorex-platform-module-maintenance-management-client-open-work-order-checklist-form.command-C6rDOolF.mjs +596 -0
  69. package/fesm2022/acorex-platform-module-maintenance-management-client-open-work-order-checklist-form.command-C6rDOolF.mjs.map +1 -0
  70. package/fesm2022/{acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-v1gioM7S.mjs → acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-StzIetk8.mjs} +2 -2
  71. package/fesm2022/{acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-v1gioM7S.mjs.map → acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-StzIetk8.mjs.map} +1 -1
  72. package/fesm2022/acorex-platform-module-maintenance-management-client-sign-off-work-order.command-Ca8WbM3R.mjs +217 -0
  73. package/fesm2022/acorex-platform-module-maintenance-management-client-sign-off-work-order.command-Ca8WbM3R.mjs.map +1 -0
  74. package/fesm2022/acorex-platform-module-maintenance-management-client-start-work-order-flow-id.util-CuUi8LBT.mjs +123 -0
  75. package/fesm2022/acorex-platform-module-maintenance-management-client-start-work-order-flow-id.util-CuUi8LBT.mjs.map +1 -0
  76. package/fesm2022/{acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CW_9ROmv.mjs → acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CNau6u4p.mjs} +263 -35
  77. package/fesm2022/acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CNau6u4p.mjs.map +1 -0
  78. package/fesm2022/{acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-BTaGzrEt.mjs → acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-DDJHrYkP.mjs} +2 -2
  79. package/fesm2022/{acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-BTaGzrEt.mjs.map → acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-DDJHrYkP.mjs.map} +1 -1
  80. package/fesm2022/{acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BtDv8ueZ.mjs → acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-DcBxsEci.mjs} +2 -2
  81. package/fesm2022/{acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BtDv8ueZ.mjs.map → acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-DcBxsEci.mjs.map} +1 -1
  82. package/fesm2022/acorex-platform-module-maintenance-management-client.mjs +1 -1
  83. package/i18n/en-AU/maintenance-management.json +52 -5
  84. package/i18n/en-US/maintenance-management.json +52 -5
  85. package/i18n/fa-IR/maintenance-management.json +52 -5
  86. package/package.json +3 -2
  87. package/types/acorex-platform-module-maintenance-management-client-contracts.d.ts +153 -2
  88. package/types/acorex-platform-module-maintenance-management-client.d.ts +3 -2
  89. package/fesm2022/acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-DzBAGvuZ.mjs.map +0 -1
  90. package/fesm2022/acorex-platform-module-maintenance-management-client-contracts-entity-catalog-maintenance-plan.entity-R0UVSWKi.mjs.map +0 -1
  91. package/fesm2022/acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CW_9ROmv.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
- import * as i2 from '@acorex/components/check-box';
2
- import { AXCheckBoxModule } from '@acorex/components/check-box';
1
+ import * as i2 from '@acorex/components/switch';
2
+ import { AXSwitchModule } from '@acorex/components/switch';
3
3
  import * as i6 from '@acorex/components/datetime-box';
4
4
  import { AXDateTimeBoxModule } from '@acorex/components/datetime-box';
5
5
  import * as i2$1 from '@acorex/components/decorators';
@@ -12,7 +12,7 @@ import * as i5 from '@acorex/components/selection-list';
12
12
  import { AXSelectionListModule } from '@acorex/components/selection-list';
13
13
  import * as i7 from '@acorex/core/translation';
14
14
  import { AXTranslationModule, isValidMultiLanguageObject, resolveMultiLanguageString, AXTranslationService, createMultiLanguageString } from '@acorex/core/translation';
15
- import { AXMMaintenanceIntervalUnit, emptyAXMMaintenanceIntervalConfig, AXMMaintenanceIntervalTriggerLogic, emptyAXMMaintenanceIntervalDraft, buildAXMMaintenanceIntervalConfig, draftFromAXMMaintenanceIntervalConfig, isAXMMaintenanceMeterKind, isAXMMaintenanceIntervalUnitForKind, readIntervalDate, isAXMMaintenanceIntervalKind, readMaintenancePlanCalendarSchedule, AXMWorkOrderSourceType, AXMWorkOrderStatus, RootConfig, readMaintenanceIntervalStates, resolveMaintenanceIntervalStates, AXM_MAINTENANCE_INTERVAL_STATE_ERRORS, AXMMaintenanceManagementCommandKeys, MM_CATALOG_SCOPE_MN, AXM_MAINTENANCE_INTERVAL_WIDGET, AXPAssetsMaintenancePermissionKeys, AXMMaintenanceManagementMenuKeys } from '@acorex-platform/module-maintenance-management-client/contracts';
15
+ import { AXMMaintenanceIntervalUnit, readIntervalDate, emptyAXMMaintenanceIntervalConfig, AXMMaintenanceIntervalTriggerLogic, emptyAXMMaintenanceIntervalDraft, buildAXMMaintenanceIntervalConfig, draftFromAXMMaintenanceIntervalConfig, isAXMMaintenanceMeterKind, isAXMMaintenanceIntervalUnitForKind, isAXMMaintenanceIntervalKind, readMaintenancePlanCalendarSchedule, AXMWorkOrderSourceType, AXMWorkOrderStatus, RootConfig, readMaintenanceIntervalStates, resolveMaintenanceIntervalStates, AXM_MAINTENANCE_INTERVAL_STATE_ERRORS, resolveIntervalChecklistViewerMode, AXMMaintenanceManagementCommandKeys, MM_CATALOG_SCOPE_MN, AXM_MAINTENANCE_INTERVAL_WIDGET, AXPAssetsMaintenancePermissionKeys, AXMMaintenanceManagementMenuKeys } from '@acorex-platform/module-maintenance-management-client/contracts';
16
16
  import { AsyncPipe } from '@angular/common';
17
17
  import * as i0 from '@angular/core';
18
18
  import { input, output, signal, computed, effect, ChangeDetectionStrategy, Component, inject, Injectable, NgModule } from '@angular/core';
@@ -28,6 +28,7 @@ import { AXDialogService } from '@acorex/components/dialog';
28
28
  import { AXToastService } from '@acorex/components/toast';
29
29
  import { AXP_IDENTIFIER_SERVICE } from '@acorex-platform/module-identifier-management-client';
30
30
  import { isString, get, isNumber, defaultTo, isObject, isEmpty, isNil } from 'lodash';
31
+ import { mergeMissingPersistedAnswers } from '@acorex-platform/module-assessment-management-client/contracts';
31
32
  import { AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';
32
33
  import { AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';
33
34
  import { AXPCommonMenuKeys, AXPCommonPermissionGroupKeys } from '@acorex-platform/module-common-client/contracts';
@@ -41,7 +42,16 @@ const AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE = 'maintenance-management';
41
42
  //#region ----- Constants -----
42
43
  const I18N$2 = '@maintenance-management:maintenance-interval';
43
44
  const KIND_ORDER = ['schedule', 'date', 'distance', 'operating-hours', 'operation-count'];
44
- const SCHEDULE_MODES = ['hourly', 'daily', 'weekly', 'monthly', 'yearly'];
45
+ const SCHEDULE_MODES = [
46
+ 'hourly',
47
+ 'daily',
48
+ 'weekly',
49
+ 'monthly',
50
+ 'yearly',
51
+ 'specific-date',
52
+ ];
53
+ /** Shown in the Schedule section. Hourly and Yearly stay readable so existing rows still load. */
54
+ const VISIBLE_SCHEDULE_MODES = ['daily', 'weekly', 'monthly', 'specific-date'];
45
55
  const LABEL_KEYS = {
46
56
  schedule: `${I18N$2}.kinds.schedule`,
47
57
  date: `${I18N$2}.kinds.date`,
@@ -67,10 +77,14 @@ const SCHEDULE_MODE_LABEL_KEYS = {
67
77
  weekly: `${I18N$2}.recurrence-unit.weekly`,
68
78
  monthly: `${I18N$2}.recurrence-unit.monthly`,
69
79
  yearly: `${I18N$2}.recurrence-unit.yearly`,
80
+ 'specific-date': `${I18N$2}.recurrence-unit.specific-date`,
70
81
  };
71
82
  function isScheduleMode(value) {
72
83
  return typeof value === 'string' && SCHEDULE_MODES.includes(value);
73
84
  }
85
+ function isPickerScheduleMode(value) {
86
+ return isScheduleMode(value) && value !== 'specific-date';
87
+ }
74
88
  /** Existing schedules without a mode stay daily so legacy daily rows keep working. */
75
89
  function readScheduleMode(schedule) {
76
90
  if (schedule && typeof schedule === 'object' && 'mode' in schedule) {
@@ -82,6 +96,15 @@ function readScheduleMode(schedule) {
82
96
  return 'daily';
83
97
  }
84
98
  function createScheduleSettings(mode) {
99
+ if (mode === 'specific-date') {
100
+ return {
101
+ mode: 'daily',
102
+ showStartCondition: false,
103
+ showEndConditions: false,
104
+ showExclusions: false,
105
+ showInclusions: false,
106
+ };
107
+ }
85
108
  const shared = {
86
109
  mode,
87
110
  showStartCondition: true,
@@ -131,6 +154,22 @@ function withScheduleMode(schedule, mode) {
131
154
  recurrence: {},
132
155
  };
133
156
  }
157
+ /** One calendar day, stored on the existing schedule start date. */
158
+ function withSpecificDate(date) {
159
+ return {
160
+ mode: 'specific-date',
161
+ interval: 1,
162
+ startCondition: { type: 'byDate', ...(date ? { startDate: date } : {}) },
163
+ endCondition: { type: 'never' },
164
+ };
165
+ }
166
+ function readScheduleStartDate(schedule) {
167
+ if (!schedule || typeof schedule !== 'object') {
168
+ return null;
169
+ }
170
+ const start = schedule.startCondition?.startDate;
171
+ return readIntervalDate(start);
172
+ }
134
173
  function stable(value) {
135
174
  return JSON.stringify(value, (_key, item) => (item instanceof Date ? item.toISOString() : item));
136
175
  }
@@ -174,7 +213,6 @@ class AXMMaintenanceIntervalComponent {
174
213
  this.titleKey = `${I18N$2}.title`;
175
214
  this.everyKey = `${I18N$2}.every`;
176
215
  this.emptyKey = `${I18N$2}.empty`;
177
- this.recurrenceUnitKey = `${I18N$2}.recurrence-unit.title`;
178
216
  this.triggerLogicTitleKey = `${I18N$2}.trigger-logic.title`;
179
217
  this.triggerLogic = AXMMaintenanceIntervalTriggerLogic;
180
218
  this.distanceUnits = [
@@ -185,7 +223,7 @@ class AXMMaintenanceIntervalComponent {
185
223
  { id: AXMMaintenanceIntervalTriggerLogic.Any, text: `${I18N$2}.trigger-logic.any` },
186
224
  { id: AXMMaintenanceIntervalTriggerLogic.All, text: `${I18N$2}.trigger-logic.all` },
187
225
  ];
188
- this.scheduleModeItems = SCHEDULE_MODES.map((mode) => ({
226
+ this.scheduleModeItems = VISIBLE_SCHEDULE_MODES.map((mode) => ({
189
227
  id: mode,
190
228
  text: SCHEDULE_MODE_LABEL_KEYS[mode],
191
229
  }));
@@ -204,6 +242,8 @@ class AXMMaintenanceIntervalComponent {
204
242
  ...(ngDevMode ? [{ debugName: "scheduleValue" }] : /* istanbul ignore next */ []));
205
243
  this.selectedScheduleMode = computed(() => readScheduleMode(this.draft().schedule), /* @ts-ignore */
206
244
  ...(ngDevMode ? [{ debugName: "selectedScheduleMode" }] : /* istanbul ignore next */ []));
245
+ this.specificDate = computed(() => readScheduleStartDate(this.draft().schedule), /* @ts-ignore */
246
+ ...(ngDevMode ? [{ debugName: "specificDate" }] : /* istanbul ignore next */ []));
207
247
  this.scheduleSettings = computed(() => createScheduleSettings(this.selectedScheduleMode()), /* @ts-ignore */
208
248
  ...(ngDevMode ? [{ debugName: "scheduleSettings" }] : /* istanbul ignore next */ []));
209
249
  this.sections = computed(() => {
@@ -320,7 +360,12 @@ class AXMMaintenanceIntervalComponent {
320
360
  }
321
361
  const draft = this.draft();
322
362
  const mode = this.selectedScheduleMode();
323
- const next = value ? withScheduleMode(value, isScheduleMode(value.mode) ? value.mode : mode) : value;
363
+ const picked = value && isPickerScheduleMode(value.mode)
364
+ ? value.mode
365
+ : isPickerScheduleMode(mode)
366
+ ? mode
367
+ : 'daily';
368
+ const next = value ? withScheduleMode(value, picked) : value;
324
369
  if (stable(draft.schedule) === stable(next)) {
325
370
  return;
326
371
  }
@@ -335,13 +380,31 @@ class AXMMaintenanceIntervalComponent {
335
380
  return;
336
381
  }
337
382
  const draft = this.draft();
338
- const current = draft.schedule;
339
- if (!current || readScheduleMode(current) === mode) {
383
+ const current = draft.schedule ?? createDefaultSchedule();
384
+ if (readScheduleMode(current) === mode) {
340
385
  return;
341
386
  }
387
+ const next = mode === 'specific-date'
388
+ ? withSpecificDate(readScheduleStartDate(current))
389
+ : withScheduleMode(current, mode);
342
390
  this.commit({
343
391
  ...draft,
344
- schedule: withScheduleMode(current, mode),
392
+ schedule: next,
393
+ });
394
+ }
395
+ onSpecificDate(event) {
396
+ if (!event.isUserInteraction || this.disabled()) {
397
+ return;
398
+ }
399
+ const date = readIntervalDate(event.value);
400
+ const draft = this.draft();
401
+ const current = draft.schedule ?? createDefaultSchedule();
402
+ if (readScheduleMode(current) === 'specific-date' && readScheduleStartDate(current) === date) {
403
+ return;
404
+ }
405
+ this.commit({
406
+ ...draft,
407
+ schedule: withSpecificDate(date),
345
408
  });
346
409
  }
347
410
  onTriggerLogic(event) {
@@ -433,7 +496,7 @@ class AXMMaintenanceIntervalComponent {
433
496
  this.valueChange.emit(config);
434
497
  }
435
498
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
436
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMMaintenanceIntervalComponent, isStandalone: true, selector: "axm-maintenance-interval", inputs: { supportedIntervalKinds: { classPropertyName: "supportedIntervalKinds", publicName: "supportedIntervalKinds", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "block" }, ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <span class=\"text-sm font-medium\">{{ titleKey | translate | async }}</span>\n\n <!-- ----- No interval sections when the asset type supports none ----- -->\n @if (sections().length === 0) {\n <p class=\"ax-text-muted\">{{ emptyKey | translate | async }}</p>\n }\n\n @for (section of sections(); track section.kind) {\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex items-center gap-2\">\n <ax-check-box\n [ngModel]=\"section.enabled\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onEnabled(section.kind, $event)\"\n ></ax-check-box>\n <ax-label>{{ section.labelKey | translate | async }}</ax-label>\n </div>\n\n <!-- ----- Schedule interval reuses the scheduler picker ----- -->\n @if (section.enabled && section.editor === 'schedule') {\n <div class=\"flex flex-col gap-3 ps-7\">\n <div class=\"flex flex-wrap items-center gap-3\">\n <ax-label>{{ recurrenceUnitKey | translate | async }}</ax-label>\n <ax-selection-list\n [items]=\"scheduleModeItems\"\n [ngModel]=\"selectedScheduleMode()\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onScheduleMode($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n <ax-scheduler-picker\n [config]=\"scheduleSettings()\"\n [ngModel]=\"scheduleValue()\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onSchedule($event)\"\n />\n <!-- ----- Schedule is required while Schedule is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Date interval is a single date ----- -->\n @else if (section.enabled && section.editor === 'date') {\n <div class=\"ps-7\">\n <ax-datetime-box\n picker=\"date\"\n [ngModel]=\"section.date\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onDate($event)\"\n ></ax-datetime-box>\n <!-- ----- A date is required while Date is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Distance interval with a kilometer or mile choice ----- -->\n @else if (section.enabled && section.editor === 'distance') {\n <div class=\"flex flex-wrap items-end gap-3 ps-7\">\n <span>{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval('distance', $event)\"\n ></ax-number-box>\n <ax-selection-list\n [items]=\"distanceUnits\"\n [ngModel]=\"section.unitId\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onDistanceUnit($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n <!-- ----- Positive distance is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"ps-7 text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n }\n <!-- ----- Operating hours or operation count with a fixed unit ----- -->\n @else if (section.enabled && section.editor === 'meter') {\n <div class=\"flex flex-wrap items-end gap-3 ps-7\">\n <span>{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval(section.meterKind ?? 'operating-hours', $event)\"\n >\n <ax-suffix>{{ section.unitLabelKey | translate | async }}</ax-suffix>\n </ax-number-box>\n </div>\n <!-- ----- Positive meter interval is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"ps-7 text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n }\n </div>\n }\n\n <!-- ----- Trigger condition when more than one interval is enabled ----- -->\n @if (showTriggerLogic()) {\n <div class=\"flex flex-col gap-2\">\n <ax-label>{{ triggerLogicTitleKey | translate | async }}</ax-label>\n <ax-selection-list\n [items]=\"triggerLogicItems\"\n [ngModel]=\"selectedTriggerLogic()\"\n [disabled]=\"disabled()\"\n direction=\"vertical\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onTriggerLogic($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXCheckBoxModule }, { kind: "component", type: i2.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "isLoading", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i5.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXSchedulerPickerComponent, selector: "ax-scheduler-picker", inputs: ["disabled", "readonly", "tabIndex", "value", "state", "name", "id", "config"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "summaryChange"] }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i6.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "calendarLook", "yearRange", "boxLook", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
499
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMMaintenanceIntervalComponent, isStandalone: true, selector: "axm-maintenance-interval", inputs: { supportedIntervalKinds: { classPropertyName: "supportedIntervalKinds", publicName: "supportedIntervalKinds", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { classAttribute: "block" }, ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <span class=\"text-sm font-medium\">{{ titleKey | translate | async }}</span>\n\n <!-- ----- No interval sections when the asset type supports none ----- -->\n @if (sections().length === 0) {\n <p class=\"ax-text-muted\">{{ emptyKey | translate | async }}</p>\n }\n\n @for (section of sections(); track section.kind) {\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex items-center gap-2\">\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"section.enabled\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onEnabled(section.kind, $event)\"\n ></ax-switch>\n <ax-label>{{ section.labelKey | translate | async }}</ax-label>\n </div>\n\n <!-- ----- Schedule interval reuses the scheduler picker ----- -->\n @if (section.enabled && section.editor === 'schedule') {\n <div class=\"flex flex-col gap-3 ps-7\">\n <ax-selection-list\n [items]=\"scheduleModeItems\"\n [ngModel]=\"selectedScheduleMode()\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onScheduleMode($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n <!-- ----- Specific Date uses the date box; other modes keep the scheduler picker ----- -->\n @if (selectedScheduleMode() === 'specific-date') {\n <ax-datetime-box\n picker=\"date\"\n [ngModel]=\"specificDate()\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onSpecificDate($event)\"\n ></ax-datetime-box>\n }\n <!-- ----- Daily, weekly, and monthly recurrence stay on the scheduler picker ----- -->\n @else {\n <ax-scheduler-picker\n [config]=\"scheduleSettings()\"\n [ngModel]=\"scheduleValue()\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onSchedule($event)\"\n />\n }\n <!-- ----- Schedule is required while Schedule is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Date interval is a single date ----- -->\n @else if (section.enabled && section.editor === 'date') {\n <div class=\"ps-7\">\n <ax-datetime-box\n picker=\"date\"\n [ngModel]=\"section.date\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onDate($event)\"\n ></ax-datetime-box>\n <!-- ----- A date is required while Date is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Distance interval with a kilometer or mile choice ----- -->\n @else if (section.enabled && section.editor === 'distance') {\n <div class=\"flex flex-nowrap items-center gap-3 overflow-x-auto ps-7\">\n <span class=\"shrink-0\">{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36 shrink-0\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval('distance', $event)\"\n ></ax-number-box>\n <ax-selection-list\n class=\"!w-fit shrink-0 [&_ul]:!flex-nowrap\"\n [items]=\"distanceUnits\"\n [ngModel]=\"section.unitId\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onDistanceUnit($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n <!-- ----- Positive distance is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"ps-7 text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n }\n <!-- ----- Operating hours or operation count with a fixed unit ----- -->\n @else if (section.enabled && section.editor === 'meter') {\n <div class=\"flex flex-col gap-1 ps-7\">\n <div class=\"flex flex-nowrap items-center gap-3\">\n <span class=\"shrink-0\">{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36 shrink-0\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval(section.meterKind ?? 'operating-hours', $event)\"\n >\n <ax-suffix>{{ section.unitLabelKey | translate | async }}</ax-suffix>\n </ax-number-box>\n </div>\n <!-- ----- Positive meter interval is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n </div>\n }\n\n <!-- ----- Trigger condition when more than one interval is enabled ----- -->\n @if (showTriggerLogic()) {\n <div class=\"flex flex-col gap-2\">\n <ax-label>{{ triggerLogicTitleKey | translate | async }}</ax-label>\n <ax-selection-list\n [items]=\"triggerLogicItems\"\n [ngModel]=\"selectedTriggerLogic()\"\n [disabled]=\"disabled()\"\n direction=\"vertical\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onTriggerLogic($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "ngmodule", type: AXSwitchModule }, { kind: "component", type: i2.AXSwitchComponent, selector: "ax-switch", inputs: ["disabled", "readonly", "color", "tabIndex", "value", "name", "isLoading"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged", "readonlyChange", "disabledChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2$1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXLabelComponent, selector: "ax-label", inputs: ["required", "for"], outputs: ["requiredChange"] }, { kind: "ngmodule", type: AXNumberBoxModule }, { kind: "component", type: i4.AXNumberBoxComponent, selector: "ax-number-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "value", "state", "name", "id", "look", "minValue", "maxValue", "showSpinButtons", "thousandsSeparator", "decimals", "changeOnScroll", "step"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onKeyDown", "onKeyUp", "onKeyPress", "thousandsSeparatorChange"] }, { kind: "ngmodule", type: AXSelectionListModule }, { kind: "component", type: i5.AXSelectionListComponent, selector: "ax-selection-list", inputs: ["id", "name", "disabled", "readonly", "tabIndex", "value", "valueField", "textField", "disabledField", "readonlyField", "multiple", "direction", "customTemplate", "showControl", "items", "look"], outputs: ["onValueChanged", "onBlur", "onFocus"] }, { kind: "component", type: AXSchedulerPickerComponent, selector: "ax-scheduler-picker", inputs: ["disabled", "readonly", "tabIndex", "value", "state", "name", "id", "config"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "summaryChange"] }, { kind: "ngmodule", type: AXDateTimeBoxModule }, { kind: "component", type: i6.AXDateTimeBoxComponent, selector: "ax-datetime-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "depth", "id", "type", "look", "holidayDates", "allowTyping", "picker", "calendar", "weekend", "weekdays", "calendarLook", "yearRange", "boxLook", "format"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "onOpened", "onClosed", "readonlyChange", "disabledChange", "formatChange"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
437
500
  }
438
501
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalComponent, decorators: [{
439
502
  type: Component,
@@ -441,14 +504,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
441
504
  AsyncPipe,
442
505
  FormsModule,
443
506
  AXTranslationModule,
444
- AXCheckBoxModule,
507
+ AXSwitchModule,
445
508
  AXDecoratorModule,
446
509
  AXLabelComponent,
447
510
  AXNumberBoxModule,
448
511
  AXSelectionListModule,
449
512
  AXSchedulerPickerComponent,
450
513
  AXDateTimeBoxModule,
451
- ], host: { class: 'block' }, template: "<div class=\"flex flex-col gap-4\">\n <span class=\"text-sm font-medium\">{{ titleKey | translate | async }}</span>\n\n <!-- ----- No interval sections when the asset type supports none ----- -->\n @if (sections().length === 0) {\n <p class=\"ax-text-muted\">{{ emptyKey | translate | async }}</p>\n }\n\n @for (section of sections(); track section.kind) {\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex items-center gap-2\">\n <ax-check-box\n [ngModel]=\"section.enabled\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onEnabled(section.kind, $event)\"\n ></ax-check-box>\n <ax-label>{{ section.labelKey | translate | async }}</ax-label>\n </div>\n\n <!-- ----- Schedule interval reuses the scheduler picker ----- -->\n @if (section.enabled && section.editor === 'schedule') {\n <div class=\"flex flex-col gap-3 ps-7\">\n <div class=\"flex flex-wrap items-center gap-3\">\n <ax-label>{{ recurrenceUnitKey | translate | async }}</ax-label>\n <ax-selection-list\n [items]=\"scheduleModeItems\"\n [ngModel]=\"selectedScheduleMode()\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onScheduleMode($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n <ax-scheduler-picker\n [config]=\"scheduleSettings()\"\n [ngModel]=\"scheduleValue()\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onSchedule($event)\"\n />\n <!-- ----- Schedule is required while Schedule is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Date interval is a single date ----- -->\n @else if (section.enabled && section.editor === 'date') {\n <div class=\"ps-7\">\n <ax-datetime-box\n picker=\"date\"\n [ngModel]=\"section.date\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onDate($event)\"\n ></ax-datetime-box>\n <!-- ----- A date is required while Date is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Distance interval with a kilometer or mile choice ----- -->\n @else if (section.enabled && section.editor === 'distance') {\n <div class=\"flex flex-wrap items-end gap-3 ps-7\">\n <span>{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval('distance', $event)\"\n ></ax-number-box>\n <ax-selection-list\n [items]=\"distanceUnits\"\n [ngModel]=\"section.unitId\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onDistanceUnit($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n <!-- ----- Positive distance is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"ps-7 text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n }\n <!-- ----- Operating hours or operation count with a fixed unit ----- -->\n @else if (section.enabled && section.editor === 'meter') {\n <div class=\"flex flex-wrap items-end gap-3 ps-7\">\n <span>{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval(section.meterKind ?? 'operating-hours', $event)\"\n >\n <ax-suffix>{{ section.unitLabelKey | translate | async }}</ax-suffix>\n </ax-number-box>\n </div>\n <!-- ----- Positive meter interval is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"ps-7 text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n }\n </div>\n }\n\n <!-- ----- Trigger condition when more than one interval is enabled ----- -->\n @if (showTriggerLogic()) {\n <div class=\"flex flex-col gap-2\">\n <ax-label>{{ triggerLogicTitleKey | translate | async }}</ax-label>\n <ax-selection-list\n [items]=\"triggerLogicItems\"\n [ngModel]=\"selectedTriggerLogic()\"\n [disabled]=\"disabled()\"\n direction=\"vertical\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onTriggerLogic($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n }\n</div>\n" }]
514
+ ], host: { class: 'block' }, template: "<div class=\"flex flex-col gap-4\">\n <span class=\"text-sm font-medium\">{{ titleKey | translate | async }}</span>\n\n <!-- ----- No interval sections when the asset type supports none ----- -->\n @if (sections().length === 0) {\n <p class=\"ax-text-muted\">{{ emptyKey | translate | async }}</p>\n }\n\n @for (section of sections(); track section.kind) {\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex items-center gap-2\">\n <ax-switch\n class=\"ax-sm\"\n [ngModel]=\"section.enabled\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onEnabled(section.kind, $event)\"\n ></ax-switch>\n <ax-label>{{ section.labelKey | translate | async }}</ax-label>\n </div>\n\n <!-- ----- Schedule interval reuses the scheduler picker ----- -->\n @if (section.enabled && section.editor === 'schedule') {\n <div class=\"flex flex-col gap-3 ps-7\">\n <ax-selection-list\n [items]=\"scheduleModeItems\"\n [ngModel]=\"selectedScheduleMode()\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onScheduleMode($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n <!-- ----- Specific Date uses the date box; other modes keep the scheduler picker ----- -->\n @if (selectedScheduleMode() === 'specific-date') {\n <ax-datetime-box\n picker=\"date\"\n [ngModel]=\"specificDate()\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onSpecificDate($event)\"\n ></ax-datetime-box>\n }\n <!-- ----- Daily, weekly, and monthly recurrence stay on the scheduler picker ----- -->\n @else {\n <ax-scheduler-picker\n [config]=\"scheduleSettings()\"\n [ngModel]=\"scheduleValue()\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onSchedule($event)\"\n />\n }\n <!-- ----- Schedule is required while Schedule is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Date interval is a single date ----- -->\n @else if (section.enabled && section.editor === 'date') {\n <div class=\"ps-7\">\n <ax-datetime-box\n picker=\"date\"\n [ngModel]=\"section.date\"\n [disabled]=\"disabled()\"\n (onValueChanged)=\"onDate($event)\"\n ></ax-datetime-box>\n <!-- ----- A date is required while Date is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n <!-- ----- Distance interval with a kilometer or mile choice ----- -->\n @else if (section.enabled && section.editor === 'distance') {\n <div class=\"flex flex-nowrap items-center gap-3 overflow-x-auto ps-7\">\n <span class=\"shrink-0\">{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36 shrink-0\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval('distance', $event)\"\n ></ax-number-box>\n <ax-selection-list\n class=\"!w-fit shrink-0 [&_ul]:!flex-nowrap\"\n [items]=\"distanceUnits\"\n [ngModel]=\"section.unitId\"\n [disabled]=\"disabled()\"\n direction=\"horizontal\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onDistanceUnit($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n <!-- ----- Positive distance is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"ps-7 text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n }\n <!-- ----- Operating hours or operation count with a fixed unit ----- -->\n @else if (section.enabled && section.editor === 'meter') {\n <div class=\"flex flex-col gap-1 ps-7\">\n <div class=\"flex flex-nowrap items-center gap-3\">\n <span class=\"shrink-0\">{{ everyKey | translate | async }}</span>\n <ax-number-box\n class=\"w-36 shrink-0\"\n [minValue]=\"0\"\n [decimals]=\"section.decimals\"\n [ngModel]=\"section.interval\"\n [disabled]=\"disabled()\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"onInterval(section.meterKind ?? 'operating-hours', $event)\"\n >\n <ax-suffix>{{ section.unitLabelKey | translate | async }}</ax-suffix>\n </ax-number-box>\n </div>\n <!-- ----- Positive meter interval is required while the section is enabled ----- -->\n @if (section.errorKey; as errorKey) {\n <p class=\"text-sm text-danger\">{{ errorKey | translate | async }}</p>\n }\n </div>\n }\n </div>\n }\n\n <!-- ----- Trigger condition when more than one interval is enabled ----- -->\n @if (showTriggerLogic()) {\n <div class=\"flex flex-col gap-2\">\n <ax-label>{{ triggerLogicTitleKey | translate | async }}</ax-label>\n <ax-selection-list\n [items]=\"triggerLogicItems\"\n [ngModel]=\"selectedTriggerLogic()\"\n [disabled]=\"disabled()\"\n direction=\"vertical\"\n [multiple]=\"false\"\n [showControl]=\"true\"\n valueField=\"id\"\n textField=\"text\"\n (onValueChanged)=\"onTriggerLogic($event)\"\n >\n <ng-template #itemTemplate let-item>\n <span>{{ item.text | translate | async }}</span>\n </ng-template>\n </ax-selection-list>\n </div>\n }\n</div>\n" }]
452
515
  }], ctorParameters: () => [], propDecorators: { supportedIntervalKinds: [{ type: i0.Input, args: [{ isSignal: true, alias: "supportedIntervalKinds", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
453
516
 
454
517
  //#region ---- Imports ----
@@ -620,6 +683,9 @@ function resolveWorkOrderScheduledStarts(schedule, referenceDate = new Date()) {
620
683
  if (!anchor) {
621
684
  return [];
622
685
  }
686
+ if (get(calendar, 'mode') === 'specific-date') {
687
+ return [anchor];
688
+ }
623
689
  const mode = inferScheduleMode(calendar);
624
690
  const interval = resolveScheduleInterval(calendar);
625
691
  const endType = defaultTo(get(calendar, 'endCondition.type'), 'never');
@@ -1089,7 +1155,7 @@ function resolveNextWorkOrderOccurrenceAfterSignedOff(plan, signedOffWorkOrder,
1089
1155
  return null;
1090
1156
  }
1091
1157
  const startType = get(schedule, 'startCondition.type');
1092
- if (startType === 'onDemand') {
1158
+ if (startType === 'onDemand' || get(schedule, 'mode') === 'specific-date') {
1093
1159
  return null;
1094
1160
  }
1095
1161
  const anchor = toDate(signedOffWorkOrder.scheduledStart) ?? resolveScheduleAnchorDate(schedule, referenceDate);
@@ -1701,15 +1767,16 @@ const workOrderChecklistFillMiddleware = async (context, next) => {
1701
1767
  return next(context);
1702
1768
  }
1703
1769
  const sessionId = resolveText$1(get(input, 'sessionId'));
1704
- if (sessionId) {
1770
+ const answersLocked = get(input, 'readonly') === true ||
1771
+ resolveIntervalChecklistViewerMode(get(workOrder, 'statusId')) === 'readonly';
1772
+ if (sessionId && !answersLocked) {
1705
1773
  const session = await entityService.withEntity('AssessmentManagement', 'AssessmentSession').data().byKey(sessionId);
1706
- const existingAnswers = defaultTo(get(session, 'answers'), {});
1707
- const { merged, changed } = mergeMissingAnswers(existingAnswers, prefillAnswers);
1774
+ const { answers, changed } = mergeMissingPersistedAnswers(get(session, 'answers'), prefillAnswers);
1708
1775
  if (changed) {
1709
1776
  await entityService
1710
1777
  .withEntity('AssessmentManagement', 'AssessmentSession')
1711
1778
  .data()
1712
- .update(sessionId, { answers: merged });
1779
+ .update(sessionId, { answers });
1713
1780
  }
1714
1781
  }
1715
1782
  return next({
@@ -1735,17 +1802,6 @@ function resolveText$1(value) {
1735
1802
  }
1736
1803
  return value.trim();
1737
1804
  }
1738
- function mergeMissingAnswers(existing, prefill) {
1739
- const merged = { ...existing };
1740
- let changed = false;
1741
- for (const [key, value] of Object.entries(prefill)) {
1742
- if (isEmpty(merged[key]) && !isEmpty(value)) {
1743
- merged[key] = value;
1744
- changed = true;
1745
- }
1746
- }
1747
- return { merged, changed };
1748
- }
1749
1805
  //#endregion
1750
1806
 
1751
1807
  //#region ---- Imports ----
@@ -1784,7 +1840,7 @@ const workOrderChecklistPostSubmitMiddleware = async (context, next) => {
1784
1840
  //#endregion
1785
1841
  //#region ---- Post-submit effects ----
1786
1842
  async function applyWorkOrderChecklistPostSubmitEffects(input, result, services) {
1787
- if (!result?.success) {
1843
+ if (!result?.success || get(input, 'readonly') === true) {
1788
1844
  return;
1789
1845
  }
1790
1846
  const caseId = resolveText(get(input, 'caseId'));
@@ -1812,6 +1868,9 @@ async function applyWorkOrderChecklistPostSubmitEffects(input, result, services)
1812
1868
  if (!workOrder?.id) {
1813
1869
  return;
1814
1870
  }
1871
+ if (resolveIntervalChecklistViewerMode(workOrder.statusId) === 'readonly') {
1872
+ return;
1873
+ }
1815
1874
  const performedById = await resolveEmployeeIdByPersonId(entityService, resolveText(workOrder.assignedToId));
1816
1875
  const completedById = resolveText(sessionService.user?.id);
1817
1876
  const activityKeys = AXMMaintenanceManagementCommandKeys.WorkflowActivity;
@@ -2227,10 +2286,10 @@ const AXMMaintenanceIntervalWidget = {
2227
2286
  component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-view.component-B0vjGln5.mjs').then((c) => c.AXMMaintenanceIntervalWidgetViewComponent),
2228
2287
  },
2229
2288
  edit: {
2230
- component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-6MzY-uB0.mjs').then((c) => c.AXMMaintenanceIntervalWidgetEditComponent),
2289
+ component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-b8sTwXxe.mjs').then((c) => c.AXMMaintenanceIntervalWidgetEditComponent),
2231
2290
  },
2232
2291
  designer: {
2233
- component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-6MzY-uB0.mjs').then((c) => c.AXMMaintenanceIntervalWidgetEditComponent),
2292
+ component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-b8sTwXxe.mjs').then((c) => c.AXMMaintenanceIntervalWidgetEditComponent),
2234
2293
  },
2235
2294
  },
2236
2295
  };
@@ -2263,7 +2322,7 @@ const AXMWorkOrderWorkflowColumnWidget = {
2263
2322
  properties: [],
2264
2323
  components: {
2265
2324
  column: {
2266
- component: () => import('./acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-BtDv8ueZ.mjs').then((c) => c.AXMWorkOrderWorkflowColumnComponent),
2325
+ component: () => import('./acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-DcBxsEci.mjs').then((c) => c.AXMWorkOrderWorkflowColumnComponent),
2267
2326
  },
2268
2327
  },
2269
2328
  };
@@ -2398,7 +2457,15 @@ class AXMMaintenanceManagementModule {
2398
2457
  },
2399
2458
  {
2400
2459
  key: AXMMaintenanceManagementCommandKeys.WorkOrder.StartFlow,
2401
- command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CW_9ROmv.mjs').then((c) => c.StartWorkOrderFlowCommand),
2460
+ command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CNau6u4p.mjs').then((c) => c.StartWorkOrderFlowCommand),
2461
+ },
2462
+ {
2463
+ key: AXMMaintenanceManagementCommandKeys.WorkOrder.OpenForm,
2464
+ command: () => import('./acorex-platform-module-maintenance-management-client-open-work-order-checklist-form.command-C6rDOolF.mjs').then((c) => c.OpenWorkOrderChecklistFormCommand),
2465
+ },
2466
+ {
2467
+ key: AXMMaintenanceManagementCommandKeys.WorkOrder.SignOff,
2468
+ command: () => import('./acorex-platform-module-maintenance-management-client-sign-off-work-order.command-Ca8WbM3R.mjs').then((c) => c.SignOffWorkOrderCommand),
2402
2469
  },
2403
2470
  {
2404
2471
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ResolveWorkOrder,
@@ -2410,11 +2477,11 @@ class AXMMaintenanceManagementModule {
2410
2477
  },
2411
2478
  {
2412
2479
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.CreateOrGetWorkReportDraft,
2413
- command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BWN_yXC0.mjs').then((c) => c.CreateOrGetWorkReportDraftActivity),
2480
+ command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-C-K8mD4N.mjs').then((c) => c.CreateOrGetWorkReportDraftActivity),
2414
2481
  },
2415
2482
  {
2416
2483
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderInProgress,
2417
- command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-BTaGzrEt.mjs').then((c) => c.UpdateWorkOrderInProgressActivity),
2484
+ command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-DDJHrYkP.mjs').then((c) => c.UpdateWorkOrderInProgressActivity),
2418
2485
  },
2419
2486
  {
2420
2487
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ValidateWorkOrderCompletion,
@@ -2426,7 +2493,7 @@ class AXMMaintenanceManagementModule {
2426
2493
  },
2427
2494
  {
2428
2495
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.RecordWorkReportAssessment,
2429
- command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-v1gioM7S.mjs').then((c) => c.RecordWorkReportAssessmentActivity),
2496
+ command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-StzIetk8.mjs').then((c) => c.RecordWorkReportAssessmentActivity),
2430
2497
  },
2431
2498
  {
2432
2499
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderCompleted,
@@ -2521,7 +2588,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
2521
2588
  },
2522
2589
  {
2523
2590
  key: AXMMaintenanceManagementCommandKeys.WorkOrder.StartFlow,
2524
- command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CW_9ROmv.mjs').then((c) => c.StartWorkOrderFlowCommand),
2591
+ command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-CNau6u4p.mjs').then((c) => c.StartWorkOrderFlowCommand),
2592
+ },
2593
+ {
2594
+ key: AXMMaintenanceManagementCommandKeys.WorkOrder.OpenForm,
2595
+ command: () => import('./acorex-platform-module-maintenance-management-client-open-work-order-checklist-form.command-C6rDOolF.mjs').then((c) => c.OpenWorkOrderChecklistFormCommand),
2596
+ },
2597
+ {
2598
+ key: AXMMaintenanceManagementCommandKeys.WorkOrder.SignOff,
2599
+ command: () => import('./acorex-platform-module-maintenance-management-client-sign-off-work-order.command-Ca8WbM3R.mjs').then((c) => c.SignOffWorkOrderCommand),
2525
2600
  },
2526
2601
  {
2527
2602
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ResolveWorkOrder,
@@ -2533,11 +2608,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
2533
2608
  },
2534
2609
  {
2535
2610
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.CreateOrGetWorkReportDraft,
2536
- command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-BWN_yXC0.mjs').then((c) => c.CreateOrGetWorkReportDraftActivity),
2611
+ command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-C-K8mD4N.mjs').then((c) => c.CreateOrGetWorkReportDraftActivity),
2537
2612
  },
2538
2613
  {
2539
2614
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderInProgress,
2540
- command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-BTaGzrEt.mjs').then((c) => c.UpdateWorkOrderInProgressActivity),
2615
+ command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-DDJHrYkP.mjs').then((c) => c.UpdateWorkOrderInProgressActivity),
2541
2616
  },
2542
2617
  {
2543
2618
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ValidateWorkOrderCompletion,
@@ -2549,7 +2624,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
2549
2624
  },
2550
2625
  {
2551
2626
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.RecordWorkReportAssessment,
2552
- command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-v1gioM7S.mjs').then((c) => c.RecordWorkReportAssessmentActivity),
2627
+ command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-StzIetk8.mjs').then((c) => c.RecordWorkReportAssessmentActivity),
2553
2628
  },
2554
2629
  {
2555
2630
  key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderCompleted,
@@ -3271,5 +3346,5 @@ const workOrderExecutionWorkflowDefinition = createWorkOrderExecutionWorkflowDef
3271
3346
  * Generated bundle index. Do not edit.
3272
3347
  */
3273
3348
 
3274
- export { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE as A, AXMMaintenanceIntervalComponent as a, AXMMaintenanceManagementMenuProvider as b, AXMMaintenanceManagementModule as c, AXMMaintenanceManagementPermissionDefinitionProvider as d, AXMMaintenanceManagementSearchCommandProvider as e, createWorkOrderExecutionWorkflowDefinition as f, workOrderExecutionWorkflowName as g, queryWorkflowTemplatesForAsset as q, resolveDisplayLabel as r, workOrderExecutionWorkflowDefinition as w };
3275
- //# sourceMappingURL=acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-DzBAGvuZ.mjs.map
3349
+ export { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE as A, WORK_ORDER_CHECKLIST_ASSET_PREFILL_KEYS as W, AXMMaintenanceIntervalComponent as a, AXMMaintenanceManagementMenuProvider as b, AXMMaintenanceManagementModule as c, AXMMaintenanceManagementPermissionDefinitionProvider as d, AXMMaintenanceManagementSearchCommandProvider as e, createWorkOrderExecutionWorkflowDefinition as f, workOrderExecutionWorkflowName as g, queryWorkflowTemplatesForAsset as q, resolveDisplayLabel as r, workOrderExecutionWorkflowDefinition as w };
3350
+ //# sourceMappingURL=acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-C3cGlFKd.mjs.map