@acorex-platform/module-workplacesafety-management-client 0.0.30 → 0.0.33

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 (123) hide show
  1. package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs +549 -0
  2. package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs +509 -0
  4. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs +297 -0
  6. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs +431 -0
  8. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs +416 -0
  10. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs +476 -0
  12. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs +482 -0
  14. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs +345 -0
  16. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs +1458 -0
  18. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs +1313 -0
  20. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs +295 -0
  22. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs +542 -0
  24. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs +470 -0
  26. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs +369 -0
  28. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs +299 -0
  30. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs +1358 -0
  32. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-CeTmhod5.mjs +170 -0
  34. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-CeTmhod5.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-Dae2kkZe.mjs +372 -0
  36. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-Dae2kkZe.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-CpNcN6Pf.mjs +160 -0
  38. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-CpNcN6Pf.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-BcsAnO9h.mjs +294 -0
  40. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-BcsAnO9h.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-C9wGZ3hB.mjs +279 -0
  42. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-C9wGZ3hB.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-AUr2GVLU.mjs +339 -0
  44. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-AUr2GVLU.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-J6fveZKA.mjs +345 -0
  46. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-J6fveZKA.mjs.map +1 -0
  47. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-3fQPlBBf.mjs +208 -0
  48. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-3fQPlBBf.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-BRGcQo7H.mjs +971 -0
  50. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-BRGcQo7H.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BPx-3rYX.mjs +356 -0
  52. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BPx-3rYX.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-_nG09ZpE.mjs +211 -0
  54. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-_nG09ZpE.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-CIH7W9R7.mjs +158 -0
  56. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-CIH7W9R7.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-DmFYsBhI.mjs +405 -0
  58. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-DmFYsBhI.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs +333 -0
  60. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs +232 -0
  62. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-73MUyaIk.mjs +162 -0
  64. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-73MUyaIk.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-Ujxum2GY.mjs +256 -0
  66. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-Ujxum2GY.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs +2 -0
  68. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs +739 -806
  70. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs.map +1 -1
  71. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs +93 -0
  72. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.component-BI9VkzNw.mjs +117 -0
  74. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.component-BI9VkzNw.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-BBhH7KP1.mjs → acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-tMrUDnCb.mjs} +48 -1
  76. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-tMrUDnCb.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-index-kF37zgd4.mjs → acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs} +391 -92
  78. package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs +43 -0
  80. package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs +42 -0
  82. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs.map +1 -0
  83. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs +101 -0
  84. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs.map +1 -0
  85. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.service-YS8FHiRu.mjs +221 -0
  86. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.service-YS8FHiRu.mjs.map +1 -0
  87. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.util-2Kl3_3sg.mjs +61 -0
  88. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.util-2Kl3_3sg.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-C2X3VpEt.mjs → acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs} +3 -7
  90. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs.map +1 -0
  91. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-6i0RkG3L.mjs +557 -0
  92. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-6i0RkG3L.mjs.map +1 -0
  93. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BJsg3pHZ.mjs → acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs} +13 -25
  94. package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs.map +1 -0
  95. package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs +1 -460
  96. package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs.map +1 -1
  97. package/package.json +70 -2
  98. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.d.ts +5 -0
  99. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.d.ts +5 -0
  100. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.d.ts +5 -0
  101. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.d.ts +5 -0
  102. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.d.ts +5 -0
  103. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.d.ts +5 -0
  104. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.d.ts +5 -0
  105. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.d.ts +9 -0
  106. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.d.ts +5 -0
  107. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.d.ts +5 -0
  108. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.d.ts +5 -0
  109. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.d.ts +5 -0
  110. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.d.ts +5 -0
  111. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.d.ts +5 -0
  112. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.d.ts +5 -0
  113. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.d.ts +10 -0
  114. package/types/acorex-platform-module-workplacesafety-management-client-contracts.d.ts +89 -140
  115. package/types/acorex-platform-module-workplacesafety-management-client-local-entities.d.ts +12 -0
  116. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-C-qrrqOV.mjs +0 -203
  117. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-C-qrrqOV.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-BBhH7KP1.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-module-workplacesafety-management-client-hazard-risk-ppe-rule-status.provider-DtqzcWh0.mjs +0 -42
  120. package/fesm2022/acorex-platform-module-workplacesafety-management-client-hazard-risk-ppe-rule-status.provider-DtqzcWh0.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-kF37zgd4.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-C2X3VpEt.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BJsg3pHZ.mjs.map +0 -1
