@acorex-platform/module-maintenance-management-client 0.0.56 → 0.0.57
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,15 +1,29 @@
|
|
|
1
|
+
import * as i2 from '@acorex/components/check-box';
|
|
2
|
+
import { AXCheckBoxModule } from '@acorex/components/check-box';
|
|
3
|
+
import * as i2$1 from '@acorex/components/decorators';
|
|
4
|
+
import { AXDecoratorModule } from '@acorex/components/decorators';
|
|
5
|
+
import { AXLabelComponent } from '@acorex/components/label';
|
|
6
|
+
import * as i4 from '@acorex/components/number-box';
|
|
7
|
+
import { AXNumberBoxModule } from '@acorex/components/number-box';
|
|
8
|
+
import { AXSchedulerPickerComponent } from '@acorex/components/scheduler-picker';
|
|
9
|
+
import * as i5 from '@acorex/components/selection-list';
|
|
10
|
+
import { AXSelectionListModule } from '@acorex/components/selection-list';
|
|
11
|
+
import * as i6 from '@acorex/core/translation';
|
|
12
|
+
import { AXTranslationModule, isValidMultiLanguageObject, resolveMultiLanguageString, AXTranslationService, createMultiLanguageString } from '@acorex/core/translation';
|
|
13
|
+
import { AXMMaintenanceIntervalUnit, emptyAXMMaintenanceIntervalConfig, AXMMaintenanceIntervalTriggerLogic, emptyAXMMaintenanceIntervalDraft, buildAXMMaintenanceIntervalConfig, draftFromAXMMaintenanceIntervalConfig, isAXMMaintenanceMeterKind, isAXMMaintenanceIntervalUnitForKind, 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';
|
|
14
|
+
import { AsyncPipe } from '@angular/common';
|
|
15
|
+
import * as i0 from '@angular/core';
|
|
16
|
+
import { input, output, signal, computed, effect, ChangeDetectionStrategy, Component, inject, Injectable, NgModule } from '@angular/core';
|
|
17
|
+
import * as i1 from '@angular/forms';
|
|
18
|
+
import { FormsModule } from '@angular/forms';
|
|
1
19
|
import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';
|
|
2
20
|
import { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS, AXPSearchCommandProvider, createEntityCommandOptions } from '@acorex-platform/framework-client/common';
|
|
3
21
|
import { AXPDebugService, AXP_CATALOG_SCOPE_DEFINITION_PROVIDER, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, provideLazyProvider } from '@acorex-platform/framework-client/core';
|
|
4
|
-
import { AXPEntityStorageService, AXPEntityDefinitionRegistryService, AXPEntityDataSelectorService, AXPEntityService, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex-platform/framework-client/layout/entity';
|
|
5
|
-
import { AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/layout/widget-core';
|
|
22
|
+
import { AXPEntityStorageService, AXPEntityDefinitionRegistryService, AXPEntityDataSelectorService, AXPMiddlewareAbortError, AXPEntityService, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex-platform/framework-client/layout/entity';
|
|
23
|
+
import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/layout/widget-core';
|
|
6
24
|
import { AXPCommandService, provideCommandMiddleware, provideCommandSetups } from '@acorex-platform/framework-client/runtime';
|
|
7
|
-
import * as i0 from '@angular/core';
|
|
8
|
-
import { inject, Injectable, NgModule } from '@angular/core';
|
|
9
|
-
import { AXMWorkOrderSourceType, AXMWorkOrderStatus, RootConfig, AXMMaintenanceManagementCommandKeys, MM_CATALOG_SCOPE_MN, AXPAssetsMaintenancePermissionKeys, AXMMaintenanceManagementMenuKeys } from '@acorex-platform/module-maintenance-management-client/contracts';
|
|
10
25
|
import { AXDialogService } from '@acorex/components/dialog';
|
|
11
26
|
import { AXToastService } from '@acorex/components/toast';
|
|
12
|
-
import { isValidMultiLanguageObject, resolveMultiLanguageString, AXTranslationService, createMultiLanguageString } from '@acorex/core/translation';
|
|
13
27
|
import { AXP_IDENTIFIER_SERVICE } from '@acorex-platform/module-identifier-management-client';
|
|
14
28
|
import { isString, get, isNumber, defaultTo, isObject, isEmpty, isNil } from 'lodash';
|
|
15
29
|
import { AXPEntityCommandScope } from '@acorex-platform/framework-shared/entity';
|
|
@@ -21,6 +35,288 @@ import { AXMAssetManagementCommandKeys } from '@acorex-platform/module-asset-man
|
|
|
21
35
|
const AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE = 'maintenance-management';
|
|
22
36
|
//#endregion
|
|
23
37
|
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region ----- Constants -----
|
|
40
|
+
const I18N$2 = '@maintenance-management:maintenance-interval';
|
|
41
|
+
const KIND_ORDER = ['date', 'distance', 'operating-hours', 'operation-count'];
|
|
42
|
+
const LABEL_KEYS = {
|
|
43
|
+
date: `${I18N$2}.kinds.date`,
|
|
44
|
+
distance: `${I18N$2}.kinds.distance`,
|
|
45
|
+
'operating-hours': `${I18N$2}.kinds.operating-hours`,
|
|
46
|
+
'operation-count': `${I18N$2}.kinds.operation-count`,
|
|
47
|
+
};
|
|
48
|
+
const ERROR_KEYS = {
|
|
49
|
+
schedule: `${I18N$2}.validation.schedule`,
|
|
50
|
+
interval: `${I18N$2}.validation.interval`,
|
|
51
|
+
integer: `${I18N$2}.validation.integer`,
|
|
52
|
+
};
|
|
53
|
+
const UNIT_LABEL_KEYS = {
|
|
54
|
+
[AXMMaintenanceIntervalUnit.Kilometer]: `${I18N$2}.units.kilometer`,
|
|
55
|
+
[AXMMaintenanceIntervalUnit.Mile]: `${I18N$2}.units.mile`,
|
|
56
|
+
[AXMMaintenanceIntervalUnit.Hour]: `${I18N$2}.units.hour`,
|
|
57
|
+
[AXMMaintenanceIntervalUnit.Operation]: `${I18N$2}.units.operation`,
|
|
58
|
+
};
|
|
59
|
+
/** Same starting value the scheduler-picker widget uses when a schedule is empty. */
|
|
60
|
+
function createDefaultSchedule() {
|
|
61
|
+
return {
|
|
62
|
+
mode: 'daily',
|
|
63
|
+
interval: 1,
|
|
64
|
+
startCondition: { type: 'now', startDate: new Date() },
|
|
65
|
+
recurrence: {},
|
|
66
|
+
endCondition: { type: 'never' },
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function stable(value) {
|
|
70
|
+
return JSON.stringify(value, (_key, item) => (item instanceof Date ? item.toISOString() : item));
|
|
71
|
+
}
|
|
72
|
+
function configsEqual(left, right) {
|
|
73
|
+
const normalized = left == null ? emptyAXMMaintenanceIntervalConfig() : left;
|
|
74
|
+
return stable(normalized) === stable(right);
|
|
75
|
+
}
|
|
76
|
+
function kindsKey(kinds) {
|
|
77
|
+
return [...new Set(kinds)].sort().join('|');
|
|
78
|
+
}
|
|
79
|
+
function readChoiceId(value) {
|
|
80
|
+
if (typeof value === 'string') {
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
if (Array.isArray(value)) {
|
|
84
|
+
return readChoiceId(value[0]);
|
|
85
|
+
}
|
|
86
|
+
if (value && typeof value === 'object' && 'id' in value && typeof value.id === 'string') {
|
|
87
|
+
return value.id;
|
|
88
|
+
}
|
|
89
|
+
return '';
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region ----- Component -----
|
|
93
|
+
class AXMMaintenanceIntervalComponent {
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region ----- Lifecycle -----
|
|
96
|
+
constructor() {
|
|
97
|
+
//#region ----- Inputs -----
|
|
98
|
+
this.supportedIntervalKinds = input([], /* @ts-ignore */
|
|
99
|
+
...(ngDevMode ? [{ debugName: "supportedIntervalKinds" }] : /* istanbul ignore next */ []));
|
|
100
|
+
this.value = input(undefined, /* @ts-ignore */
|
|
101
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
102
|
+
this.disabled = input(false, /* @ts-ignore */
|
|
103
|
+
...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
104
|
+
//#endregion
|
|
105
|
+
//#region ----- Outputs -----
|
|
106
|
+
this.valueChange = output();
|
|
107
|
+
//#endregion
|
|
108
|
+
//#region ----- Constants -----
|
|
109
|
+
this.titleKey = `${I18N$2}.title`;
|
|
110
|
+
this.everyKey = `${I18N$2}.every`;
|
|
111
|
+
this.emptyKey = `${I18N$2}.empty`;
|
|
112
|
+
this.triggerLogicTitleKey = `${I18N$2}.trigger-logic.title`;
|
|
113
|
+
this.triggerLogic = AXMMaintenanceIntervalTriggerLogic;
|
|
114
|
+
this.distanceUnits = [
|
|
115
|
+
{ id: AXMMaintenanceIntervalUnit.Kilometer, text: UNIT_LABEL_KEYS[AXMMaintenanceIntervalUnit.Kilometer] },
|
|
116
|
+
{ id: AXMMaintenanceIntervalUnit.Mile, text: UNIT_LABEL_KEYS[AXMMaintenanceIntervalUnit.Mile] },
|
|
117
|
+
];
|
|
118
|
+
this.triggerLogicItems = [
|
|
119
|
+
{ id: AXMMaintenanceIntervalTriggerLogic.Any, text: `${I18N$2}.trigger-logic.any` },
|
|
120
|
+
{ id: AXMMaintenanceIntervalTriggerLogic.All, text: `${I18N$2}.trigger-logic.all` },
|
|
121
|
+
];
|
|
122
|
+
this.scheduleSettings = {
|
|
123
|
+
mode: 'daily',
|
|
124
|
+
showStartCondition: true,
|
|
125
|
+
showEndConditions: true,
|
|
126
|
+
showExclusions: false,
|
|
127
|
+
showInclusions: false,
|
|
128
|
+
options: { showInterval: true, showWeekdaysOnly: false },
|
|
129
|
+
};
|
|
130
|
+
//#endregion
|
|
131
|
+
//#region ----- State Signals -----
|
|
132
|
+
this.draft = signal(emptyAXMMaintenanceIntervalDraft(), /* @ts-ignore */
|
|
133
|
+
...(ngDevMode ? [{ debugName: "draft" }] : /* istanbul ignore next */ []));
|
|
134
|
+
this.lastEmitted = null;
|
|
135
|
+
this.lastSupportedKey = '';
|
|
136
|
+
//#endregion
|
|
137
|
+
//#region ----- Computed Properties -----
|
|
138
|
+
this.scheduleValue = computed(() => {
|
|
139
|
+
const schedule = this.draft().schedule;
|
|
140
|
+
return schedule ? schedule : null;
|
|
141
|
+
}, /* @ts-ignore */
|
|
142
|
+
...(ngDevMode ? [{ debugName: "scheduleValue" }] : /* istanbul ignore next */ []));
|
|
143
|
+
this.sections = computed(() => {
|
|
144
|
+
const supported = this.supportedKeys();
|
|
145
|
+
const draft = this.draft();
|
|
146
|
+
const errors = new Map(buildAXMMaintenanceIntervalConfig(supported, draft).errors.map((error) => [error.kind, error.code]));
|
|
147
|
+
return KIND_ORDER.filter((kind) => supported.includes(kind)).map((kind) => this.toSection(kind, draft, errors));
|
|
148
|
+
}, /* @ts-ignore */
|
|
149
|
+
...(ngDevMode ? [{ debugName: "sections" }] : /* istanbul ignore next */ []));
|
|
150
|
+
this.showTriggerLogic = computed(() => this.sections().filter((section) => section.enabled).length > 1, /* @ts-ignore */
|
|
151
|
+
...(ngDevMode ? [{ debugName: "showTriggerLogic" }] : /* istanbul ignore next */ []));
|
|
152
|
+
this.selectedTriggerLogic = computed(() => this.draft().triggerLogic, /* @ts-ignore */
|
|
153
|
+
...(ngDevMode ? [{ debugName: "selectedTriggerLogic" }] : /* istanbul ignore next */ []));
|
|
154
|
+
effect(() => {
|
|
155
|
+
const supported = this.supportedKeys();
|
|
156
|
+
const incoming = this.value();
|
|
157
|
+
const supportedKey = kindsKey(supported);
|
|
158
|
+
if (this.lastEmitted &&
|
|
159
|
+
configsEqual(incoming, this.lastEmitted) &&
|
|
160
|
+
supportedKey === this.lastSupportedKey) {
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
this.lastSupportedKey = supportedKey;
|
|
164
|
+
const next = draftFromAXMMaintenanceIntervalConfig(incoming, supported);
|
|
165
|
+
this.draft.set(next);
|
|
166
|
+
const built = buildAXMMaintenanceIntervalConfig(supported, next).config;
|
|
167
|
+
this.lastEmitted = built;
|
|
168
|
+
if (!configsEqual(incoming, built)) {
|
|
169
|
+
this.valueChange.emit(built);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
//#endregion
|
|
174
|
+
//#region ----- Event Handlers -----
|
|
175
|
+
onEnabled(kind, event) {
|
|
176
|
+
if (!event.isUserInteraction || this.disabled()) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const enabled = Boolean(event.value);
|
|
180
|
+
const draft = this.draft();
|
|
181
|
+
if (kind === 'date') {
|
|
182
|
+
const schedule = enabled && !draft.schedule
|
|
183
|
+
? createDefaultSchedule()
|
|
184
|
+
: draft.schedule;
|
|
185
|
+
this.commit({ ...draft, dateEnabled: enabled, schedule });
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
if (!isAXMMaintenanceMeterKind(kind)) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.commit({
|
|
192
|
+
...draft,
|
|
193
|
+
meters: {
|
|
194
|
+
...draft.meters,
|
|
195
|
+
[kind]: { ...draft.meters[kind], enabled },
|
|
196
|
+
},
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
onInterval(kind, event) {
|
|
200
|
+
if (!event.isUserInteraction || this.disabled()) {
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
const interval = typeof event.value === 'number' && Number.isFinite(event.value) ? event.value : null;
|
|
204
|
+
const draft = this.draft();
|
|
205
|
+
if (draft.meters[kind].interval === interval) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
this.commit({
|
|
209
|
+
...draft,
|
|
210
|
+
meters: {
|
|
211
|
+
...draft.meters,
|
|
212
|
+
[kind]: { ...draft.meters[kind], interval },
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
onDistanceUnit(event) {
|
|
217
|
+
if (!event.isUserInteraction || this.disabled()) {
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
const unit = readChoiceId(event.value);
|
|
221
|
+
if (!isAXMMaintenanceIntervalUnitForKind('distance', unit)) {
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
const draft = this.draft();
|
|
225
|
+
if (draft.meters.distance.unit === unit) {
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
this.commit({
|
|
229
|
+
...draft,
|
|
230
|
+
meters: {
|
|
231
|
+
...draft.meters,
|
|
232
|
+
distance: { ...draft.meters.distance, unit: unit },
|
|
233
|
+
},
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
onSchedule(value) {
|
|
237
|
+
if (this.disabled()) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const draft = this.draft();
|
|
241
|
+
if (stable(draft.schedule) === stable(value)) {
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
this.commit({ ...draft, schedule: value });
|
|
245
|
+
}
|
|
246
|
+
onTriggerLogic(event) {
|
|
247
|
+
if (!event.isUserInteraction || this.disabled()) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const logic = readChoiceId(event.value);
|
|
251
|
+
const triggerLogic = logic === AXMMaintenanceIntervalTriggerLogic.All
|
|
252
|
+
? AXMMaintenanceIntervalTriggerLogic.All
|
|
253
|
+
: AXMMaintenanceIntervalTriggerLogic.Any;
|
|
254
|
+
const draft = this.draft();
|
|
255
|
+
if (draft.triggerLogic === triggerLogic) {
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
this.commit({ ...draft, triggerLogic });
|
|
259
|
+
}
|
|
260
|
+
//#endregion
|
|
261
|
+
//#region ----- Draft -----
|
|
262
|
+
supportedKeys() {
|
|
263
|
+
return this.supportedIntervalKinds().filter(isAXMMaintenanceIntervalKind);
|
|
264
|
+
}
|
|
265
|
+
toSection(kind, draft, errors) {
|
|
266
|
+
const error = errors.get(kind);
|
|
267
|
+
if (kind === 'date') {
|
|
268
|
+
return {
|
|
269
|
+
kind,
|
|
270
|
+
labelKey: LABEL_KEYS[kind],
|
|
271
|
+
enabled: draft.dateEnabled,
|
|
272
|
+
editor: 'schedule',
|
|
273
|
+
meterKind: null,
|
|
274
|
+
interval: null,
|
|
275
|
+
decimals: 0,
|
|
276
|
+
unitId: null,
|
|
277
|
+
unitLabelKey: '',
|
|
278
|
+
errorKey: draft.dateEnabled && error ? ERROR_KEYS[error] : null,
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
const meter = draft.meters[kind];
|
|
282
|
+
return {
|
|
283
|
+
kind,
|
|
284
|
+
labelKey: LABEL_KEYS[kind],
|
|
285
|
+
enabled: meter.enabled,
|
|
286
|
+
editor: kind === 'distance' ? 'distance' : 'meter',
|
|
287
|
+
meterKind: kind,
|
|
288
|
+
interval: meter.interval,
|
|
289
|
+
decimals: kind === 'operation-count' ? 0 : 2,
|
|
290
|
+
unitId: meter.unit,
|
|
291
|
+
unitLabelKey: UNIT_LABEL_KEYS[meter.unit],
|
|
292
|
+
errorKey: meter.enabled && error ? ERROR_KEYS[error] : null,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
commit(draft) {
|
|
296
|
+
this.draft.set(draft);
|
|
297
|
+
const config = buildAXMMaintenanceIntervalConfig(this.supportedKeys(), draft).config;
|
|
298
|
+
this.lastEmitted = config;
|
|
299
|
+
this.lastSupportedKey = kindsKey(this.supportedKeys());
|
|
300
|
+
this.valueChange.emit(config);
|
|
301
|
+
}
|
|
302
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
303
|
+
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 <!-- ----- Date interval reuses the scheduler picker ----- -->\n @if (section.enabled && section.editor === 'schedule') {\n <div class=\"ps-7\">\n <ax-scheduler-picker\n [config]=\"scheduleSettings\"\n [ngModel]=\"scheduleValue()\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onSchedule($event)\"\n />\n <!-- ----- Schedule 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: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: i6.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
304
|
+
}
|
|
305
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalComponent, decorators: [{
|
|
306
|
+
type: Component,
|
|
307
|
+
args: [{ selector: 'axm-maintenance-interval', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
308
|
+
AsyncPipe,
|
|
309
|
+
FormsModule,
|
|
310
|
+
AXTranslationModule,
|
|
311
|
+
AXCheckBoxModule,
|
|
312
|
+
AXDecoratorModule,
|
|
313
|
+
AXLabelComponent,
|
|
314
|
+
AXNumberBoxModule,
|
|
315
|
+
AXSelectionListModule,
|
|
316
|
+
AXSchedulerPickerComponent,
|
|
317
|
+
], 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 <!-- ----- Date interval reuses the scheduler picker ----- -->\n @if (section.enabled && section.editor === 'schedule') {\n <div class=\"ps-7\">\n <ax-scheduler-picker\n [config]=\"scheduleSettings\"\n [ngModel]=\"scheduleValue()\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onSchedule($event)\"\n />\n <!-- ----- Schedule 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" }]
|
|
318
|
+
}], 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"] }] } });
|
|
319
|
+
|
|
24
320
|
//#region ---- Imports ----
|
|
25
321
|
//#endregion
|
|
26
322
|
//#region ---- Identifier rules ----
|
|
@@ -182,25 +478,26 @@ function resolveOccurrenceScheduledEnd(scheduledStart, estimatedHours) {
|
|
|
182
478
|
* - End `byDate`: occurrences from anchor through end date (inclusive).
|
|
183
479
|
*/
|
|
184
480
|
function resolveWorkOrderScheduledStarts(schedule, referenceDate = new Date()) {
|
|
185
|
-
|
|
481
|
+
const calendar = readMaintenancePlanCalendarSchedule(schedule);
|
|
482
|
+
if (!calendar) {
|
|
186
483
|
return [];
|
|
187
484
|
}
|
|
188
|
-
const anchor = resolveScheduleAnchorDate(
|
|
485
|
+
const anchor = resolveScheduleAnchorDate(calendar, referenceDate);
|
|
189
486
|
if (!anchor) {
|
|
190
487
|
return [];
|
|
191
488
|
}
|
|
192
|
-
const mode = inferScheduleMode(
|
|
193
|
-
const interval = resolveScheduleInterval(
|
|
194
|
-
const endType = defaultTo(get(
|
|
489
|
+
const mode = inferScheduleMode(calendar);
|
|
490
|
+
const interval = resolveScheduleInterval(calendar);
|
|
491
|
+
const endType = defaultTo(get(calendar, 'endCondition.type'), 'never');
|
|
195
492
|
if (endType === 'never') {
|
|
196
493
|
return [anchor];
|
|
197
494
|
}
|
|
198
495
|
if (endType === 'afterOccurrences') {
|
|
199
|
-
const count = Math.max(1, defaultTo(get(
|
|
496
|
+
const count = Math.max(1, defaultTo(get(calendar, 'endCondition.occurrences'), 1));
|
|
200
497
|
return Array.from({ length: count }, (_, step) => addScheduleInterval(anchor, mode, interval, step));
|
|
201
498
|
}
|
|
202
499
|
if (endType === 'byDate') {
|
|
203
|
-
const endDate = toScheduleEndBoundary(get(
|
|
500
|
+
const endDate = toScheduleEndBoundary(get(calendar, 'endCondition.endDate'));
|
|
204
501
|
if (!endDate) {
|
|
205
502
|
return [anchor];
|
|
206
503
|
}
|
|
@@ -265,9 +562,18 @@ function buildMaintenancePlanPayload(asset, template, options) {
|
|
|
265
562
|
assetId: asset.id,
|
|
266
563
|
maintenanceTypeId: template.maintenanceTypeId,
|
|
267
564
|
maintenanceTemplateId: template.id,
|
|
268
|
-
|
|
269
|
-
|
|
565
|
+
intervalConfig: {
|
|
566
|
+
triggerLogic: AXMMaintenanceIntervalTriggerLogic.Any,
|
|
567
|
+
triggers: [
|
|
568
|
+
{
|
|
569
|
+
kind: 'date',
|
|
570
|
+
schedule: template.schedule ?? {
|
|
571
|
+
startCondition: { type: 'byDate', startDate: new Date().toISOString() },
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
],
|
|
270
575
|
},
|
|
576
|
+
intervalStates: [],
|
|
271
577
|
estimatedHours: template.estimatedMinutes
|
|
272
578
|
? Math.max(1, Math.ceil(template.estimatedMinutes / 60))
|
|
273
579
|
: undefined,
|
|
@@ -348,7 +654,7 @@ function mergeMaintenancePlanForWorkOrder(createPayload, stored, id) {
|
|
|
348
654
|
fillIfMissing('assetId');
|
|
349
655
|
fillIfMissing('maintenanceTypeId');
|
|
350
656
|
fillIfMissing('maintenanceTemplateId');
|
|
351
|
-
fillIfMissing('
|
|
657
|
+
fillIfMissing('intervalConfig');
|
|
352
658
|
fillIfMissing('title');
|
|
353
659
|
fillIfMissing('description');
|
|
354
660
|
fillIfMissing('needPermission');
|
|
@@ -438,7 +744,7 @@ function buildWorkOrderPayloadFromFailureRegister(failureRegister, template, wor
|
|
|
438
744
|
function buildWorkOrderPayloadFromPlan(plan, workOrderNo, options) {
|
|
439
745
|
const title = normalizeMultiLanguageString(plan.title, plan.code ?? 'Work order');
|
|
440
746
|
const occurrence = options?.occurrence ??
|
|
441
|
-
resolveWorkOrderOccurrences(plan.
|
|
747
|
+
resolveWorkOrderOccurrences(plan.intervalConfig, {
|
|
442
748
|
referenceDate: options?.referenceDate,
|
|
443
749
|
estimatedHours: resolvePlanEstimatedHours(plan),
|
|
444
750
|
})[0];
|
|
@@ -480,7 +786,7 @@ function buildWorkOrderPayloadFromPlan(plan, workOrderNo, options) {
|
|
|
480
786
|
function buildWorkOrderPayloadsFromPlan(plan, options) {
|
|
481
787
|
const referenceDate = options?.referenceDate ?? new Date();
|
|
482
788
|
const estimatedHours = resolvePlanEstimatedHours(plan);
|
|
483
|
-
const occurrences = resolveWorkOrderOccurrences(plan.
|
|
789
|
+
const occurrences = resolveWorkOrderOccurrences(plan.intervalConfig, {
|
|
484
790
|
referenceDate,
|
|
485
791
|
estimatedHours,
|
|
486
792
|
});
|
|
@@ -641,7 +947,7 @@ async function hasWorkOrderForPlanScheduledStart(backend, workOrderEntityName, p
|
|
|
641
947
|
* For `endCondition.type === 'never'`, returns the next interval from the signed-off scheduled start.
|
|
642
948
|
*/
|
|
643
949
|
function resolveNextWorkOrderOccurrenceAfterSignedOff(plan, signedOffWorkOrder, referenceDate = new Date()) {
|
|
644
|
-
const schedule = plan.
|
|
950
|
+
const schedule = readMaintenancePlanCalendarSchedule(plan.intervalConfig);
|
|
645
951
|
if (!schedule) {
|
|
646
952
|
return null;
|
|
647
953
|
}
|
|
@@ -964,7 +1270,6 @@ const failureRegisterCreateWorkOrderMiddleware = {
|
|
|
964
1270
|
'needPermission',
|
|
965
1271
|
'needShutdown',
|
|
966
1272
|
'estimatedHours',
|
|
967
|
-
'hasSchedule',
|
|
968
1273
|
'schedule',
|
|
969
1274
|
'autoGeneratePlan',
|
|
970
1275
|
],
|
|
@@ -1030,7 +1335,7 @@ async function runMaintenancePlanWorkOrderPrompt(deps) {
|
|
|
1030
1335
|
if (!plan) {
|
|
1031
1336
|
return;
|
|
1032
1337
|
}
|
|
1033
|
-
const plannedWorkOrderCount = countWorkOrdersToCreateFromSchedule(plan.
|
|
1338
|
+
const plannedWorkOrderCount = countWorkOrdersToCreateFromSchedule(plan.intervalConfig);
|
|
1034
1339
|
const confirmTitle = await translateService.translateAsync(`${I18N}.confirm-title`);
|
|
1035
1340
|
const confirmMessage = plannedWorkOrderCount === 1
|
|
1036
1341
|
? await translateService.translateAsync(`${I18N}.confirm-single`)
|
|
@@ -1078,9 +1383,20 @@ async function runMaintenancePlanWorkOrderPrompt(deps) {
|
|
|
1078
1383
|
* After creating a Maintenance Plan, asks whether to create a Work Order immediately.
|
|
1079
1384
|
* If confirmed, creates Work Order using the plan's already selected template.
|
|
1080
1385
|
*/
|
|
1386
|
+
const WRITE_OPS = new Set(['create', 'update', 'upsertOne']);
|
|
1387
|
+
function readRecord(value) {
|
|
1388
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
1389
|
+
return null;
|
|
1390
|
+
}
|
|
1391
|
+
return value;
|
|
1392
|
+
}
|
|
1393
|
+
function assignIntervalStates(record) {
|
|
1394
|
+
record['intervalStates'] = readMaintenanceIntervalStates(record['intervalStates']);
|
|
1395
|
+
}
|
|
1081
1396
|
const maintenancePlanCreateWorkOrderMiddleware = {
|
|
1082
1397
|
target: {
|
|
1083
|
-
ops: ['create'],
|
|
1398
|
+
ops: ['create', 'update', 'upsertOne', 'getOne', 'getAll', 'query', 'queryAll', 'getMany'],
|
|
1399
|
+
entity: `${RootConfig.module.name}.${RootConfig.entities.maintenancePlan.name}`,
|
|
1084
1400
|
order: 91,
|
|
1085
1401
|
},
|
|
1086
1402
|
execute: async (ctx, next) => {
|
|
@@ -1096,11 +1412,46 @@ const maintenancePlanCreateWorkOrderMiddleware = {
|
|
|
1096
1412
|
await next();
|
|
1097
1413
|
return;
|
|
1098
1414
|
}
|
|
1415
|
+
if (WRITE_OPS.has(ctx.op)) {
|
|
1416
|
+
const data = readRecord(ctx.data);
|
|
1417
|
+
const fieldPresent = ctx.op === 'create' || ctx.op === 'upsertOne' || (data != null && 'intervalStates' in data);
|
|
1418
|
+
if (data && fieldPresent) {
|
|
1419
|
+
const resolved = resolveMaintenanceIntervalStates(data['intervalStates']);
|
|
1420
|
+
if (resolved.issue) {
|
|
1421
|
+
const error = AXM_MAINTENANCE_INTERVAL_STATE_ERRORS[resolved.issue];
|
|
1422
|
+
throw new AXPMiddlewareAbortError(error.message, { code: error.code, status: 400 });
|
|
1423
|
+
}
|
|
1424
|
+
data['intervalStates'] = resolved.states;
|
|
1425
|
+
}
|
|
1426
|
+
}
|
|
1099
1427
|
const suppressPrompt = ctx.data &&
|
|
1100
1428
|
typeof ctx.data === 'object' &&
|
|
1101
1429
|
ctx.data[SUPPRESS_WORK_ORDER_PROMPT_FIELD] === true;
|
|
1102
1430
|
const createPayload = ctx.data && typeof ctx.data === 'object' ? ctx.data : undefined;
|
|
1103
1431
|
await next();
|
|
1432
|
+
if (ctx.op !== 'create') {
|
|
1433
|
+
if (ctx.op === 'getOne') {
|
|
1434
|
+
const record = readRecord(ctx.result);
|
|
1435
|
+
if (record) {
|
|
1436
|
+
assignIntervalStates(record);
|
|
1437
|
+
}
|
|
1438
|
+
return;
|
|
1439
|
+
}
|
|
1440
|
+
const items = Array.isArray(ctx.result)
|
|
1441
|
+
? ctx.result
|
|
1442
|
+
: Array.isArray(ctx.result?.items)
|
|
1443
|
+
? ctx.result.items
|
|
1444
|
+
: null;
|
|
1445
|
+
if (items) {
|
|
1446
|
+
for (const item of items) {
|
|
1447
|
+
const record = readRecord(item);
|
|
1448
|
+
if (record) {
|
|
1449
|
+
assignIntervalStates(record);
|
|
1450
|
+
}
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
return;
|
|
1454
|
+
}
|
|
1104
1455
|
const createdId = typeof ctx.result === 'string' ? ctx.result : undefined;
|
|
1105
1456
|
if (!createdId ||
|
|
1106
1457
|
!dialogService ||
|
|
@@ -1597,6 +1948,46 @@ class AXMMaintenanceManagementWorkOrderExpressionEvaluatorScopeProvider {
|
|
|
1597
1948
|
}
|
|
1598
1949
|
}
|
|
1599
1950
|
|
|
1951
|
+
//#region ----- Imports -----
|
|
1952
|
+
//#endregion
|
|
1953
|
+
//#region ----- Widget config -----
|
|
1954
|
+
const AXMMaintenanceIntervalWidget = {
|
|
1955
|
+
name: AXM_MAINTENANCE_INTERVAL_WIDGET,
|
|
1956
|
+
title: '@maintenance-management:maintenance-interval.title',
|
|
1957
|
+
description: '@maintenance-management:maintenance-interval.description',
|
|
1958
|
+
type: 'editor',
|
|
1959
|
+
designer: { needLabel: true },
|
|
1960
|
+
categories: [],
|
|
1961
|
+
groups: [AXPWidgetGroupEnum.EntityWidget],
|
|
1962
|
+
icon: 'fa-light fa-calendar-clock',
|
|
1963
|
+
properties: [AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY],
|
|
1964
|
+
components: {
|
|
1965
|
+
view: {
|
|
1966
|
+
component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-view.component-CM0Wokah.mjs').then((c) => c.AXMMaintenanceIntervalWidgetViewComponent),
|
|
1967
|
+
},
|
|
1968
|
+
edit: {
|
|
1969
|
+
component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-CUcsLsuh.mjs').then((c) => c.AXMMaintenanceIntervalWidgetEditComponent),
|
|
1970
|
+
},
|
|
1971
|
+
designer: {
|
|
1972
|
+
component: () => import('./acorex-platform-module-maintenance-management-client-maintenance-interval-widget-edit.component-CUcsLsuh.mjs').then((c) => c.AXMMaintenanceIntervalWidgetEditComponent),
|
|
1973
|
+
},
|
|
1974
|
+
},
|
|
1975
|
+
};
|
|
1976
|
+
//#endregion
|
|
1977
|
+
|
|
1978
|
+
//#endregion
|
|
1979
|
+
//#region ----- Provider -----
|
|
1980
|
+
class AXMMaintenanceIntervalWidgetProvider {
|
|
1981
|
+
getWidgets() {
|
|
1982
|
+
return [AXMMaintenanceIntervalWidget];
|
|
1983
|
+
}
|
|
1984
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1985
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetProvider }); }
|
|
1986
|
+
}
|
|
1987
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMMaintenanceIntervalWidgetProvider, decorators: [{
|
|
1988
|
+
type: Injectable
|
|
1989
|
+
}] });
|
|
1990
|
+
|
|
1600
1991
|
//#region ---- Imports ----
|
|
1601
1992
|
//#endregion
|
|
1602
1993
|
//#region ---- Widget config ----
|
|
@@ -1611,7 +2002,7 @@ const AXMWorkOrderWorkflowColumnWidget = {
|
|
|
1611
2002
|
properties: [],
|
|
1612
2003
|
components: {
|
|
1613
2004
|
column: {
|
|
1614
|
-
component: () => import('./acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-
|
|
2005
|
+
component: () => import('./acorex-platform-module-maintenance-management-client-work-order-workflow-column.component-B90OJ-Ol.mjs').then((c) => c.AXMWorkOrderWorkflowColumnComponent),
|
|
1615
2006
|
},
|
|
1616
2007
|
},
|
|
1617
2008
|
};
|
|
@@ -1703,6 +2094,11 @@ class AXMMaintenanceManagementModule {
|
|
|
1703
2094
|
useClass: AXMMaintenanceManagementWorkOrderExpressionEvaluatorScopeProvider,
|
|
1704
2095
|
multi: true,
|
|
1705
2096
|
},
|
|
2097
|
+
{
|
|
2098
|
+
provide: AXP_WIDGET_DEFINITION_PROVIDER,
|
|
2099
|
+
useClass: AXMMaintenanceIntervalWidgetProvider,
|
|
2100
|
+
multi: true,
|
|
2101
|
+
},
|
|
1706
2102
|
{
|
|
1707
2103
|
provide: AXP_WIDGET_DEFINITION_PROVIDER,
|
|
1708
2104
|
useClass: AXMWorkReportWidgetProvider,
|
|
@@ -1736,7 +2132,7 @@ class AXMMaintenanceManagementModule {
|
|
|
1736
2132
|
},
|
|
1737
2133
|
{
|
|
1738
2134
|
key: AXMMaintenanceManagementCommandKeys.WorkOrder.StartFlow,
|
|
1739
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-
|
|
2135
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-B5Ko0JyG.mjs').then((c) => c.StartWorkOrderFlowCommand),
|
|
1740
2136
|
},
|
|
1741
2137
|
{
|
|
1742
2138
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ResolveWorkOrder,
|
|
@@ -1748,11 +2144,11 @@ class AXMMaintenanceManagementModule {
|
|
|
1748
2144
|
},
|
|
1749
2145
|
{
|
|
1750
2146
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.CreateOrGetWorkReportDraft,
|
|
1751
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-
|
|
2147
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-DDvUWUU5.mjs').then((c) => c.CreateOrGetWorkReportDraftActivity),
|
|
1752
2148
|
},
|
|
1753
2149
|
{
|
|
1754
2150
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderInProgress,
|
|
1755
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-
|
|
2151
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-D75YRfD2.mjs').then((c) => c.UpdateWorkOrderInProgressActivity),
|
|
1756
2152
|
},
|
|
1757
2153
|
{
|
|
1758
2154
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ValidateWorkOrderCompletion,
|
|
@@ -1764,7 +2160,7 @@ class AXMMaintenanceManagementModule {
|
|
|
1764
2160
|
},
|
|
1765
2161
|
{
|
|
1766
2162
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.RecordWorkReportAssessment,
|
|
1767
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-
|
|
2163
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BiD6NYBT.mjs').then((c) => c.RecordWorkReportAssessmentActivity),
|
|
1768
2164
|
},
|
|
1769
2165
|
{
|
|
1770
2166
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderCompleted,
|
|
@@ -1816,6 +2212,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1816
2212
|
useClass: AXMMaintenanceManagementWorkOrderExpressionEvaluatorScopeProvider,
|
|
1817
2213
|
multi: true,
|
|
1818
2214
|
},
|
|
2215
|
+
{
|
|
2216
|
+
provide: AXP_WIDGET_DEFINITION_PROVIDER,
|
|
2217
|
+
useClass: AXMMaintenanceIntervalWidgetProvider,
|
|
2218
|
+
multi: true,
|
|
2219
|
+
},
|
|
1819
2220
|
{
|
|
1820
2221
|
provide: AXP_WIDGET_DEFINITION_PROVIDER,
|
|
1821
2222
|
useClass: AXMWorkReportWidgetProvider,
|
|
@@ -1849,7 +2250,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1849
2250
|
},
|
|
1850
2251
|
{
|
|
1851
2252
|
key: AXMMaintenanceManagementCommandKeys.WorkOrder.StartFlow,
|
|
1852
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-
|
|
2253
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-start-work-order-flow.command-B5Ko0JyG.mjs').then((c) => c.StartWorkOrderFlowCommand),
|
|
1853
2254
|
},
|
|
1854
2255
|
{
|
|
1855
2256
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ResolveWorkOrder,
|
|
@@ -1861,11 +2262,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1861
2262
|
},
|
|
1862
2263
|
{
|
|
1863
2264
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.CreateOrGetWorkReportDraft,
|
|
1864
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-
|
|
2265
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-create-or-get-work-report-draft.activity-DDvUWUU5.mjs').then((c) => c.CreateOrGetWorkReportDraftActivity),
|
|
1865
2266
|
},
|
|
1866
2267
|
{
|
|
1867
2268
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderInProgress,
|
|
1868
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-
|
|
2269
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-update-work-order-in-progress.activity-D75YRfD2.mjs').then((c) => c.UpdateWorkOrderInProgressActivity),
|
|
1869
2270
|
},
|
|
1870
2271
|
{
|
|
1871
2272
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.ValidateWorkOrderCompletion,
|
|
@@ -1877,7 +2278,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1877
2278
|
},
|
|
1878
2279
|
{
|
|
1879
2280
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.RecordWorkReportAssessment,
|
|
1880
|
-
command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-
|
|
2281
|
+
command: () => import('./acorex-platform-module-maintenance-management-client-record-work-report-assessment.activity-BiD6NYBT.mjs').then((c) => c.RecordWorkReportAssessmentActivity),
|
|
1881
2282
|
},
|
|
1882
2283
|
{
|
|
1883
2284
|
key: AXMMaintenanceManagementCommandKeys.WorkflowActivity.UpdateWorkOrderCompleted,
|
|
@@ -2599,5 +3000,5 @@ const workOrderExecutionWorkflowDefinition = createWorkOrderExecutionWorkflowDef
|
|
|
2599
3000
|
* Generated bundle index. Do not edit.
|
|
2600
3001
|
*/
|
|
2601
3002
|
|
|
2602
|
-
export { AXM_WORK_ORDER_WORKFLOW_DEBUG_NAMESPACE as A,
|
|
2603
|
-
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-
|
|
3003
|
+
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 };
|
|
3004
|
+
//# sourceMappingURL=acorex-platform-module-maintenance-management-client-acorex-platform-module-maintenance-management-client-6cXxZPN1.mjs.map
|