@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.
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs +549 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs +509 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs +297 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs +431 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs +416 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs +476 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs +482 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs +345 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs +1458 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs +1313 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs +295 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs +542 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs +470 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs +369 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs +299 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs +1358 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-CeTmhod5.mjs +170 -0
- 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
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-Dae2kkZe.mjs +372 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-Dae2kkZe.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-CpNcN6Pf.mjs +160 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-CpNcN6Pf.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-BcsAnO9h.mjs +294 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-BcsAnO9h.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-C9wGZ3hB.mjs +279 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-C9wGZ3hB.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-AUr2GVLU.mjs +339 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-AUr2GVLU.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-J6fveZKA.mjs +345 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-J6fveZKA.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-3fQPlBBf.mjs +208 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-3fQPlBBf.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-BRGcQo7H.mjs +971 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-BRGcQo7H.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BPx-3rYX.mjs +356 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BPx-3rYX.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-_nG09ZpE.mjs +211 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-_nG09ZpE.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-CIH7W9R7.mjs +158 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-CIH7W9R7.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-DmFYsBhI.mjs +405 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-DmFYsBhI.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs +333 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs +232 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-73MUyaIk.mjs +162 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-73MUyaIk.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-Ujxum2GY.mjs +256 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-Ujxum2GY.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs +2 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs +739 -806
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs +93 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.component-BI9VkzNw.mjs +117 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.component-BI9VkzNw.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-tMrUDnCb.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-index-kF37zgd4.mjs → acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs} +391 -92
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs +43 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs +42 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs +101 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.service-YS8FHiRu.mjs +221 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.service-YS8FHiRu.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.util-2Kl3_3sg.mjs +61 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.util-2Kl3_3sg.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-6i0RkG3L.mjs +557 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-6i0RkG3L.mjs.map +1 -0
- 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
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs +1 -460
- package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs.map +1 -1
- package/package.json +70 -2
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.d.ts +9 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.d.ts +5 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.d.ts +10 -0
- package/types/acorex-platform-module-workplacesafety-management-client-contracts.d.ts +89 -140
- package/types/acorex-platform-module-workplacesafety-management-client-local-entities.d.ts +12 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-C-qrrqOV.mjs +0 -203
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-C-qrrqOV.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-BBhH7KP1.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-hazard-risk-ppe-rule-status.provider-DtqzcWh0.mjs +0 -42
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-hazard-risk-ppe-rule-status.provider-DtqzcWh0.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-kF37zgd4.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-C2X3VpEt.mjs.map +0 -1
- 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":";;;;;;;;;;;;;;;;AAGO,MAAM,iCAAiC,GAAsB;AAClE,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,MAAM,EAAE,kBAAkB;CAC3B;;ACXD;AAcA;AAEA;MAEa,wCAAwC,CAAA;AAArD,IAAA,WAAA,GAAA;AACU,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAkIlD;IAhIS,MAAM,OAAO,CAAC,OAA+B,EAAA;AAClD,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM;QAChC,MAAM,IAAI,GAAG,2BAA2B;;QAIxC,MAAM,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC;AACnF,QAAA,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAC/B,OAAO,CAAC,QAAQ,CAAC;AACf,gBAAA;oBACE,IAAI,EAAE,oCAAoC,CAAC,IAAI;AAC/C,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,IAAI,EAAE,CAAA,CAAA,EAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,8BAAA,CAAgC;oBAChE,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,MAAM,EAAE;AACN,wBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,qBAAA;AACD,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;AACF,aAAA,CAAC;QACJ;QAEA,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AAC/D,YAAA;gBACE,IAAI,EAAE,oCAAoC,CAAC,WAAW;AACtD,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;AAChD,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACrF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;;;QAMF,MAAM,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,aAAa,CAAC;AACrG,QAAA,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE;YACxC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;AACrD,gBAAA;oBACE,IAAI,EAAE,oCAAoC,CAAC,aAAa;AACxD,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,IAAI,EAAE,CAAA,CAAA,EAAI,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,8BAAA,CAAgC;oBAChE,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,MAAM,EAAE;AACN,wBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AACxB,qBAAA;AACD,oBAAA,QAAQ,EAAE,EAAE;AACb,iBAAA;AACF,aAAA,CAAC;QACJ;QAEA,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;AACxE,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW;AAC5C,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;AACjF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;AACrC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;AAC7C,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AAClF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AACtC,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,WAAW;AAC5D,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC;AACjG,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI;AACrD,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW;AACpD,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AACzF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAC7C,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC;AACnC,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,IAAI,EAAE,oCAAoC,CAAC,eAAe;AAC1D,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW;AACpD,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC;AACzF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI;AAC7C,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,iBAAA;AACF,aAAA;AACD,YAAA;gBACE,IAAI,EAAE,oCAAoC,CAAC,YAAY;AACvD,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW;AACjD,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AACtF,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI;AAC1C,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,iBAAA;AACF,aAAA;;;;;;;;;;;AAWF,SAAA,CAAC;;IAGJ;AACD;AAED;;AC/IA;AAEA;AAEA;;AAEG;MAEU,wDAAwD,CAAA;IACnE,MAAM,MAAM,CAAC,OAA+C,EAAA;QAC1D,MAAM,IAAI,GAAG,2BAA2B;QACxC,MAAM,MAAM,GAAG,4BAA4B;QAC3C,MAAM,CAAC,GAAG,iCAAiC;QAC3C,MAAM,CAAC,GAAG,2BAA2B;QAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAA,EAAG,CAAC,oBAAoB,EAAE,CAAA,EAAG,CAAC,CAAA,wBAAA,CAA0B,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAEjH;AACG,aAAA,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,CAAA,EAAG,CAAC,CAAA,mCAAA,CAAqC,EAAE,CAAA,EAAG,CAAC,CAAA,yCAAA,CAA2C,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AACrL,aAAA,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA,EAAG,CAAC,CAAA,aAAA,CAAe,EAAE,CAAA,EAAG,CAAC,CAAA,mBAAA,CAAqB;AACzE,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAA,EAAG,CAAC,CAAA,sBAAA,CAAwB,EAAE,CAAA,EAAG,CAAC,CAAA,4BAAA,CAA8B;AACnG,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA,EAAG,CAAC,CAAA,YAAA,CAAc,EAAE,CAAA,EAAG,CAAC,CAAA,kBAAA,CAAoB;AACtE,aAAA,aAAa;AACb,aAAA,QAAQ,EAAE;IACf;8GAlBW,wDAAwD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxD,wDAAwD,EAAA,CAAA,CAAA;;2FAAxD,wDAAwD,EAAA,UAAA,EAAA,CAAA;kBADpE;;;ACbK,MAAO,iDAAkD,SAAQ,wBAAwB,CAAA;AAA/F,IAAA,WAAA,GAAA;;QACS,IAAA,CAAA,QAAQ,GAAsB,EAAE;IACzC;AAAC;;ACJD;AAYA;AAEA;AAEO,MAAM,gCAAgC,GAAoB;AAC/D,IAAA,IAAI,EAAE,kCAAkC;AACxC,IAAA,KAAK,EAAE,qGAAqG;AAC5G,IAAA,WAAW,EAAE,2GAA2G;AACxH,IAAA,IAAI,EAAE,yBAAyB;AAC/B,IAAA,UAAU,EAAE,2BAA2B;AACvC,IAAA,MAAM,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC;AAC1C,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;QACV,iBAAiB;QACjB,sBAAsB;AACtB,QAAA,oBAAoB,CAAC;AACnB,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,+GAA+G;AACtH,YAAA,KAAK,EAAE,2BAA2B;AAClC,YAAA,IAAI,EAAE,kBAAkB;YACxB,YAAY,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE;AAC7D,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,EAAE,EAAE,YAAY;AAChB,oBAAA,KAAK,EACH,8GAA8G;AACjH,iBAAA;AACD,gBAAA;AACE,oBAAA,EAAE,EAAE,UAAU;AACd,oBAAA,KAAK,EACH,4GAA4G;AAC/G,iBAAA;AACD,gBAAA;AACE,oBAAA,EAAE,EAAE,oBAAoB;AACxB,oBAAA,KAAK,EACH,sHAAsH;AACzH,iBAAA;AACF,aAAA;SACF,CAAC;AACH,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE;AACJ,YAAA,SAAS,EAAE,MACT,OAAO,yHAAmD,CAAC,CAAC,IAAI,CAC9D,CAAC,CAAC,KAAK,CAAC,CAAC,6CAA6C,CACvD;AACJ,SAAA;AACF,KAAA;CACF;AAUD;;ACzEA;AAEO,MAAM,2BAA2B,GAAG;AA0B3C;;AC5BA;AAkBA;AAEA;AAEO,MAAM,sBAAsB,GAAoB;AACrD,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,KAAK,EAAE,+EAA+E;AACtF,IAAA,WAAW,EAAE,qFAAqF;AAClG,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,UAAU,EAAE,2BAA2B;AACvC,IAAA,WAAW,EAAE,6BAA6B;AAC1C,IAAA,MAAM,EAAE,CAAC,kBAAkB,CAAC,WAAW,CAAC;AACxC,IAAA,uBAAuB,EAAE,eAAe;AACxC,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE;AACP,QAAA,SAAS,EAAE,KAAK;AACjB,KAAA;AACD,IAAA,UAAU,EAAE;QACV,iBAAiB;QACjB,sBAAsB;AACtB,QAAA;AACE,YAAA,IAAI,EAAE,UAAU;AAChB,YAAA,KAAK,EAAE,yFAAyF;AAChG,YAAA,KAAK,EAAE,2BAA2B;AAClC,YAAA,MAAM,EAAE;AACN,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,SAAS,EAAE;AACT,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,IAAI,EAAE,kBAAkB;oBACxB,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,oBAAA,OAAO,EAAE;AACP,wBAAA,MAAM,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAA,CAAE;AACvE,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,QAAQ,EAAE,IAAI;AACd,wBAAA,WAAW,EAAE,IAAI;AACjB,wBAAA,UAAU,EAAE,IAAI;AAChB,wBAAA,SAAS,EAAE,OAAO;AACnB,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE,IAAI;AACd,SAAA;AACD,QAAA,oBAAoB,CAAC;AACnB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,KAAK,EAAE,sFAAsF;AAC7F,YAAA,KAAK,EAAE,2BAA2B;AAClC,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,YAAY,EAAE;AACZ,gBAAA,EAAE,EAAE,YAAY;AAChB,gBAAA,KAAK,EAAE,qFAAqF;AAC7F,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA;AACE,oBAAA,EAAE,EAAE,YAAY;AAChB,oBAAA,KAAK,EAAE,qFAAqF;AAC7F,iBAAA;AACD,gBAAA;AACE,oBAAA,EAAE,EAAE,UAAU;AACd,oBAAA,KAAK,EAAE,mFAAmF;AAC3F,iBAAA;AACF,aAAA;SACF,CAAC;QACF,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,gCAAgC;AACjC,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,IAAI,EAAE;AACJ,YAAA,SAAS,EAAE,MACT,OAAO,+GAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAAC;AACvG,SAAA;AACD,QAAA,IAAI,EAAE;AACJ,YAAA,SAAS,EAAE,MACT,OAAO,+GAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAAC;AACvG,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA,SAAS,EAAE,MACT,OAAO,+GAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAAC;AACvG,SAAA;AACD,QAAA,KAAK,EAAE;AACL,YAAA,SAAS,EAAE,MACT,OAAO,+GAAyC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAAC;AACvG,SAAA;AACD,QAAA,MAAM,EAAE;AACN,YAAA,SAAS,EAAE,MACT,OAAO,iHAA2C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qCAAqC,CAAC;AAC3G,SAAA;AACF,KAAA;CACF;AAQD;;AC3GA;AAEA;MAGa,2CAA2C,CAAA;IACtD,UAAU,GAAA;AACR,QAAA,OAAO,CAAC,gCAAgC,EAAE,sBAAsB,CAAC;IACnE;8GAHW,2CAA2C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA3C,2CAA2C,EAAA,CAAA,CAAA;;2FAA3C,2CAA2C,EAAA,UAAA,EAAA,CAAA;kBADvD;;;ACZD;AAOA;AAEA;AAEA;;;AAGG;AACI,MAAM,yCAAyC,GAA+B;AACnF,IAAA,MAAM,EAAE;AACN,QAAA,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACzB,QAAA,KAAK,EAAE,EAAE;AACV,KAAA;AAED,IAAA,OAAO,EAAE,OAAO,GAAG,EAAE,IAAI,KAAI;AAC3B,QAAA,MAAM,cAAc,GAAG,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE;QAErG,IAAI,GAAG,CAAC,UAAU,KAAK,cAAc,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YAClD,MAAM,IAAI,EAAE;YACZ;QACF;AAEA,QAAA,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC;AAC3C,QAAA,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAEnC,MAAM,IAAI,EAAE;IACd,CAAC;CACF;AAED;;ACpCA;AASA;AAEA;AAEA,MAAM,oBAAoB,GAAG,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;AAE/F;;AAEG;AACI,MAAM,+BAA+B,GAA+B;AACzE,IAAA,MAAM,EAAE;AACN,QAAA,GAAG,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACzB,QAAA,MAAM,EAAE,oBAAoB;AAC5B,QAAA,KAAK,EAAE,EAAE;AACV,KAAA;AAED,IAAA,OAAO,EAAE,OAAO,GAAG,EAAE,IAAI,KAAI;AAC3B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7C,MAAM,IAAI,EAAE;YACZ;QACF;AAEA,QAAA,MAAM,IAAI,GAAG,GAAG,CAAC,IAA+B;AAEhD,QAAA,IAAI,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE;AACvB,YAAA,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;AAC1B,YAAA,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;AAC5B,YAAA,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;AAC1B,YAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;AACnB,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,KAAK;YAC5C;YACA,MAAM,IAAI,EAAE;YACZ;QACF;AAEA,QAAA,MAAM,QAAQ,GACZ,GAAG,CAAC,QAAQ;AACZ,aAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;AAC9F,QAAA,MAAM,cAAc,IAAI,QAAQ,IAAI,EAAE,CAA4B;QAClE,MAAM,cAAc,GAClB,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAI,cAAc,CAAC,QAAQ,CAAY,GAAG,SAAS;QACjG,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,GAAI,IAAI,CAAC,QAAQ,CAAY,GAAG,cAAc;AAEnG,QAAA,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;AAC1B,QAAA,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC;AAC5B,QAAA,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC;AAE1B,QAAA,IACE,UAAU,KAAK,mBAAmB,CAAC,SAAS;AAC5C,YAAA,cAAc,KAAK,mBAAmB,CAAC,SAAS,EAChD;YACA,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AAC9C,YAAA,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;AAC7E,YAAA,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AAC3B,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa;YACvC;QACF;AAAO,aAAA,IAAI,cAAc,KAAK,mBAAmB,CAAC,SAAS,EAAE;AAC3D,YAAA,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE;gBACjC,IAAI,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC;YACrD;AACA,YAAA,IAAI,cAAc,CAAC,eAAe,CAAC,EAAE;gBACnC,IAAI,CAAC,eAAe,CAAC,GAAG,cAAc,CAAC,eAAe,CAAC;YACzD;AACA,YAAA,IAAI,cAAc,CAAC,aAAa,CAAC,EAAE;gBACjC,IAAI,CAAC,aAAa,CAAC,GAAG,cAAc,CAAC,aAAa,CAAC;YACrD;QACF;QAEA,MAAM,IAAI,EAAE;IACd,CAAC;CACF;AAED;;MCiBa,kCAAkC,CAAA;8GAAlC,kCAAkC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAlC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,YAhFnC,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAgFlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,kCAAkC,EAAA,SAAA,EA/ElC;AAET,YAAA;AACE,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,QAAQ,EAAE,iCAAiC;AAC3C,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,kCAAkC;AAC3C,gBAAA,QAAQ,EAAE,wDAAwD;AAClE,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,wCAAwC;AAClD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AAED,YAAA;AACE,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,QAAQ,EAAE,yCAAyC;AACnD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,QAAQ,EAAE,+BAA+B;AACzC,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,QAAQ,EAAE,iDAAiD;AAC3D,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;YACD,mBAAmB,CAAC,oBAAoB,EAAE,MACxC,OAAO,yGAA4C,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,KAAK,CAAC,CAAC,uDAAuD,CACjE,CACF;YACD,mBAAmB,CAAC,oBAAoB,EAAE,MACxC,OAAO,qGAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,CAAC,oDAAoD,CAC9D,CACF;YACD,mBAAmB,CAAC,oBAAoB,EAAE,MACxC,OAAO,qGAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,CAAC,oDAAoD,CAC9D,CACF;YACD,mBAAmB,CAAC,2BAA2B,EAAE,MAC/C,OAAO,+EAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0CAA0C,CAAC,CACzG;YACD,cAAc,CAAC,0BAA0B,EAAE,MACzC,OAAO,2GAAwE,oCAAC,CAAC,IAAI,CACnF,CAAC,CAAC,KAAK,CAAC,CAAC,gCAAgC,CAC1C,CACF;AACD,YAAA;AACE,gBAAA,OAAO,EAAE,8BAA8B;AACvC,gBAAA,QAAQ,EAAE,2CAA2C;AACrD,gBAAA,KAAK,EAAE,IAAI;AACZ,aAAA;AACD,YAAA,oBAAoB,CAAC;AACnB,gBAAA;AACE,oBAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAA,QAAA,CAAU;AAC3F,oBAAA,OAAO,EAAE,MACP,OAAO,mHAAyF,CAAC,CAAC,IAAI,CACpG,CAAC,CAAC,KAAK,CAAC,CAAC,wCAAwC,CAClD;AACJ,iBAAA;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,QAAA,CAAU;AAC/E,oBAAA,OAAO,EAAE,MACP,OAAO,qGAA6D,CAAC,CAAC,IAAI,CACxE,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CACrC;AACJ,iBAAA;aACF,CAAC;AACH,SAAA,EAAA,OAAA,EAAA,CA9ES,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAgFlB,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBAjF9C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,oBAAA,SAAS,EAAE;AAET,wBAAA;AACE,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,QAAQ,EAAE,iCAAiC;AAC3C,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,kCAAkC;AAC3C,4BAAA,QAAQ,EAAE,wDAAwD;AAClE,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,wCAAwC;AAClD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AAED,wBAAA;AACE,4BAAA,OAAO,EAAE,6BAA6B;AACtC,4BAAA,QAAQ,EAAE,yCAAyC;AACnD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,6BAA6B;AACtC,4BAAA,QAAQ,EAAE,+BAA+B;AACzC,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,QAAQ,EAAE,iDAAiD;AAC3D,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;wBACD,mBAAmB,CAAC,oBAAoB,EAAE,MACxC,OAAO,yGAA4C,CAAC,CAAC,IAAI,CACvD,CAAC,CAAC,KAAK,CAAC,CAAC,uDAAuD,CACjE,CACF;wBACD,mBAAmB,CAAC,oBAAoB,EAAE,MACxC,OAAO,qGAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,CAAC,oDAAoD,CAC9D,CACF;wBACD,mBAAmB,CAAC,oBAAoB,EAAE,MACxC,OAAO,qGAAwC,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,KAAK,CAAC,CAAC,oDAAoD,CAC9D,CACF;wBACD,mBAAmB,CAAC,2BAA2B,EAAE,MAC/C,OAAO,+EAAsC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,0CAA0C,CAAC,CACzG;wBACD,cAAc,CAAC,0BAA0B,EAAE,MACzC,OAAO,2GAAwE,oCAAC,CAAC,IAAI,CACnF,CAAC,CAAC,KAAK,CAAC,CAAC,gCAAgC,CAC1C,CACF;AACD,wBAAA;AACE,4BAAA,OAAO,EAAE,8BAA8B;AACvC,4BAAA,QAAQ,EAAE,2CAA2C;AACrD,4BAAA,KAAK,EAAE,IAAI;AACZ,yBAAA;AACD,wBAAA,oBAAoB,CAAC;AACnB,4BAAA;AACE,gCAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAA,QAAA,CAAU;AAC3F,gCAAA,OAAO,EAAE,MACP,OAAO,mHAAyF,CAAC,CAAC,IAAI,CACpG,CAAC,CAAC,KAAK,CAAC,CAAC,wCAAwC,CAClD;AACJ,6BAAA;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,QAAA,CAAU;AAC/E,gCAAA,OAAO,EAAE,MACP,OAAO,qGAA6D,CAAC,CAAC,IAAI,CACxE,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CACrC;AACJ,6BAAA;yBACF,CAAC;AACH,qBAAA;AACF,iBAAA;;;ACjGD;;AAEG;;;;"}
|