@@ -0,0 +1,549 @@
1
+ import { AXPSessionService, AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';
2
+ import { AXPSearchCommandProvider, AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex-platform/framework-client/common';
3
+ import { AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex-platform/framework-client/core';
4
+ import { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';
5
+ import { AXPEntityService, AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex-platform/framework-client/layout/entity';
6
+ import { AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE, AXPWidgetCoreModule, AXP_WIDGET_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/layout/widget-core';
7
+ import { provideCommand, provideCommandSetups } from '@acorex-platform/framework-client/runtime';
8
+ import * as i0 from '@angular/core';
9
+ import { inject, Injectable, NgModule } from '@angular/core';
10
+ import { RootConfig, AXPSafetyRiskPermissionKeys, AXMWorkplaceSafetyManagementMenuKeys } from '@acorex-platform/module-workplacesafety-management-client/contracts';
11
+ import { AXPCommonMenuKeys, AXPCommonPermissionGroupKeys } from '@acorex-platform/module-common-client/contracts';
12
+ import { createSelectProperty, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';
13
+ import { AXP_NAME_PROPERTY, AXP_DATA_PATH_PROPERTY, AXP_BEHAVIOR_PROPERTY_GROUP, AXP_READONLY_PROPERTY, AXP_DISABLED_PROPERTY, AXP_TRIGGERS_PROPERTY, AXP_REQUIRED_VALIDATION_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';
14
+ import { AXPWidgetsCatalog, AXPSystemStatusType } from '@acorex-platform/framework-shared/core';
15
+ import { unset, isEmpty } from 'lodash';
16
+
17
+ const WorkplaceSafetyManagementManifest = {
18
+ name: RootConfig.module.name,
19
+ version: '1.0.0',
20
+ title: RootConfig.module.title,
21
+ icon: RootConfig.module.icon,
22
+ i18n: RootConfig.config.i18n,
23
+ type: 'domain',
24
+ domain: 'workplace-safety',
25
+ };
26
+
27
+ //#region ---- Imports ----
28
+ //#endregion
29
+ //#region ---- Menu provider ----
30
+ class AXMWorkplaceSafetyManagementMenuProvider {
31
+ constructor() {
32
+ this.entityService = inject(AXPEntityService);
33
+ }
34
+ async provide(context) {
35
+ const module = RootConfig.module;
36
+ const keys = AXPSafetyRiskPermissionKeys;
37
+ //#region ---- Main menu: Workplace Safety ----
38
+ const workplaceSafetyRoot = context.find(AXMWorkplaceSafetyManagementMenuKeys.Root);
39
+ if (!workplaceSafetyRoot.exists) {
40
+ context.addItems([
41
+ {
42
+ name: AXMWorkplaceSafetyManagementMenuKeys.Root,
43
+ priority: 8150,
44
+ text: `@${RootConfig.config.i18n}:module.menus.workplace-safety`,
45
+ icon: module.icon,
46
+ type: 'menu',
47
+ policy: {
48
+ features: [module.name],
49
+ },
50
+ children: [],
51
+ },
52
+ ]);
53
+ }
54
+ context.find(AXMWorkplaceSafetyManagementMenuKeys.Root).addItems([
55
+ {
56
+ name: AXMWorkplaceSafetyManagementMenuKeys.SafetyPlans,
57
+ text: RootConfig.entities.safetyPlan.titlePlural,
58
+ path: this.entityService.createPath(module.name, RootConfig.entities.safetyPlan.name),
59
+ icon: RootConfig.entities.safetyPlan.icon,
60
+ priority: 1,
61
+ policy: {
62
+ permissions: [keys.MaintainSafety],
63
+ },
64
+ },
65
+ ]);
66
+ //#endregion
67
+ //#region ---- Configuration: Workplace Safety ----
68
+ const workplaceSafetyConfiguration = context.find(AXMWorkplaceSafetyManagementMenuKeys.Configuration);
69
+ if (!workplaceSafetyConfiguration.exists) {
70
+ context.find(AXPCommonMenuKeys.Configuration).addItems([
71
+ {
72
+ name: AXMWorkplaceSafetyManagementMenuKeys.Configuration,
73
+ priority: 8945,
74
+ text: `@${RootConfig.config.i18n}:module.menus.workplace-safety`,
75
+ icon: module.icon,
76
+ type: 'menu',
77
+ policy: {
78
+ features: [module.name],
79
+ },
80
+ children: [],
81
+ },
82
+ ]);
83
+ }
84
+ context.find(AXMWorkplaceSafetyManagementMenuKeys.Configuration).addItems([
85
+ {
86
+ text: RootConfig.entities.hazard.titlePlural,
87
+ path: this.entityService.createPath(module.name, RootConfig.entities.hazard.name),
88
+ icon: RootConfig.entities.hazard.icon,
89
+ priority: 1,
90
+ policy: {
91
+ permissions: [keys.MaintainSafety],
92
+ },
93
+ },
94
+ {
95
+ text: RootConfig.entities.ppeItem.titlePlural,
96
+ path: this.entityService.createPath(module.name, RootConfig.entities.ppeItem.name),
97
+ icon: RootConfig.entities.ppeItem.icon,
98
+ priority: 2,
99
+ policy: {
100
+ permissions: [keys.MaintainSafety],
101
+ },
102
+ },
103
+ {
104
+ text: RootConfig.entities.controlHierarchyLevels.titlePlural,
105
+ path: this.entityService.createPath(module.name, RootConfig.entities.controlHierarchyLevels.name),
106
+ icon: RootConfig.entities.controlHierarchyLevels.icon,
107
+ priority: 3,
108
+ policy: {
109
+ permissions: [keys.Setup],
110
+ },
111
+ },
112
+ {
113
+ text: RootConfig.entities.controlMeasure.titlePlural,
114
+ path: this.entityService.createPath(module.name, RootConfig.entities.controlMeasure.name),
115
+ icon: RootConfig.entities.controlMeasure.icon,
116
+ priority: 4,
117
+ policy: {
118
+ permissions: [keys.MaintainSafety],
119
+ },
120
+ },
121
+ {
122
+ name: AXMWorkplaceSafetyManagementMenuKeys.SafetyPlanTypes,
123
+ text: RootConfig.entities.safetyPlanType.titlePlural,
124
+ path: this.entityService.createPath(module.name, RootConfig.entities.safetyPlanType.name),
125
+ icon: RootConfig.entities.safetyPlanType.icon,
126
+ priority: 5,
127
+ policy: {
128
+ permissions: [keys.Setup],
129
+ },
130
+ },
131
+ {
132
+ name: AXMWorkplaceSafetyManagementMenuKeys.SectionTypes,
133
+ text: RootConfig.entities.sectionType.titlePlural,
134
+ path: this.entityService.createPath(module.name, RootConfig.entities.sectionType.name),
135
+ icon: RootConfig.entities.sectionType.icon,
136
+ priority: 6,
137
+ policy: {
138
+ permissions: [keys.Setup],
139
+ },
140
+ },
141
+ // {
142
+ // name: AXMWorkplaceSafetyManagementMenuKeys.WorkStepTypes,
143
+ // text: RootConfig.entities.workStepType.titlePlural,
144
+ // path: this.entityService.createPath(module.name, RootConfig.entities.workStepType.name),
145
+ // icon: RootConfig.entities.workStepType.icon,
146
+ // priority: 7,
147
+ // policy: {
148
+ // permissions: [keys.Setup],
149
+ // },
150
+ // },
151
+ ]);
152
+ //#endregion
153
+ }
154
+ }
155
+ //#endregion
156
+
157
+ //#endregion
158
+ //#region ---- Permission Definition Provider ----
159
+ /**
160
+ * Registers workplace safety capabilities into the shared Safety & Risk group.
161
+ */
162
+ class AXMWorkplaceSafetyManagementPermissionDefinitionProvider {
163
+ async define(context) {
164
+ const keys = AXPSafetyRiskPermissionKeys;
165
+ const groups = AXPCommonPermissionGroupKeys;
166
+ const P = '@common:safety-risk.permissions';
167
+ const G = '@common:permission-groups';
168
+ context.addGroup(groups.SafetyRisk.Root, `${G}.safety-risk.title`, `${G}.safety-risk.description`, { order: 30 });
169
+ context
170
+ .addGroup(groups.SafetyRisk.WorkplaceSafety, `${G}.safety-risk-workplace-safety.title`, `${G}.safety-risk-workplace-safety.description`, { parent: groups.SafetyRisk.Root, order: 10 })
171
+ .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)
172
+ .endPermission()
173
+ .addPermission(keys.MaintainSafety, `${P}.maintain-safety.title`, `${P}.maintain-safety.description`)
174
+ .endPermission()
175
+ .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)
176
+ .endPermission()
177
+ .endGroup();
178
+ }
179
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementPermissionDefinitionProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
180
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementPermissionDefinitionProvider }); }
181
+ }
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementPermissionDefinitionProvider, decorators: [{
183
+ type: Injectable
184
+ }] });
185
+
186
+ class AXMWorkplaceSafetyManagementSearchCommandProvider extends AXPSearchCommandProvider {
187
+ constructor() {
188
+ super(...arguments);
189
+ this.commands = [];
190
+ }
191
+ }
192
+
193
+ //#region ---- Imports ----
194
+ //#endregion
195
+ //#region ---- Widget Config ----
196
+ const AXMControlHierarchyDiagramWidget = {
197
+ name: 'control-hierarchy-diagram-editor',
198
+ title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.widget-title',
199
+ description: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.widget-description',
200
+ icon: 'fa-light fa-layer-group',
201
+ categories: AXP_WIDGETS_EDITOR_CATEGORY,
202
+ groups: [AXPWidgetGroupEnum.UtilityWidget],
203
+ type: 'view',
204
+ options: {
205
+ needLabel: false,
206
+ },
207
+ properties: [
208
+ AXP_NAME_PROPERTY,
209
+ AXP_DATA_PATH_PROPERTY,
210
+ createSelectProperty({
211
+ name: 'viewType',
212
+ title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.fields.view-type.title',
213
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
214
+ path: 'options.viewType',
215
+ defaultValue: { id: 'horizontal', title: 'Horizontal cards' },
216
+ dataSource: [
217
+ {
218
+ id: 'horizontal',
219
+ title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.view-types.horizontal',
220
+ },
221
+ {
222
+ id: 'vertical',
223
+ title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.view-types.vertical',
224
+ },
225
+ {
226
+ id: 'horizontal-chevron',
227
+ title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.view-types.horizontal-chevron',
228
+ },
229
+ ],
230
+ }),
231
+ ],
232
+ components: {
233
+ view: {
234
+ component: () => import('./acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs').then((c) => c.AXMControlHierarchyDiagramWidgetViewComponent),
235
+ },
236
+ },
237
+ };
238
+ //#endregion
239
+
240
+ //#region ----- Types -----
241
+ const PPE_ITEM_VIEWER_WIDGET_NAME = 'ppe-item-viewer';
242
+ //#endregion
243
+
244
+ //#region ----- Imports -----
245
+ //#endregion
246
+ //#region ----- Widget Config -----
247
+ const AXMPpeItemViewerWidget = {
248
+ name: PPE_ITEM_VIEWER_WIDGET_NAME,
249
+ title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.widget-title',
250
+ description: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.widget-description',
251
+ icon: 'fa-light fa-helmet-safety',
252
+ categories: AXP_WIDGETS_EDITOR_CATEGORY,
253
+ subCategory: AXP_WIDGETS_EDITOR_SUB_CHOICE,
254
+ groups: [AXPWidgetGroupEnum.FormElement],
255
+ defaultFilterWidgetName: 'lookup-filter',
256
+ type: 'editor',
257
+ options: {
258
+ needLabel: false,
259
+ },
260
+ properties: [
261
+ AXP_NAME_PROPERTY,
262
+ AXP_DATA_PATH_PROPERTY,
263
+ {
264
+ name: 'ppeItems',
265
+ title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.fields.ppe-items.title',
266
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
267
+ schema: {
268
+ dataType: 'array',
269
+ interface: {
270
+ name: 'ppeItems',
271
+ path: 'options.ppeItems',
272
+ type: AXPWidgetsCatalog.lookup,
273
+ options: {
274
+ entity: `${RootConfig.module.name}.${RootConfig.entities.ppeItem.name}`,
275
+ look: 'select',
276
+ multiple: true,
277
+ allowSearch: true,
278
+ valueField: 'id',
279
+ textField: 'title',
280
+ },
281
+ },
282
+ },
283
+ visible: true,
284
+ },
285
+ createSelectProperty({
286
+ name: 'layout',
287
+ title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.fields.layout.title',
288
+ group: AXP_BEHAVIOR_PROPERTY_GROUP,
289
+ path: 'options.layout',
290
+ defaultValue: {
291
+ id: 'horizontal',
292
+ title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.layouts.horizontal',
293
+ },
294
+ dataSource: [
295
+ {
296
+ id: 'horizontal',
297
+ title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.layouts.horizontal',
298
+ },
299
+ {
300
+ id: 'vertical',
301
+ title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.layouts.vertical',
302
+ },
303
+ ],
304
+ }),
305
+ AXP_READONLY_PROPERTY,
306
+ AXP_DISABLED_PROPERTY,
307
+ AXP_TRIGGERS_PROPERTY,
308
+ AXP_REQUIRED_VALIDATION_PROPERTY,
309
+ ],
310
+ components: {
311
+ edit: {
312
+ component: () => import('./acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs').then((c) => c.AXMPpeItemViewerWidgetEditComponent),
313
+ },
314
+ view: {
315
+ component: () => import('./acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs').then((c) => c.AXMPpeItemViewerWidgetEditComponent),
316
+ },
317
+ designer: {
318
+ component: () => import('./acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs').then((c) => c.AXMPpeItemViewerWidgetEditComponent),
319
+ },
320
+ print: {
321
+ component: () => import('./acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs').then((c) => c.AXMPpeItemViewerWidgetEditComponent),
322
+ },
323
+ column: {
324
+ component: () => import('./acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs').then((c) => c.AXMPpeItemViewerWidgetColumnComponent),
325
+ },
326
+ },
327
+ };
328
+ //#endregion
329
+
330
+ //#endregion
331
+ //#region ---- Widget Provider ----
332
+ class AXMWorkplaceSafetyManagementWidgetsProvider {
333
+ getWidgets() {
334
+ return [AXMControlHierarchyDiagramWidget, AXMPpeItemViewerWidget];
335
+ }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementWidgetsProvider, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
337
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementWidgetsProvider }); }
338
+ }
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementWidgetsProvider, decorators: [{
340
+ type: Injectable
341
+ }] });
342
+
343
+ //#region ---- Imports ----
344
+ //#endregion
345
+ //#region ---- Middleware ----
346
+ /**
347
+ * Strips transient hierarchy diagram UI fields before persisting Control Hierarchy records.
348
+ * View type and diagram preview exist only on the entity form and must not be stored.
349
+ */
350
+ const controlHierarchyLevelsUiCleanupMiddleware = {
351
+ target: {
352
+ ops: ['create', 'update'],
353
+ order: 10,
354
+ },
355
+ execute: async (ctx, next) => {
356
+ const entityFullName = `${RootConfig.module.name}.${RootConfig.entities.controlHierarchyLevels.name}`;
357
+ if (ctx.entityName !== entityFullName || !ctx.data) {
358
+ await next();
359
+ return;
360
+ }
361
+ unset(ctx.data, 'hierarchyDiagramViewType');
362
+ unset(ctx.data, 'hierarchyDiagram');
363
+ await next();
364
+ },
365
+ };
366
+ //#endregion
367
+
368
+ //#region ---- Imports ----
369
+ //#endregion
370
+ //#region ---- Middleware ----
371
+ const safetyPlanEntityName = `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}`;
372
+ /**
373
+ * Safety plan publication metadata is system-managed: stamped when status transitions to Published.
374
+ */
375
+ const safetyPlanPublicationMiddleware = {
376
+ target: {
377
+ ops: ['create', 'update'],
378
+ entity: safetyPlanEntityName,
379
+ order: 15,
380
+ },
381
+ execute: async (ctx, next) => {
382
+ if (!ctx.data || typeof ctx.data !== 'object') {
383
+ await next();
384
+ return;
385
+ }
386
+ const data = ctx.data;
387
+ if (ctx.op === 'create') {
388
+ unset(data, 'publishedAt');
389
+ unset(data, 'publishedById');
390
+ unset(data, 'publishedBy');
391
+ if (!data['status']) {
392
+ data['status'] = AXPSystemStatusType.Draft;
393
+ }
394
+ await next();
395
+ return;
396
+ }
397
+ const previous = ctx.previous ??
398
+ (ctx.id != null ? await ctx.backend.getOne(ctx.entityName, ctx.id).catch(() => null) : null);
399
+ const previousRecord = (previous ?? {});
400
+ const previousStatus = typeof previousRecord['status'] === 'string' ? previousRecord['status'] : undefined;
401
+ const nextStatus = typeof data['status'] === 'string' ? data['status'] : previousStatus;
402
+ unset(data, 'publishedAt');
403
+ unset(data, 'publishedById');
404
+ unset(data, 'publishedBy');
405
+ if (nextStatus === AXPSystemStatusType.Published &&
406
+ previousStatus !== AXPSystemStatusType.Published) {
407
+ data['publishedAt'] = new Date().toISOString();
408
+ const currentUserId = inject(AXPSessionService, { optional: true })?.user?.id;
409
+ if (!isEmpty(currentUserId)) {
410
+ data['publishedById'] = currentUserId;
411
+ }
412
+ }
413
+ else if (previousStatus === AXPSystemStatusType.Published) {
414
+ if (previousRecord['publishedAt']) {
415
+ data['publishedAt'] = previousRecord['publishedAt'];
416
+ }
417
+ if (previousRecord['publishedById']) {
418
+ data['publishedById'] = previousRecord['publishedById'];
419
+ }
420
+ if (previousRecord['publishedBy']) {
421
+ data['publishedBy'] = previousRecord['publishedBy'];
422
+ }
423
+ }
424
+ await next();
425
+ },
426
+ };
427
+ //#endregion
428
+
429
+ class AXMWorkplaceSafetyManagementModule {
430
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
431
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementModule, imports: [AXPWidgetCoreModule] }); }
432
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementModule, providers: [
433
+ {
434
+ provide: AXP_MODULE_MANIFEST_PROVIDER,
435
+ useValue: WorkplaceSafetyManagementManifest,
436
+ multi: true,
437
+ },
438
+ {
439
+ provide: AXP_PERMISSION_DEFINITION_PROVIDER,
440
+ useClass: AXMWorkplaceSafetyManagementPermissionDefinitionProvider,
441
+ multi: true,
442
+ },
443
+ {
444
+ provide: AXP_MENU_PROVIDER,
445
+ useClass: AXMWorkplaceSafetyManagementMenuProvider,
446
+ multi: true,
447
+ },
448
+ {
449
+ provide: AXP_ENTITY_STORAGE_MIDDLEWARE,
450
+ useValue: controlHierarchyLevelsUiCleanupMiddleware,
451
+ multi: true,
452
+ },
453
+ {
454
+ provide: AXP_ENTITY_STORAGE_MIDDLEWARE,
455
+ useValue: safetyPlanPublicationMiddleware,
456
+ multi: true,
457
+ },
458
+ {
459
+ provide: AXP_SEARCH_PROVIDER,
460
+ useClass: AXMWorkplaceSafetyManagementSearchCommandProvider,
461
+ multi: true,
462
+ },
463
+ provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-ppe-rule-status.provider-o4bAwYcq.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardPpeRuleStatusProvider)),
464
+ provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-risk-status.provider-B6IkRYbW.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardRiskStatusProvider)),
465
+ provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-safety-plan-status.provider-BpWx3gIf.mjs').then((m) => m.AXMWorkplaceSafetyManagementSafetyPlanStatusProvider)),
466
+ provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs').then((m) => m.AXMSafetyPlanSectionsPageComponentProvider)),
467
+ provideCommand('SafetyPlan:Sections:Save', () => import('./acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs').then(function (n) { return n.b; }).then((m) => m.AXMSaveSafetyPlanSectionsCommand)),
468
+ {
469
+ provide: AXP_WIDGET_DEFINITION_PROVIDER,
470
+ useClass: AXMWorkplaceSafetyManagementWidgetsProvider,
471
+ multi: true,
472
+ },
473
+ provideCommandSetups([
474
+ {
475
+ key: `${RootConfig.module.name}.${RootConfig.entities.controlHierarchyLevels.name}:Preview`,
476
+ command: () => import('./acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs').then((c) => c.AXMPreviewControlHierarchyDiagramCommand),
477
+ },
478
+ {
479
+ key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Publish`,
480
+ command: () => import('./acorex-platform-module-workplacesafety-management-client-publish-safety-plan.command-Ci-zcrmO.mjs').then((c) => c.AXMPublishSafetyPlanCommand),
481
+ },
482
+ ]),
483
+ ], imports: [AXPWidgetCoreModule] }); }
484
+ }
485
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMWorkplaceSafetyManagementModule, decorators: [{
486
+ type: NgModule,
487
+ args: [{
488
+ imports: [AXPWidgetCoreModule],
489
+ providers: [
490
+ {
491
+ provide: AXP_MODULE_MANIFEST_PROVIDER,
492
+ useValue: WorkplaceSafetyManagementManifest,
493
+ multi: true,
494
+ },
495
+ {
496
+ provide: AXP_PERMISSION_DEFINITION_PROVIDER,
497
+ useClass: AXMWorkplaceSafetyManagementPermissionDefinitionProvider,
498
+ multi: true,
499
+ },
500
+ {
501
+ provide: AXP_MENU_PROVIDER,
502
+ useClass: AXMWorkplaceSafetyManagementMenuProvider,
503
+ multi: true,
504
+ },
505
+ {
506
+ provide: AXP_ENTITY_STORAGE_MIDDLEWARE,
507
+ useValue: controlHierarchyLevelsUiCleanupMiddleware,
508
+ multi: true,
509
+ },
510
+ {
511
+ provide: AXP_ENTITY_STORAGE_MIDDLEWARE,
512
+ useValue: safetyPlanPublicationMiddleware,
513
+ multi: true,
514
+ },
515
+ {
516
+ provide: AXP_SEARCH_PROVIDER,
517
+ useClass: AXMWorkplaceSafetyManagementSearchCommandProvider,
518
+ multi: true,
519
+ },
520
+ provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-ppe-rule-status.provider-o4bAwYcq.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardPpeRuleStatusProvider)),
521
+ provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-risk-status.provider-B6IkRYbW.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardRiskStatusProvider)),
522
+ provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-safety-plan-status.provider-BpWx3gIf.mjs').then((m) => m.AXMWorkplaceSafetyManagementSafetyPlanStatusProvider)),
523
+ provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs').then((m) => m.AXMSafetyPlanSectionsPageComponentProvider)),
524
+ provideCommand('SafetyPlan:Sections:Save', () => import('./acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs').then(function (n) { return n.b; }).then((m) => m.AXMSaveSafetyPlanSectionsCommand)),
525
+ {
526
+ provide: AXP_WIDGET_DEFINITION_PROVIDER,
527
+ useClass: AXMWorkplaceSafetyManagementWidgetsProvider,
528
+ multi: true,
529
+ },
530
+ provideCommandSetups([
531
+ {
532
+ key: `${RootConfig.module.name}.${RootConfig.entities.controlHierarchyLevels.name}:Preview`,
533
+ command: () => import('./acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs').then((c) => c.AXMPreviewControlHierarchyDiagramCommand),
534
+ },
535
+ {
536
+ key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Publish`,
537
+ command: () => import('./acorex-platform-module-workplacesafety-management-client-publish-safety-plan.command-Ci-zcrmO.mjs').then((c) => c.AXMPublishSafetyPlanCommand),
538
+ },
539
+ ]),
540
+ ],
541
+ }]
542
+ }] });
543
+
544
+ /**
545
+ * Generated bundle index. Do not edit.
546
+ */
547
+
548
+ export { AXMWorkplaceSafetyManagementMenuProvider as A, PPE_ITEM_VIEWER_WIDGET_NAME as P, AXMWorkplaceSafetyManagementModule as a, AXMWorkplaceSafetyManagementSearchCommandProvider as b };
549
+ //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs","sources":["../../../../libs/modules/workplacesafety-management/client/src/lib/manifest.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/menu.provider.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/features/control-hierarchy-diagram/control-hierarchy-diagram-widget.config.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/features/ppe-item-viewer/ppe-item-viewer.types.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/features/ppe-item-viewer/ppe-item-viewer-widget.config.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/widget-definition.provider.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/middlewares/control-hierarchy-levels-ui-cleanup.middleware.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/middlewares/safety-plan-publication.middleware.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/workplacesafety-management.module.ts","../../../../libs/modules/workplacesafety-management/client/src/acorex-platform-module-workplacesafety-management-client.ts"],"sourcesContent":["import { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\nexport const WorkplaceSafetyManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'domain',\n domain: 'workplace-safety',\n};\n","//#region ---- Imports ----\n\nimport {\n AXPCommonMenuKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport {\n RootConfig,\n AXPSafetyRiskPermissionKeys\n} from '@acorex-platform/module-workplacesafety-management-client/contracts';\nimport { AXMWorkplaceSafetyManagementMenuKeys } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\n//#endregion\n\n//#region ---- Menu provider ----\n\nexport class AXMWorkplaceSafetyManagementMenuProvider implements AXPMenuProvider {\n private entityService = inject(AXPEntityService);\n\n public async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n const keys = AXPSafetyRiskPermissionKeys;\n\n //#region ---- Main menu: Workplace Safety ----\n\n const workplaceSafetyRoot = context.find(AXMWorkplaceSafetyManagementMenuKeys.Root);\n if (!workplaceSafetyRoot.exists) {\n context.addItems([\n {\n name: AXMWorkplaceSafetyManagementMenuKeys.Root,\n priority: 8150,\n text: `@${RootConfig.config.i18n}:module.menus.workplace-safety`,\n icon: module.icon,\n type: 'menu',\n policy: {\n features: [module.name],\n },\n children: [],\n },\n ]);\n }\n\n context.find(AXMWorkplaceSafetyManagementMenuKeys.Root).addItems([\n {\n name: AXMWorkplaceSafetyManagementMenuKeys.SafetyPlans,\n text: RootConfig.entities.safetyPlan.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.safetyPlan.name),\n icon: RootConfig.entities.safetyPlan.icon,\n priority: 1,\n policy: {\n permissions: [keys.MaintainSafety],\n },\n },\n ]);\n\n //#endregion\n\n //#region ---- Configuration: Workplace Safety ----\n\n const workplaceSafetyConfiguration = context.find(AXMWorkplaceSafetyManagementMenuKeys.Configuration);\n if (!workplaceSafetyConfiguration.exists) {\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXMWorkplaceSafetyManagementMenuKeys.Configuration,\n priority: 8945,\n text: `@${RootConfig.config.i18n}:module.menus.workplace-safety`,\n icon: module.icon,\n type: 'menu',\n policy: {\n features: [module.name],\n },\n children: [],\n },\n ]);\n }\n\n context.find(AXMWorkplaceSafetyManagementMenuKeys.Configuration).addItems([\n {\n text: RootConfig.entities.hazard.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.hazard.name),\n icon: RootConfig.entities.hazard.icon,\n priority: 1,\n policy: {\n permissions: [keys.MaintainSafety],\n },\n },\n {\n text: RootConfig.entities.ppeItem.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.ppeItem.name),\n icon: RootConfig.entities.ppeItem.icon,\n priority: 2,\n policy: {\n permissions: [keys.MaintainSafety],\n },\n },\n {\n text: RootConfig.entities.controlHierarchyLevels.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.controlHierarchyLevels.name),\n icon: RootConfig.entities.controlHierarchyLevels.icon,\n priority: 3,\n policy: {\n permissions: [keys.Setup],\n },\n },\n {\n text: RootConfig.entities.controlMeasure.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.controlMeasure.name),\n icon: RootConfig.entities.controlMeasure.icon,\n priority: 4,\n policy: {\n permissions: [keys.MaintainSafety],\n },\n },\n {\n name: AXMWorkplaceSafetyManagementMenuKeys.SafetyPlanTypes,\n text: RootConfig.entities.safetyPlanType.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.safetyPlanType.name),\n icon: RootConfig.entities.safetyPlanType.icon,\n priority: 5,\n policy: {\n permissions: [keys.Setup],\n },\n },\n {\n name: AXMWorkplaceSafetyManagementMenuKeys.SectionTypes,\n text: RootConfig.entities.sectionType.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.sectionType.name),\n icon: RootConfig.entities.sectionType.icon,\n priority: 6,\n policy: {\n permissions: [keys.Setup],\n },\n },\n // {\n // name: AXMWorkplaceSafetyManagementMenuKeys.WorkStepTypes,\n // text: RootConfig.entities.workStepType.titlePlural,\n // path: this.entityService.createPath(module.name, RootConfig.entities.workStepType.name),\n // icon: RootConfig.entities.workStepType.icon,\n // priority: 7,\n // policy: {\n // permissions: [keys.Setup],\n // },\n // },\n ]);\n\n //#endregion\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex-platform/framework-client/auth';\nimport { AXPCommonPermissionGroupKeys } from '@acorex-platform/module-common-client/contracts';\nimport { AXPSafetyRiskPermissionKeys } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers workplace safety capabilities into the shared Safety & Risk group.\n */\n@Injectable()\nexport class AXMWorkplaceSafetyManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPSafetyRiskPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:safety-risk.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.SafetyRisk.Root, `${G}.safety-risk.title`, `${G}.safety-risk.description`, { order: 30 });\n\n context\n .addGroup(groups.SafetyRisk.WorkplaceSafety, `${G}.safety-risk-workplace-safety.title`, `${G}.safety-risk-workplace-safety.description`, { parent: groups.SafetyRisk.Root, order: 10 })\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(keys.MaintainSafety, `${P}.maintain-safety.title`, `${P}.maintain-safety.description`)\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","import { AXPSearchCommandProvider, AXPSearchResult } from '@acorex-platform/framework-client/common';\n\nexport class AXMWorkplaceSafetyManagementSearchCommandProvider extends AXPSearchCommandProvider {\n public commands: AXPSearchResult[] = [];\n}\n","//#region ---- Imports ----\n\nimport { AXPWidgetConfig, AXPWidgetGroupEnum, createSelectProperty } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex-platform/framework-client/layout/widget-core';\nimport {\n AXP_BEHAVIOR_PROPERTY_GROUP,\n AXP_DATA_PATH_PROPERTY,\n AXP_NAME_PROPERTY,\n} from '@acorex-platform/framework-client/layout/widgets';\n\nimport { type AXMControlHierarchyDiagramViewTypeOption } from './control-hierarchy-diagram.types';\n\n//#endregion\n\n//#region ---- Widget Config ----\n\nexport const AXMControlHierarchyDiagramWidget: AXPWidgetConfig = {\n name: 'control-hierarchy-diagram-editor',\n title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.widget-title',\n description: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.widget-description',\n icon: 'fa-light fa-layer-group',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n type: 'view',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n createSelectProperty({\n name: 'viewType',\n title: '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.fields.view-type.title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n path: 'options.viewType',\n defaultValue: { id: 'horizontal', title: 'Horizontal cards' },\n dataSource: [\n {\n id: 'horizontal',\n title:\n '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.view-types.horizontal',\n },\n {\n id: 'vertical',\n title:\n '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.view-types.vertical',\n },\n {\n id: 'horizontal-chevron',\n title:\n '@workplacesafety-management:control-measure-types.components.control-hierarchy-diagram.view-types.horizontal-chevron',\n },\n ],\n }),\n ],\n components: {\n view: {\n component: () =>\n import('./control-hierarchy-diagram-widget-view.component').then(\n (c) => c.AXMControlHierarchyDiagramWidgetViewComponent,\n ),\n },\n },\n};\n\nexport type AXMControlHierarchyDiagramWidgetOptions = {\n /** Default layout when context has no `hierarchyDiagramViewType`. */\n viewType?: AXMControlHierarchyDiagramViewTypeOption;\n highlightLevelId?: string;\n showTitle?: boolean;\n showViewTypeSelector?: boolean;\n};\n\n//#endregion\n","//#region ----- Types -----\n\nexport const PPE_ITEM_VIEWER_WIDGET_NAME = 'ppe-item-viewer';\n\nexport type AXMPpeItemViewerLayout = 'horizontal' | 'vertical';\n\nexport type AXMPpeItemViewerLayoutOption =\n | AXMPpeItemViewerLayout\n | { id: AXMPpeItemViewerLayout; title?: string };\n\nexport type AXMPpeItemViewerLook = 'card' | 'list';\n\nexport interface AXMPpeItemViewerDisplayItem {\n id: string;\n title: string;\n code?: string;\n serialNumber?: string;\n imageUrl: string | null;\n}\n\nexport interface AXMPpeItemViewerWidgetOptions {\n ppeItems?: unknown;\n layout?: AXMPpeItemViewerLayoutOption;\n disabled?: boolean;\n readonly?: boolean;\n label?: string;\n}\n\n//#endregion\n","//#region ----- Imports -----\n\nimport { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPWidgetConfig, AXPWidgetGroupEnum, createSelectProperty } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY, AXP_WIDGETS_EDITOR_SUB_CHOICE } from '@acorex-platform/framework-client/layout/widget-core';\nimport {\n AXP_BEHAVIOR_PROPERTY_GROUP,\n AXP_DATA_PATH_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_NAME_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_REQUIRED_VALIDATION_PROPERTY,\n AXP_TRIGGERS_PROPERTY,\n} from '@acorex-platform/framework-client/layout/widgets';\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\nimport { PPE_ITEM_VIEWER_WIDGET_NAME } from './ppe-item-viewer.types';\n\n//#endregion\n\n//#region ----- Widget Config -----\n\nexport const AXMPpeItemViewerWidget: AXPWidgetConfig = {\n name: PPE_ITEM_VIEWER_WIDGET_NAME,\n title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.widget-title',\n description: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.widget-description',\n icon: 'fa-light fa-helmet-safety',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n subCategory: AXP_WIDGETS_EDITOR_SUB_CHOICE,\n groups: [AXPWidgetGroupEnum.FormElement],\n defaultFilterWidgetName: 'lookup-filter',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n {\n name: 'ppeItems',\n title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.fields.ppe-items.title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n schema: {\n dataType: 'array',\n interface: {\n name: 'ppeItems',\n path: 'options.ppeItems',\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.ppeItem.name}`,\n look: 'select',\n multiple: true,\n allowSearch: true,\n valueField: 'id',\n textField: 'title',\n },\n },\n },\n visible: true,\n },\n createSelectProperty({\n name: 'layout',\n title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.fields.layout.title',\n group: AXP_BEHAVIOR_PROPERTY_GROUP,\n path: 'options.layout',\n defaultValue: {\n id: 'horizontal',\n title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.layouts.horizontal',\n },\n dataSource: [\n {\n id: 'horizontal',\n title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.layouts.horizontal',\n },\n {\n id: 'vertical',\n title: '@workplacesafety-management:ppe-items.components.ppe-item-viewer.layouts.vertical',\n },\n ],\n }),\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n AXP_TRIGGERS_PROPERTY,\n AXP_REQUIRED_VALIDATION_PROPERTY,\n ],\n components: {\n edit: {\n component: () =>\n import('./ppe-item-viewer-widget-edit.component').then((c) => c.AXMPpeItemViewerWidgetEditComponent),\n },\n view: {\n component: () =>\n import('./ppe-item-viewer-widget-edit.component').then((c) => c.AXMPpeItemViewerWidgetEditComponent),\n },\n designer: {\n component: () =>\n import('./ppe-item-viewer-widget-edit.component').then((c) => c.AXMPpeItemViewerWidgetEditComponent),\n },\n print: {\n component: () =>\n import('./ppe-item-viewer-widget-edit.component').then((c) => c.AXMPpeItemViewerWidgetEditComponent),\n },\n column: {\n component: () =>\n import('./ppe-item-viewer-widget-column.component').then((c) => c.AXMPpeItemViewerWidgetColumnComponent),\n },\n },\n};\n\ndeclare module '@acorex-platform/framework-shared/widget-core' {\n interface AXPWidgetTypesMap {\n ppeItemViewer: 'ppe-item-viewer';\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\n\nimport { AXMControlHierarchyDiagramWidget } from './features/control-hierarchy-diagram/control-hierarchy-diagram-widget.config';\nimport { AXMPpeItemViewerWidget } from './features/ppe-item-viewer/ppe-item-viewer-widget.config';\n\n//#endregion\n\n//#region ---- Widget Provider ----\n\n@Injectable()\nexport class AXMWorkplaceSafetyManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXMControlHierarchyDiagramWidget, AXMPpeItemViewerWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPEntityStorageMiddleware } from '@acorex-platform/framework-client/layout/entity';\nimport { unset } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\n//#endregion\n\n//#region ---- Middleware ----\n\n/**\n * Strips transient hierarchy diagram UI fields before persisting Control Hierarchy records.\n * View type and diagram preview exist only on the entity form and must not be stored.\n */\nexport const controlHierarchyLevelsUiCleanupMiddleware: AXPEntityStorageMiddleware = {\n target: {\n ops: ['create', 'update'],\n order: 10,\n },\n\n execute: async (ctx, next) => {\n const entityFullName = `${RootConfig.module.name}.${RootConfig.entities.controlHierarchyLevels.name}`;\n\n if (ctx.entityName !== entityFullName || !ctx.data) {\n await next();\n return;\n }\n\n unset(ctx.data, 'hierarchyDiagramViewType');\n unset(ctx.data, 'hierarchyDiagram');\n\n await next();\n },\n};\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport { AXPEntityStorageMiddleware } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPSystemStatusType } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\nimport { inject } from '@angular/core';\nimport { isEmpty, unset } from 'lodash';\n\n//#endregion\n\n//#region ---- Middleware ----\n\nconst safetyPlanEntityName = `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}`;\n\n/**\n * Safety plan publication metadata is system-managed: stamped when status transitions to Published.\n */\nexport const safetyPlanPublicationMiddleware: AXPEntityStorageMiddleware = {\n target: {\n ops: ['create', 'update'],\n entity: safetyPlanEntityName,\n order: 15,\n },\n\n execute: async (ctx, next) => {\n if (!ctx.data || typeof ctx.data !== 'object') {\n await next();\n return;\n }\n\n const data = ctx.data as Record<string, unknown>;\n\n if (ctx.op === 'create') {\n unset(data, 'publishedAt');\n unset(data, 'publishedById');\n unset(data, 'publishedBy');\n if (!data['status']) {\n data['status'] = AXPSystemStatusType.Draft;\n }\n await next();\n return;\n }\n\n const previous =\n ctx.previous ??\n (ctx.id != null ? await ctx.backend.getOne(ctx.entityName, ctx.id).catch(() => null) : null);\n const previousRecord = (previous ?? {}) as Record<string, unknown>;\n const previousStatus =\n typeof previousRecord['status'] === 'string' ? (previousRecord['status'] as string) : undefined;\n const nextStatus = typeof data['status'] === 'string' ? (data['status'] as string) : previousStatus;\n\n unset(data, 'publishedAt');\n unset(data, 'publishedById');\n unset(data, 'publishedBy');\n\n if (\n nextStatus === AXPSystemStatusType.Published &&\n previousStatus !== AXPSystemStatusType.Published\n ) {\n data['publishedAt'] = new Date().toISOString();\n const currentUserId = inject(AXPSessionService, { optional: true })?.user?.id;\n if (!isEmpty(currentUserId)) {\n data['publishedById'] = currentUserId;\n }\n } else if (previousStatus === AXPSystemStatusType.Published) {\n if (previousRecord['publishedAt']) {\n data['publishedAt'] = previousRecord['publishedAt'];\n }\n if (previousRecord['publishedById']) {\n data['publishedById'] = previousRecord['publishedById'];\n }\n if (previousRecord['publishedBy']) {\n data['publishedBy'] = previousRecord['publishedBy'];\n }\n }\n\n await next();\n },\n};\n\n//#endregion\n","import { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER, AXP_STATUS_PROVIDERS } from '@acorex-platform/framework-client/common';\nimport { AXP_MODULE_MANIFEST_PROVIDER, provideLazyProvider } from '@acorex-platform/framework-client/core';\nimport { AXP_PAGE_COMPONENT_PROVIDER } from '@acorex-platform/framework-client/layout/components';\nimport { AXP_ENTITY_STORAGE_MIDDLEWARE } from '@acorex-platform/framework-client/layout/entity';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { provideCommand, provideCommandSetups } from '@acorex-platform/framework-client/runtime';\nimport { NgModule } from '@angular/core';\n\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\nimport { WorkplaceSafetyManagementManifest } from './manifest';\nimport { AXMWorkplaceSafetyManagementMenuProvider } from './menu.provider';\nimport { AXMWorkplaceSafetyManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMWorkplaceSafetyManagementSearchCommandProvider } from './search-command.provider';\nimport { AXMWorkplaceSafetyManagementWidgetsProvider } from './widget-definition.provider';\nimport { controlHierarchyLevelsUiCleanupMiddleware, safetyPlanPublicationMiddleware } from './middlewares';\n\n@NgModule({\n imports: [AXPWidgetCoreModule],\n providers: [\n\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: WorkplaceSafetyManagementManifest,\n multi: true,\n },\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMWorkplaceSafetyManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMWorkplaceSafetyManagementMenuProvider,\n multi: true,\n },\n \n {\n provide: AXP_ENTITY_STORAGE_MIDDLEWARE,\n useValue: controlHierarchyLevelsUiCleanupMiddleware,\n multi: true,\n },\n {\n provide: AXP_ENTITY_STORAGE_MIDDLEWARE,\n useValue: safetyPlanPublicationMiddleware,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMWorkplaceSafetyManagementSearchCommandProvider,\n multi: true,\n },\n provideLazyProvider(AXP_STATUS_PROVIDERS, () =>\n import('./features/hazard-ppe-rule-status.provider').then(\n (m) => m.AXMWorkplaceSafetyManagementHazardPpeRuleStatusProvider,\n ),\n ),\n provideLazyProvider(AXP_STATUS_PROVIDERS, () =>\n import('./features/hazard-risk-status.provider').then(\n (m) => m.AXMWorkplaceSafetyManagementHazardRiskStatusProvider,\n ),\n ),\n provideLazyProvider(AXP_STATUS_PROVIDERS, () =>\n import('./features/safety-plan-status.provider').then(\n (m) => m.AXMWorkplaceSafetyManagementSafetyPlanStatusProvider,\n ),\n ),\n provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () =>\n import('./features/safety-plan-sections-page').then((m) => m.AXMSafetyPlanSectionsPageComponentProvider),\n ),\n provideCommand('SafetyPlan:Sections:Save', () =>\n import('./features/safety-plan-sections-page/save-safety-plan-sections.command').then(\n (m) => m.AXMSaveSafetyPlanSectionsCommand,\n ),\n ),\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMWorkplaceSafetyManagementWidgetsProvider,\n multi: true,\n },\n provideCommandSetups([\n {\n key: `${RootConfig.module.name}.${RootConfig.entities.controlHierarchyLevels.name}:Preview`,\n command: () =>\n import('./features/control-hierarchy-diagram/commands/preview-control-hierarchy-diagram.command').then(\n (c) => c.AXMPreviewControlHierarchyDiagramCommand,\n ),\n },\n {\n key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Publish`,\n command: () =>\n import('./features/safety-plan/commands/publish-safety-plan.command').then(\n (c) => c.AXMPublishSafetyPlanCommand,\n ),\n },\n ]),\n ],\n})\nexport class AXMWorkplaceSafetyManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}