@acorex-platform/module-workplacesafety-management-client 0.0.56 → 0.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-C2CZZwOj.mjs → acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-CQsOLmlJ.mjs} +9 -9
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-C2CZZwOj.mjs.map → acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-CQsOLmlJ.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-lJl0qpvT.mjs → acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-D-m6-mUn.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-lJl0qpvT.mjs.map → acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-D-m6-mUn.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-TrVl3-T6.mjs → acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-Q2vVYxP-.mjs} +17 -13
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-Q2vVYxP-.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-index-D_LE40Xc.mjs → acorex-platform-module-workplacesafety-management-client-index-BGIQtdXI.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-index-D_LE40Xc.mjs.map → acorex-platform-module-workplacesafety-management-client-index-BGIQtdXI.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-Ce67NSIZ.mjs → acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-DgfDb0uz.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-Ce67NSIZ.mjs.map → acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-DgfDb0uz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-DJqqiYlD.mjs → acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-CqJHTLNq.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-DJqqiYlD.mjs.map → acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-CqJHTLNq.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-UlWyzIXQ.mjs → acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-B0g4JL0B.mjs} +43 -22
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-B0g4JL0B.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs +1 -1
- package/package.json +2 -2
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-TrVl3-T6.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-UlWyzIXQ.mjs.map +0 -1
|
@@ -518,7 +518,7 @@ class AXMWorkplaceSafetyManagementModule {
|
|
|
518
518
|
provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-ppe-rule-status.provider-6ZWaO5DG.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardPpeRuleStatusProvider)),
|
|
519
519
|
provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-risk-status.provider-B6IkRYbW.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardRiskStatusProvider)),
|
|
520
520
|
provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-safety-plan-status.provider-BpWx3gIf.mjs').then((m) => m.AXMWorkplaceSafetyManagementSafetyPlanStatusProvider)),
|
|
521
|
-
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-workplacesafety-management-client-index-
|
|
521
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-workplacesafety-management-client-index-BGIQtdXI.mjs').then((m) => m.AXMSafetyPlanSectionsPageComponentProvider)),
|
|
522
522
|
provideCommand('SafetyPlan:Sections:Save', () => import('./acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-D0aRQHWk.mjs').then((m) => m.AXMSaveSafetyPlanSectionsCommand)),
|
|
523
523
|
{
|
|
524
524
|
provide: AXP_WIDGET_DEFINITION_PROVIDER,
|
|
@@ -532,11 +532,11 @@ class AXMWorkplaceSafetyManagementModule {
|
|
|
532
532
|
},
|
|
533
533
|
{
|
|
534
534
|
key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Preview`,
|
|
535
|
-
command: () => import('./acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-
|
|
535
|
+
command: () => import('./acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-CqJHTLNq.mjs').then((c) => c.AXMPreviewSafetyPlanCommand),
|
|
536
536
|
},
|
|
537
537
|
{
|
|
538
538
|
key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Fill`,
|
|
539
|
-
command: () => import('./acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-
|
|
539
|
+
command: () => import('./acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-D-m6-mUn.mjs').then((c) => c.AXMFillSafetyPlanCommand),
|
|
540
540
|
},
|
|
541
541
|
{
|
|
542
542
|
key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Publish`,
|
|
@@ -544,7 +544,7 @@ class AXMWorkplaceSafetyManagementModule {
|
|
|
544
544
|
},
|
|
545
545
|
{
|
|
546
546
|
key: 'WorkplaceSafetyManagement.JobDoc:ShowSetup',
|
|
547
|
-
command: () => import('./acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-
|
|
547
|
+
command: () => import('./acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-B0g4JL0B.mjs').then((c) => c.AXMShowJobDocSetupCommand),
|
|
548
548
|
},
|
|
549
549
|
]),
|
|
550
550
|
], imports: [AXPWidgetCoreModule] }); }
|
|
@@ -587,7 +587,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
587
587
|
provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-ppe-rule-status.provider-6ZWaO5DG.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardPpeRuleStatusProvider)),
|
|
588
588
|
provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-hazard-risk-status.provider-B6IkRYbW.mjs').then((m) => m.AXMWorkplaceSafetyManagementHazardRiskStatusProvider)),
|
|
589
589
|
provideLazyProvider(AXP_STATUS_PROVIDERS, () => import('./acorex-platform-module-workplacesafety-management-client-safety-plan-status.provider-BpWx3gIf.mjs').then((m) => m.AXMWorkplaceSafetyManagementSafetyPlanStatusProvider)),
|
|
590
|
-
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-workplacesafety-management-client-index-
|
|
590
|
+
provideLazyProvider(AXP_PAGE_COMPONENT_PROVIDER, () => import('./acorex-platform-module-workplacesafety-management-client-index-BGIQtdXI.mjs').then((m) => m.AXMSafetyPlanSectionsPageComponentProvider)),
|
|
591
591
|
provideCommand('SafetyPlan:Sections:Save', () => import('./acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-D0aRQHWk.mjs').then((m) => m.AXMSaveSafetyPlanSectionsCommand)),
|
|
592
592
|
{
|
|
593
593
|
provide: AXP_WIDGET_DEFINITION_PROVIDER,
|
|
@@ -601,11 +601,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
601
601
|
},
|
|
602
602
|
{
|
|
603
603
|
key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Preview`,
|
|
604
|
-
command: () => import('./acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-
|
|
604
|
+
command: () => import('./acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-CqJHTLNq.mjs').then((c) => c.AXMPreviewSafetyPlanCommand),
|
|
605
605
|
},
|
|
606
606
|
{
|
|
607
607
|
key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Fill`,
|
|
608
|
-
command: () => import('./acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-
|
|
608
|
+
command: () => import('./acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-D-m6-mUn.mjs').then((c) => c.AXMFillSafetyPlanCommand),
|
|
609
609
|
},
|
|
610
610
|
{
|
|
611
611
|
key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Publish`,
|
|
@@ -613,7 +613,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
613
613
|
},
|
|
614
614
|
{
|
|
615
615
|
key: 'WorkplaceSafetyManagement.JobDoc:ShowSetup',
|
|
616
|
-
command: () => import('./acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-
|
|
616
|
+
command: () => import('./acorex-platform-module-workplacesafety-management-client-show-job-doc-setup.command-B0g4JL0B.mjs').then((c) => c.AXMShowJobDocSetupCommand),
|
|
617
617
|
},
|
|
618
618
|
]),
|
|
619
619
|
],
|
|
@@ -625,4 +625,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
625
625
|
*/
|
|
626
626
|
|
|
627
627
|
export { AXMWorkplaceSafetyManagementMenuProvider as A, PPE_ITEM_VIEWER_WIDGET_NAME as P, AXMWorkplaceSafetyManagementModule as a, AXMWorkplaceSafetyManagementSearchCommandProvider as b };
|
|
628
|
-
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-
|
|
628
|
+
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-CQsOLmlJ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-C2CZZwOj.mjs","sources":["../../../../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/features/onboarding/workplace-safety-onboarding-steps.hook.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":["//#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.SafetyPlanActivities,\n text: RootConfig.entities.safetyPlanActivity.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.safetyPlanActivity.name),\n icon: RootConfig.entities.safetyPlanActivity.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\n/** Matches the seeded workflow name `create-job-doc`. */\nconst CREATE_JOB_DOC_WORKFLOW_NAME = 'create-job-doc';\n\nexport class AXMWorkplaceSafetyManagementSearchCommandProvider extends AXPSearchCommandProvider {\n public commands: AXPSearchResult[] = [\n {\n id: 'create-job-doc',\n group: 'command',\n title: '@workplacesafety-management:job-doc.search-commands.create.title',\n description: '@workplacesafety-management:job-doc.search-commands.create.description',\n icon: 'fa-light fa-file-lines',\n command: {\n name: 'WorkflowManagement.WorkflowDefinition:Execute',\n options: {\n workflowId: CREATE_JOB_DOC_WORKFLOW_NAME,\n },\n },\n },\n ];\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 { AXPHookProvider } from '@acorex-platform/framework-client/core';\nimport {\n ONBOARDING_STEPS_HOOK,\n type AXPOnboardingStepsPayload,\n} from '@acorex-platform/module-auth-client';\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\n//#region ----- Workplace safety orientation step -----\n\nconst MODULE_NAME = RootConfig.module.name;\nconst SAFETY_PLAN_ENTITY = RootConfig.entities.safetyPlan.name;\n\n/**\n * Application-scoped Workplace Safety orientation when WHS is loaded\n * (e.g. Safetyminder). Regular-user safe: where to find day-to-day safety\n * tools — not admin register/plan configuration.\n */\nexport const WorkplaceSafetyOnboardingStepsHookProvider: AXPHookProvider<\n AXPOnboardingStepsPayload,\n AXPOnboardingStepsPayload\n> = {\n key: ONBOARDING_STEPS_HOOK,\n priority: 45,\n execute: (payload) => ({\n ...payload,\n steps: [\n ...payload.steps,\n {\n id: 'whs-orientation',\n scope: 'application',\n title: '@workplacesafety-management:onboarding.steps.whs-orientation.title',\n description:\n '@workplacesafety-management:onboarding.steps.whs-orientation.description',\n icon: 'far fa-helmet-safety',\n priority: 45,\n actions: [\n {\n text: '@workplacesafety-management:onboarding.steps.whs-orientation.open-safety-plans',\n icon: 'fa-regular fa-file-shield',\n command: {\n name: 'navigate',\n options: {\n path: `/{app}/m/${MODULE_NAME}/e/${SAFETY_PLAN_ENTITY}/list`,\n },\n },\n },\n {\n text: '@workplacesafety-management:onboarding.steps.whs-orientation.open-my-drive',\n icon: 'fa-regular fa-folder-open',\n command: {\n name: 'navigate',\n options: { path: '/{app}/drive/user' },\n },\n },\n ],\n },\n ],\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 {\n AXP_HOOK_PROVIDER,\n provideLazyProvider,\n} 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 { 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';\nimport { WorkplaceSafetyOnboardingStepsHookProvider } from './features/onboarding/workplace-safety-onboarding-steps.hook';\n\n@NgModule({\n imports: [AXPWidgetCoreModule],\n providers: [\n\n {\n provide: AXP_HOOK_PROVIDER,\n useValue: WorkplaceSafetyOnboardingStepsHookProvider,\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}:Preview`,\n command: () =>\n import('./features/safety-plan/commands/preview-safety-plan.command').then(\n (c) => c.AXMPreviewSafetyPlanCommand,\n ),\n },\n {\n key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Fill`,\n command: () =>\n import('./features/safety-plan/commands/fill-safety-plan.command').then(\n (c) => c.AXMFillSafetyPlanCommand,\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 key: 'WorkplaceSafetyManagement.JobDoc:ShowSetup',\n command: () =>\n import('./features/job-doc/show-job-doc-setup.command').then((c) => c.AXMShowJobDocSetupCommand),\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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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-CQsOLmlJ.mjs","sources":["../../../../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/features/onboarding/workplace-safety-onboarding-steps.hook.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":["//#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.SafetyPlanActivities,\n text: RootConfig.entities.safetyPlanActivity.titlePlural,\n path: this.entityService.createPath(module.name, RootConfig.entities.safetyPlanActivity.name),\n icon: RootConfig.entities.safetyPlanActivity.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\n/** Matches the seeded workflow name `create-job-doc`. */\nconst CREATE_JOB_DOC_WORKFLOW_NAME = 'create-job-doc';\n\nexport class AXMWorkplaceSafetyManagementSearchCommandProvider extends AXPSearchCommandProvider {\n public commands: AXPSearchResult[] = [\n {\n id: 'create-job-doc',\n group: 'command',\n title: '@workplacesafety-management:job-doc.search-commands.create.title',\n description: '@workplacesafety-management:job-doc.search-commands.create.description',\n icon: 'fa-light fa-file-lines',\n command: {\n name: 'WorkflowManagement.WorkflowDefinition:Execute',\n options: {\n workflowId: CREATE_JOB_DOC_WORKFLOW_NAME,\n },\n },\n },\n ];\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 { AXPHookProvider } from '@acorex-platform/framework-client/core';\nimport {\n ONBOARDING_STEPS_HOOK,\n type AXPOnboardingStepsPayload,\n} from '@acorex-platform/module-auth-client';\nimport { RootConfig } from '@acorex-platform/module-workplacesafety-management-client/contracts';\n\n//#region ----- Workplace safety orientation step -----\n\nconst MODULE_NAME = RootConfig.module.name;\nconst SAFETY_PLAN_ENTITY = RootConfig.entities.safetyPlan.name;\n\n/**\n * Application-scoped Workplace Safety orientation when WHS is loaded\n * (e.g. Safetyminder). Regular-user safe: where to find day-to-day safety\n * tools — not admin register/plan configuration.\n */\nexport const WorkplaceSafetyOnboardingStepsHookProvider: AXPHookProvider<\n AXPOnboardingStepsPayload,\n AXPOnboardingStepsPayload\n> = {\n key: ONBOARDING_STEPS_HOOK,\n priority: 45,\n execute: (payload) => ({\n ...payload,\n steps: [\n ...payload.steps,\n {\n id: 'whs-orientation',\n scope: 'application',\n title: '@workplacesafety-management:onboarding.steps.whs-orientation.title',\n description:\n '@workplacesafety-management:onboarding.steps.whs-orientation.description',\n icon: 'far fa-helmet-safety',\n priority: 45,\n actions: [\n {\n text: '@workplacesafety-management:onboarding.steps.whs-orientation.open-safety-plans',\n icon: 'fa-regular fa-file-shield',\n command: {\n name: 'navigate',\n options: {\n path: `/{app}/m/${MODULE_NAME}/e/${SAFETY_PLAN_ENTITY}/list`,\n },\n },\n },\n {\n text: '@workplacesafety-management:onboarding.steps.whs-orientation.open-my-drive',\n icon: 'fa-regular fa-folder-open',\n command: {\n name: 'navigate',\n options: { path: '/{app}/drive/user' },\n },\n },\n ],\n },\n ],\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 {\n AXP_HOOK_PROVIDER,\n provideLazyProvider,\n} 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 { 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';\nimport { WorkplaceSafetyOnboardingStepsHookProvider } from './features/onboarding/workplace-safety-onboarding-steps.hook';\n\n@NgModule({\n imports: [AXPWidgetCoreModule],\n providers: [\n\n {\n provide: AXP_HOOK_PROVIDER,\n useValue: WorkplaceSafetyOnboardingStepsHookProvider,\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}:Preview`,\n command: () =>\n import('./features/safety-plan/commands/preview-safety-plan.command').then(\n (c) => c.AXMPreviewSafetyPlanCommand,\n ),\n },\n {\n key: `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}:Fill`,\n command: () =>\n import('./features/safety-plan/commands/fill-safety-plan.command').then(\n (c) => c.AXMFillSafetyPlanCommand,\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 key: 'WorkplaceSafetyManagement.JobDoc:ShowSetup',\n command: () =>\n import('./features/job-doc/show-job-doc-setup.command').then((c) => c.AXMShowJobDocSetupCommand),\n },\n ]),\n ],\n})\nexport class AXMWorkplaceSafetyManagementModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;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;AACD,YAAA;gBACE,IAAI,EAAE,oCAAoC,CAAC,oBAAoB;AAC/D,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW;AACxD,gBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC7F,gBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI;AACjD,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACN,oBAAA,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1B,iBAAA;AACF,aAAA;AACF,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;;;ACbD;AACA,MAAM,4BAA4B,GAAG,gBAAgB;AAE/C,MAAO,iDAAkD,SAAQ,wBAAwB,CAAA;AAA/F,IAAA,WAAA,GAAA;;AACS,QAAA,IAAA,CAAA,QAAQ,GAAsB;AACnC,YAAA;AACE,gBAAA,EAAE,EAAE,gBAAgB;AACpB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,KAAK,EAAE,kEAAkE;AACzE,gBAAA,WAAW,EAAE,wEAAwE;AACrF,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,+CAA+C;AACrD,oBAAA,OAAO,EAAE;AACP,wBAAA,UAAU,EAAE,4BAA4B;AACzC,qBAAA;AACF,iBAAA;AACF,aAAA;SACF;IACH;AAAC;;ACrBD;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;;AC1EA;AAEA,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI;AAC1C,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AAE9D;;;;AAIG;AACI,MAAM,0CAA0C,GAGnD;AACF,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,QAAQ,EAAE,EAAE;AACZ,IAAA,OAAO,EAAE,CAAC,OAAO,MAAM;AACrB,QAAA,GAAG,OAAO;AACV,QAAA,KAAK,EAAE;YACL,GAAG,OAAO,CAAC,KAAK;AAChB,YAAA;AACE,gBAAA,EAAE,EAAE,iBAAiB;AACrB,gBAAA,KAAK,EAAE,aAAa;AACpB,gBAAA,KAAK,EAAE,oEAAoE;AAC3E,gBAAA,WAAW,EACT,0EAA0E;AAC5E,gBAAA,IAAI,EAAE,sBAAsB;AAC5B,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,OAAO,EAAE;AACP,oBAAA;AACE,wBAAA,IAAI,EAAE,gFAAgF;AACtF,wBAAA,IAAI,EAAE,2BAA2B;AACjC,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,OAAO,EAAE;AACP,gCAAA,IAAI,EAAE,CAAA,SAAA,EAAY,WAAW,CAAA,GAAA,EAAM,kBAAkB,CAAA,KAAA,CAAO;AAC7D,6BAAA;AACF,yBAAA;AACF,qBAAA;AACD,oBAAA;AACE,wBAAA,IAAI,EAAE,4EAA4E;AAClF,wBAAA,IAAI,EAAE,2BAA2B;AACjC,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,UAAU;AAChB,4BAAA,OAAO,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE;AACvC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;KACF,CAAC;CACH;AAED;;MC4Da,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,YAnGnC,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAmGlB,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,EAlGlC;AAET,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,0CAA0C;AACpD,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,CAAC,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;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,KAAA,CAAO;AAC5E,oBAAA,OAAO,EAAE,MACP,OAAO,kGAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAClC;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;AACD,gBAAA;AACE,oBAAA,GAAG,EAAE,4CAA4C;AACjD,oBAAA,OAAO,EAAE,MACP,OAAO,oGAA+C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;AACnG,iBAAA;aACF,CAAC;AACH,SAAA,EAAA,OAAA,EAAA,CAjGS,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAmGlB,kCAAkC,EAAA,UAAA,EAAA,CAAA;kBApG9C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,oBAAA,SAAS,EAAE;AAET,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,0CAA0C;AACpD,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,CAAC,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;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,KAAA,CAAO;AAC5E,gCAAA,OAAO,EAAE,MACP,OAAO,kGAA0D,CAAC,CAAC,IAAI,CACrE,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAwB,CAClC;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;AACD,4BAAA;AACE,gCAAA,GAAG,EAAE,4CAA4C;AACjD,gCAAA,OAAO,EAAE,MACP,OAAO,oGAA+C,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC;AACnG,6BAAA;yBACF,CAAC;AACH,qBAAA;AACF,iBAAA;;;ACvHD;;AAEG;;"}
|
|
@@ -4,9 +4,9 @@ import { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/t
|
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
5
|
import { inject, Injectable } from '@angular/core';
|
|
6
6
|
import { get, isString, isEmpty, defaultTo } from 'lodash';
|
|
7
|
-
import { A as AXMSafetyPlanPreviewService } from './acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-
|
|
7
|
+
import { A as AXMSafetyPlanPreviewService } from './acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-Q2vVYxP-.mjs';
|
|
8
8
|
import { l as loadSafetyPlanFillValues } from './acorex-platform-module-workplacesafety-management-client-safety-plan-fill-values.util-RLOdySf7.mjs';
|
|
9
|
-
import { l as loadSafetyPlanPreviewStructure } from './acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-
|
|
9
|
+
import { l as loadSafetyPlanPreviewStructure } from './acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-DgfDb0uz.mjs';
|
|
10
10
|
|
|
11
11
|
//#region ----- Imports -----
|
|
12
12
|
//#endregion
|
|
@@ -162,4 +162,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
162
162
|
}] });
|
|
163
163
|
|
|
164
164
|
export { AXMFillSafetyPlanCommand };
|
|
165
|
-
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-
|
|
165
|
+
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-D-m6-mUn.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-lJl0qpvT.mjs","sources":["../../../../libs/modules/workplacesafety-management/client/src/lib/features/safety-plan/commands/fill-safety-plan.command.ts"],"sourcesContent":["//#region ----- Imports -----\n\n\n\nimport { resolveEntityRowDisplayText } from '@acorex-platform/framework-client/common';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport type { AXPCommand, AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\n\nimport type { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport { defaultTo, get, isEmpty, isString } from 'lodash';\n\n\n\nimport { AXMSafetyPlanPreviewService } from '../../safety-plan-preview/safety-plan-preview.service';\n\nimport type { AXMSafetyPlanPreviewWorkflowActionSet } from '../../safety-plan-preview/safety-plan-preview.types';\n\nimport { loadSafetyPlanFillValues } from '../../safety-plan-preview/safety-plan-fill-values.util';\n\nimport { loadSafetyPlanPreviewStructure } from './load-safety-plan-preview-structure';\n\n\n\n//#endregion\n\n\n\n//#region ----- Types -----\n\n\n\nexport type FillSafetyPlanOutcome = 'Submitted' | 'Saved' | 'Cancelled' | 'Locked' | 'SignOff';\n\n\n\nexport interface AXMFillSafetyPlanCommandInput {\n\n id?: string;\n\n title?: AXPMultiLanguageString | string;\n\n showAs?: 'popup';\n\n /** draft = Save as Draft/Submit. assigned = Save/Lock. locked = Sign Off. */\n\n workflowActionSet?: AXMSafetyPlanPreviewWorkflowActionSet;\n\n /** Edit section values and persist them when the dialog closes. */\n\n editable?: boolean | string;\n\n data?: Record<string, unknown>;\n\n options?: Partial<AXMFillSafetyPlanCommandInput>;\n\n __context__?: {\n\n entity?: string;\n\n data?: { id?: string; title?: unknown };\n\n options?: { id?: string; title?: unknown; workflowActionSet?: unknown; editable?: unknown };\n\n };\n\n}\n\n\n\n//#endregion\n\n\n\n//#region ----- Command -----\n\n\n\n/**\n\n * Opens the Safety Plan preview. Save as Draft, Submit, Lock, and Sign Off persist fill values first.\n\n * Outcomes depend on workflowActionSet:\n\n * - draft: Saved | Submitted | Cancelled\n\n * - assigned: Saved | Locked | Cancelled\n\n * - locked: SignOff | Cancelled\n\n */\n\n@Injectable()\n\nexport class AXMFillSafetyPlanCommand implements AXPCommand<AXMFillSafetyPlanCommandInput, void> {\n\n //#region ----- Services & Dependencies -----\n\n\n\n private readonly entityService = inject(AXPEntityService);\n\n private readonly translationService = inject(AXTranslationService);\n\n private readonly previewService = inject(AXMSafetyPlanPreviewService);\n\n\n\n //#endregion\n\n\n\n //#region ----- Command Implementation -----\n\n\n\n async execute(input: AXMFillSafetyPlanCommandInput = {}): AXPCommandExecuteResultPromise<void> {\n\n try {\n\n const planId = this.resolvePlanId(input);\n\n if (!planId) {\n\n return {\n\n success: false,\n\n message: {\n\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-data'),\n\n },\n\n metadata: { outcome: 'Cancelled' satisfies FillSafetyPlanOutcome },\n\n };\n\n }\n\n\n\n const structure = await loadSafetyPlanPreviewStructure(\n\n this.entityService,\n\n this.translationService,\n\n planId,\n\n );\n\n const fillValues = await loadSafetyPlanFillValues(this.entityService, planId);\n\n const dialogTitle = await this.resolveDialogTitle(input);\n\n const workflowActionSet = this.resolveWorkflowActionSet(input);\n\n const editable = this.resolveEditable(input);\n\n\n\n const result = await this.previewService.open({\n\n title: dialogTitle,\n\n structure,\n\n planId,\n\n fillValues,\n\n workflowActionSet,\n\n editable,\n\n });\n\n\n\n const outcome = this.resolveOutcome(result);\n\n return {\n\n success: true,\n\n kind: 'object',\n\n data: undefined,\n\n metadata: { outcome, refresh: false },\n\n };\n\n } catch {\n\n return {\n\n success: false,\n\n message: {\n\n text: await this.translationService.translateAsync('@general:messages.generic.error.description'),\n\n },\n\n metadata: { outcome: 'Cancelled' satisfies FillSafetyPlanOutcome },\n\n };\n\n }\n\n }\n\n\n\n //#endregion\n\n\n\n //#region ----- Utility Methods -----\n\n\n\n private resolveWorkflowActionSet(\n\n input: AXMFillSafetyPlanCommandInput,\n\n ): AXMSafetyPlanPreviewWorkflowActionSet | undefined {\n\n const candidates = [\n\n input.workflowActionSet,\n\n input.options?.workflowActionSet,\n\n get(input, 'options.workflowActionSet'),\n\n input.__context__?.options?.workflowActionSet,\n\n ];\n\n\n\n for (const candidate of candidates) {\n\n if (candidate === 'draft' || candidate === 'assigned' || candidate === 'locked') {\n\n return candidate;\n\n }\n\n }\n\n\n\n return undefined;\n\n }\n\n\n\n private resolveEditable(input: AXMFillSafetyPlanCommandInput): boolean {\n\n const candidates = [\n\n input.editable,\n\n input.options?.editable,\n\n get(input, 'options.editable'),\n\n input.__context__?.options?.editable,\n\n ];\n\n\n\n return candidates.some((candidate) => candidate === true || candidate === 'true');\n\n }\n\n\n\n private resolveOutcome(\n\n result: { saved?: boolean; submitted?: boolean; locked?: boolean; signOff?: boolean } | null,\n\n ): FillSafetyPlanOutcome {\n\n if (result?.signOff === true) {\n\n return 'SignOff';\n\n }\n\n if (result?.locked === true) {\n\n return 'Locked';\n\n }\n\n if (result?.submitted === true) {\n\n return 'Submitted';\n\n }\n\n if (result?.saved === true) {\n\n return 'Saved';\n\n }\n\n return 'Cancelled';\n\n }\n\n\n\n private resolvePlanId(input: AXMFillSafetyPlanCommandInput): string | undefined {\n\n const context = input.__context__;\n\n const candidates = [\n\n input.id,\n\n input.options?.id,\n\n get(input, 'options.id'),\n\n context?.options?.id,\n\n context?.data?.id,\n\n input.data?.['id'],\n\n ];\n\n\n\n for (const candidate of candidates) {\n\n if (isString(candidate) && !isEmpty(candidate.trim())) {\n\n return candidate.trim();\n\n }\n\n }\n\n\n\n return undefined;\n\n }\n\n\n\n private async resolveDialogTitle(input: AXMFillSafetyPlanCommandInput): Promise<string> {\n\n const locale = this.translationService.getActiveLang?.() ?? 'en-US';\n\n\n\n const explicitTitle = defaultTo(\n\n input.title,\n\n defaultTo(input.options?.title, defaultTo(get(input, 'options.title'), input.__context__?.options?.title)),\n\n );\n\n if (isString(explicitTitle) && explicitTitle.trim().length > 0) {\n\n return resolveMultiLanguageString(explicitTitle, locale).trim();\n\n }\n\n if (explicitTitle != null && typeof explicitTitle === 'object') {\n\n const resolved = resolveMultiLanguageString(explicitTitle as AXPMultiLanguageString, locale).trim();\n\n if (resolved.length > 0) {\n\n return resolved;\n\n }\n\n }\n\n\n\n const contextTitle = defaultTo(input.data?.['title'], input.__context__?.data?.title);\n\n if (contextTitle != null) {\n\n const recordTitle = resolveEntityRowDisplayText(contextTitle, locale).trim();\n\n if (recordTitle.length > 0) {\n\n return recordTitle;\n\n }\n\n }\n\n\n\n return (\n\n (await this.translationService.translateAsync(\n\n '@workplacesafety-management:safety-plan-sections.preview.fill-title',\n\n )) || 'Safety Plan'\n\n );\n\n }\n\n\n\n //#endregion\n\n}\n\n\n\n//#endregion\n\n\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-D-m6-mUn.mjs","sources":["../../../../libs/modules/workplacesafety-management/client/src/lib/features/safety-plan/commands/fill-safety-plan.command.ts"],"sourcesContent":["//#region ----- Imports -----\n\n\n\nimport { resolveEntityRowDisplayText } from '@acorex-platform/framework-client/common';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport type { AXPCommand, AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\n\nimport type { AXPMultiLanguageString } from '@acorex-platform/framework-shared/core';\n\nimport { AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\n\nimport { Injectable, inject } from '@angular/core';\n\nimport { defaultTo, get, isEmpty, isString } from 'lodash';\n\n\n\nimport { AXMSafetyPlanPreviewService } from '../../safety-plan-preview/safety-plan-preview.service';\n\nimport type { AXMSafetyPlanPreviewWorkflowActionSet } from '../../safety-plan-preview/safety-plan-preview.types';\n\nimport { loadSafetyPlanFillValues } from '../../safety-plan-preview/safety-plan-fill-values.util';\n\nimport { loadSafetyPlanPreviewStructure } from './load-safety-plan-preview-structure';\n\n\n\n//#endregion\n\n\n\n//#region ----- Types -----\n\n\n\nexport type FillSafetyPlanOutcome = 'Submitted' | 'Saved' | 'Cancelled' | 'Locked' | 'SignOff';\n\n\n\nexport interface AXMFillSafetyPlanCommandInput {\n\n id?: string;\n\n title?: AXPMultiLanguageString | string;\n\n showAs?: 'popup';\n\n /** draft = Save as Draft/Submit. assigned = Save/Lock. locked = Sign Off. */\n\n workflowActionSet?: AXMSafetyPlanPreviewWorkflowActionSet;\n\n /** Edit section values and persist them when the dialog closes. */\n\n editable?: boolean | string;\n\n data?: Record<string, unknown>;\n\n options?: Partial<AXMFillSafetyPlanCommandInput>;\n\n __context__?: {\n\n entity?: string;\n\n data?: { id?: string; title?: unknown };\n\n options?: { id?: string; title?: unknown; workflowActionSet?: unknown; editable?: unknown };\n\n };\n\n}\n\n\n\n//#endregion\n\n\n\n//#region ----- Command -----\n\n\n\n/**\n\n * Opens the Safety Plan preview. Save as Draft, Submit, Lock, and Sign Off persist fill values first.\n\n * Outcomes depend on workflowActionSet:\n\n * - draft: Saved | Submitted | Cancelled\n\n * - assigned: Saved | Locked | Cancelled\n\n * - locked: SignOff | Cancelled\n\n */\n\n@Injectable()\n\nexport class AXMFillSafetyPlanCommand implements AXPCommand<AXMFillSafetyPlanCommandInput, void> {\n\n //#region ----- Services & Dependencies -----\n\n\n\n private readonly entityService = inject(AXPEntityService);\n\n private readonly translationService = inject(AXTranslationService);\n\n private readonly previewService = inject(AXMSafetyPlanPreviewService);\n\n\n\n //#endregion\n\n\n\n //#region ----- Command Implementation -----\n\n\n\n async execute(input: AXMFillSafetyPlanCommandInput = {}): AXPCommandExecuteResultPromise<void> {\n\n try {\n\n const planId = this.resolvePlanId(input);\n\n if (!planId) {\n\n return {\n\n success: false,\n\n message: {\n\n text: await this.translationService.translateAsync('@general:messages.entity.invalid-data'),\n\n },\n\n metadata: { outcome: 'Cancelled' satisfies FillSafetyPlanOutcome },\n\n };\n\n }\n\n\n\n const structure = await loadSafetyPlanPreviewStructure(\n\n this.entityService,\n\n this.translationService,\n\n planId,\n\n );\n\n const fillValues = await loadSafetyPlanFillValues(this.entityService, planId);\n\n const dialogTitle = await this.resolveDialogTitle(input);\n\n const workflowActionSet = this.resolveWorkflowActionSet(input);\n\n const editable = this.resolveEditable(input);\n\n\n\n const result = await this.previewService.open({\n\n title: dialogTitle,\n\n structure,\n\n planId,\n\n fillValues,\n\n workflowActionSet,\n\n editable,\n\n });\n\n\n\n const outcome = this.resolveOutcome(result);\n\n return {\n\n success: true,\n\n kind: 'object',\n\n data: undefined,\n\n metadata: { outcome, refresh: false },\n\n };\n\n } catch {\n\n return {\n\n success: false,\n\n message: {\n\n text: await this.translationService.translateAsync('@general:messages.generic.error.description'),\n\n },\n\n metadata: { outcome: 'Cancelled' satisfies FillSafetyPlanOutcome },\n\n };\n\n }\n\n }\n\n\n\n //#endregion\n\n\n\n //#region ----- Utility Methods -----\n\n\n\n private resolveWorkflowActionSet(\n\n input: AXMFillSafetyPlanCommandInput,\n\n ): AXMSafetyPlanPreviewWorkflowActionSet | undefined {\n\n const candidates = [\n\n input.workflowActionSet,\n\n input.options?.workflowActionSet,\n\n get(input, 'options.workflowActionSet'),\n\n input.__context__?.options?.workflowActionSet,\n\n ];\n\n\n\n for (const candidate of candidates) {\n\n if (candidate === 'draft' || candidate === 'assigned' || candidate === 'locked') {\n\n return candidate;\n\n }\n\n }\n\n\n\n return undefined;\n\n }\n\n\n\n private resolveEditable(input: AXMFillSafetyPlanCommandInput): boolean {\n\n const candidates = [\n\n input.editable,\n\n input.options?.editable,\n\n get(input, 'options.editable'),\n\n input.__context__?.options?.editable,\n\n ];\n\n\n\n return candidates.some((candidate) => candidate === true || candidate === 'true');\n\n }\n\n\n\n private resolveOutcome(\n\n result: { saved?: boolean; submitted?: boolean; locked?: boolean; signOff?: boolean } | null,\n\n ): FillSafetyPlanOutcome {\n\n if (result?.signOff === true) {\n\n return 'SignOff';\n\n }\n\n if (result?.locked === true) {\n\n return 'Locked';\n\n }\n\n if (result?.submitted === true) {\n\n return 'Submitted';\n\n }\n\n if (result?.saved === true) {\n\n return 'Saved';\n\n }\n\n return 'Cancelled';\n\n }\n\n\n\n private resolvePlanId(input: AXMFillSafetyPlanCommandInput): string | undefined {\n\n const context = input.__context__;\n\n const candidates = [\n\n input.id,\n\n input.options?.id,\n\n get(input, 'options.id'),\n\n context?.options?.id,\n\n context?.data?.id,\n\n input.data?.['id'],\n\n ];\n\n\n\n for (const candidate of candidates) {\n\n if (isString(candidate) && !isEmpty(candidate.trim())) {\n\n return candidate.trim();\n\n }\n\n }\n\n\n\n return undefined;\n\n }\n\n\n\n private async resolveDialogTitle(input: AXMFillSafetyPlanCommandInput): Promise<string> {\n\n const locale = this.translationService.getActiveLang?.() ?? 'en-US';\n\n\n\n const explicitTitle = defaultTo(\n\n input.title,\n\n defaultTo(input.options?.title, defaultTo(get(input, 'options.title'), input.__context__?.options?.title)),\n\n );\n\n if (isString(explicitTitle) && explicitTitle.trim().length > 0) {\n\n return resolveMultiLanguageString(explicitTitle, locale).trim();\n\n }\n\n if (explicitTitle != null && typeof explicitTitle === 'object') {\n\n const resolved = resolveMultiLanguageString(explicitTitle as AXPMultiLanguageString, locale).trim();\n\n if (resolved.length > 0) {\n\n return resolved;\n\n }\n\n }\n\n\n\n const contextTitle = defaultTo(input.data?.['title'], input.__context__?.data?.title);\n\n if (contextTitle != null) {\n\n const recordTitle = resolveEntityRowDisplayText(contextTitle, locale).trim();\n\n if (recordTitle.length > 0) {\n\n return recordTitle;\n\n }\n\n }\n\n\n\n return (\n\n (await this.translationService.translateAsync(\n\n '@workplacesafety-management:safety-plan-sections.preview.fill-title',\n\n )) || 'Safety Plan'\n\n );\n\n }\n\n\n\n //#endregion\n\n}\n\n\n\n//#endregion\n\n\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import { AXPopupService } from '@acorex/components/popup';
|
|
4
|
-
import { AXPDeviceService } from '@acorex-platform/framework-client/core';
|
|
4
|
+
import { AXPDialogOpener, AXPDeviceService } from '@acorex-platform/framework-client/core';
|
|
5
5
|
import { resolveEntityRowDisplayText } from '@acorex-platform/framework-client/common';
|
|
6
6
|
import { isActivitySectionType, resolveEntityRefId, RootConfig, mapSafetyPlanActivityItemsToSectionSnapshots, resolveSectionItemEntityName, asSafetyPlanDisplayText } from '@acorex-platform/module-workplacesafety-management-client/contracts';
|
|
7
7
|
|
|
@@ -12,23 +12,27 @@ class AXMSafetyPlanPreviewService {
|
|
|
12
12
|
constructor() {
|
|
13
13
|
//#region ----- Services & Dependencies -----
|
|
14
14
|
this.popupService = inject(AXPopupService);
|
|
15
|
+
this.dialogOpener = inject(AXPDialogOpener);
|
|
15
16
|
this.deviceService = inject(AXPDeviceService);
|
|
16
17
|
}
|
|
17
18
|
//#endregion
|
|
18
19
|
//#region ----- Public API -----
|
|
19
20
|
async open(options) {
|
|
20
|
-
const { AXMSafetyPlanPreviewModalComponent } = await import('./acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-B9lElhxc.mjs');
|
|
21
21
|
const workflowActionSet = this.resolveWorkflowActionSet(options);
|
|
22
|
-
const result = await this.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
22
|
+
const result = await this.dialogOpener.openPopup({
|
|
23
|
+
load: () => import('./acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-B9lElhxc.mjs').then((module) => module.AXMSafetyPlanPreviewModalComponent),
|
|
24
|
+
data: { planId: options.planId ?? '', title: options.title },
|
|
25
|
+
show: (component) => this.popupService.open(component, {
|
|
26
|
+
title: options.title,
|
|
27
|
+
size: this.deviceService.isSmall() ? 'full' : 'lg',
|
|
28
|
+
data: {
|
|
29
|
+
structure: options.structure,
|
|
30
|
+
workflowActionSet,
|
|
31
|
+
editable: options.editable === true,
|
|
32
|
+
planId: options.planId,
|
|
33
|
+
fillValues: options.fillValues ?? {},
|
|
34
|
+
},
|
|
35
|
+
}),
|
|
32
36
|
});
|
|
33
37
|
return result?.data ?? null;
|
|
34
38
|
}
|
|
@@ -237,4 +241,4 @@ async function hydrateNestedActivityCatalogSnapshots(entityService, translationS
|
|
|
237
241
|
//#endregion
|
|
238
242
|
|
|
239
243
|
export { AXMSafetyPlanPreviewService as A, hydrateSafetyPlanActivitySectionsForPreview as h };
|
|
240
|
-
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-
|
|
244
|
+
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-Q2vVYxP-.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-Q2vVYxP-.mjs","sources":["../../../../libs/modules/workplacesafety-management/client/src/lib/features/safety-plan-preview/safety-plan-preview.service.ts","../../../../libs/modules/workplacesafety-management/client/src/lib/features/safety-plan-preview/hydrate-safety-plan-activity-sections.ts"],"sourcesContent":["//#region ----- Imports -----\n\nimport { Injectable, inject } from '@angular/core';\nimport { AXPopupService } from '@acorex/components/popup';\nimport { AXPDialogOpener } from '@acorex-platform/framework-client/core';\nimport { AXPDeviceService } from '@acorex-platform/framework-client/core';\n\nimport type {\n AXMSafetyPlanPreviewOpenOptions,\n AXMSafetyPlanPreviewResult,\n AXMSafetyPlanPreviewWorkflowActionSet,\n} from './safety-plan-preview.types';\n\n//#endregion\n\n//#region ----- Service -----\n\n@Injectable({ providedIn: 'root' })\nexport class AXMSafetyPlanPreviewService {\n //#region ----- Services & Dependencies -----\n\n private readonly popupService = inject(AXPopupService);\n private readonly dialogOpener = inject(AXPDialogOpener);\n private readonly deviceService = inject(AXPDeviceService);\n\n //#endregion\n\n //#region ----- Public API -----\n\n async open(options: AXMSafetyPlanPreviewOpenOptions): Promise<AXMSafetyPlanPreviewResult | null> {\n const workflowActionSet = this.resolveWorkflowActionSet(options);\n const result = await this.dialogOpener.openPopup({\n load: () => import('./safety-plan-preview-modal.component').then((module) => module.AXMSafetyPlanPreviewModalComponent),\n data: { planId: options.planId ?? '', title: options.title },\n show: (component) =>\n this.popupService.open(component, {\n title: options.title,\n size: this.deviceService.isSmall() ? 'full' : 'lg',\n data: {\n structure: options.structure,\n workflowActionSet,\n editable: options.editable === true,\n planId: options.planId,\n fillValues: options.fillValues ?? {},\n },\n }),\n });\n\n return (result?.data as AXMSafetyPlanPreviewResult | undefined) ?? null;\n }\n\n //#endregion\n\n //#region ----- Helpers -----\n\n private resolveWorkflowActionSet(\n options: AXMSafetyPlanPreviewOpenOptions,\n ): AXMSafetyPlanPreviewWorkflowActionSet | undefined {\n if (\n options.workflowActionSet === 'draft' ||\n options.workflowActionSet === 'assigned' ||\n options.workflowActionSet === 'locked'\n ) {\n return options.workflowActionSet;\n }\n if (options.showWorkflowActions === true) {\n return 'draft';\n }\n return undefined;\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ----- Imports -----\n\nimport { resolveEntityRowDisplayText } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport {\n asSafetyPlanDisplayText,\n isActivitySectionType,\n mapSafetyPlanActivityItemsToSectionSnapshots,\n resolveEntityRefId,\n resolveSectionItemEntityName,\n RootConfig,\n type AXMSafetyPlanActivitySectionSnapshot,\n type AXMSafetyPlanSectionBuilderValue,\n type AXMWorkplaceSafetyManagementSafetyPlanSectionItemModel,\n} from '@acorex-platform/module-workplacesafety-management-client/contracts';\nimport { AXTranslationService } from '@acorex/core/translation';\n\n//#endregion\n\n//#region ----- Public API -----\n\n/**\n * Loads each Activity catalog row's predefined `items` onto `activityRow.sections`\n * and fills missing catalog item titles for preview rendering.\n */\nexport async function hydrateSafetyPlanActivitySectionsForPreview(\n entityService: AXPEntityService,\n translationService: AXTranslationService,\n value: AXMSafetyPlanSectionBuilderValue,\n): Promise<AXMSafetyPlanSectionBuilderValue> {\n const activityIds = collectActivityIdsNeedingSections(value);\n if (activityIds.length === 0) {\n return value;\n }\n\n const loadedById = await loadSafetyPlanActivitiesById(entityService, activityIds);\n if (loadedById.size === 0) {\n return value;\n }\n\n const withSections: AXMSafetyPlanSectionBuilderValue = {\n sections: value.sections.map((section) => {\n if (!isActivitySectionType(section.sectionTypeId, section.sectionType)) {\n return section;\n }\n return {\n ...section,\n items: section.items.map((item) => {\n const activityId = resolveEntityRefId(item.id) ?? resolveEntityRefId(item.itemIds?.[0]);\n if (!activityId) {\n return item;\n }\n const loaded = loadedById.get(activityId);\n if (!loaded) {\n return item;\n }\n const existingRow = item.activityRow;\n return {\n ...item,\n activityRow: {\n ...existingRow,\n title: existingRow?.title || loaded.title,\n code: existingRow?.code || loaded.code,\n description: existingRow?.description || loaded.description,\n sections: loaded.sections,\n },\n };\n }),\n };\n }),\n };\n\n return hydrateNestedActivityCatalogSnapshots(entityService, translationService, withSections);\n}\n\n//#endregion\n\n//#region ----- Helpers -----\n\nfunction collectActivityIdsNeedingSections(value: AXMSafetyPlanSectionBuilderValue): string[] {\n const ids = new Set<string>();\n for (const section of value.sections) {\n if (!isActivitySectionType(section.sectionTypeId, section.sectionType)) {\n continue;\n }\n for (const item of section.items ?? []) {\n const hasSections = (item.activityRow?.sections?.length ?? 0) > 0;\n if (hasSections) {\n continue;\n }\n const activityId = resolveEntityRefId(item.id) ?? resolveEntityRefId(item.itemIds?.[0]);\n if (activityId) {\n ids.add(activityId);\n }\n }\n }\n return [...ids];\n}\n\nasync function loadSafetyPlanActivitiesById(\n entityService: AXPEntityService,\n activityIds: string[],\n): Promise<\n Map<\n string,\n {\n title?: string;\n code?: string;\n description?: string;\n sections: AXMSafetyPlanActivitySectionSnapshot[];\n }\n >\n> {\n const entityKey = `${RootConfig.module.name}.${RootConfig.entities.safetyPlanActivity.name}`;\n const loaded = new Map<\n string,\n {\n title?: string;\n code?: string;\n description?: string;\n sections: AXMSafetyPlanActivitySectionSnapshot[];\n }\n >();\n\n await Promise.all(\n activityIds.map(async (id) => {\n try {\n const row = await entityService.withEntity(entityKey).data().byKey(id);\n if (!row) {\n return;\n }\n const record = row as {\n title?: string;\n code?: string;\n description?: string;\n items?: AXMWorkplaceSafetyManagementSafetyPlanSectionItemModel[];\n };\n loaded.set(id, {\n title: typeof record.title === 'string' ? record.title : undefined,\n code: typeof record.code === 'string' ? record.code : undefined,\n description: typeof record.description === 'string' ? record.description : undefined,\n sections: mapSafetyPlanActivityItemsToSectionSnapshots(record.items),\n });\n } catch {\n /* skip activities the session cannot read */\n }\n }),\n );\n\n return loaded;\n}\n\nasync function hydrateNestedActivityCatalogSnapshots(\n entityService: AXPEntityService,\n translationService: AXTranslationService,\n value: AXMSafetyPlanSectionBuilderValue,\n): Promise<AXMSafetyPlanSectionBuilderValue> {\n const locale = translationService.getActiveLang?.() ?? 'en-US';\n const missingByEntity = new Map<string, Set<string>>();\n\n for (const section of value.sections) {\n if (!isActivitySectionType(section.sectionTypeId, section.sectionType)) {\n continue;\n }\n for (const item of section.items ?? []) {\n for (const activitySection of item.activityRow?.sections ?? []) {\n const entityName = resolveSectionItemEntityName(\n activitySection.sectionTypeId,\n activitySection.sectionType,\n );\n if (!entityName) {\n continue;\n }\n for (const id of activitySection.itemIds ?? []) {\n const snapshot = activitySection.items?.find((entry) => entry.id === id);\n if (asSafetyPlanDisplayText(snapshot?.title) || asSafetyPlanDisplayText(snapshot?.code)) {\n continue;\n }\n const ids = missingByEntity.get(entityName) ?? new Set<string>();\n ids.add(id);\n missingByEntity.set(entityName, ids);\n }\n }\n }\n }\n\n if (missingByEntity.size === 0) {\n return value;\n }\n\n const loadedById = new Map<string, { title?: string; code?: string }>();\n await Promise.all(\n [...missingByEntity.entries()].map(async ([entityName, ids]) => {\n const idList = [...ids];\n try {\n const result = await entityService.withEntity(entityName).data().query({\n skip: 0,\n take: Math.max(idList.length, 1),\n filter:\n idList.length === 1\n ? { field: 'id', operator: { type: 'equal' }, value: idList[0] }\n : { field: 'id', operator: { type: 'in' }, value: idList },\n } as never);\n for (const row of result.items ?? []) {\n const record = row as unknown as Record<string, unknown>;\n const id = resolveEntityRefId(record['id']);\n if (!id) {\n continue;\n }\n loadedById.set(id, {\n title: resolveEntityRowDisplayText(record['title'], locale) || undefined,\n code: asSafetyPlanDisplayText(record['code']) || undefined,\n });\n }\n } catch {\n /* skip entities the session cannot read */\n }\n }),\n );\n\n if (loadedById.size === 0) {\n return value;\n }\n\n return {\n sections: value.sections.map((section) => ({\n ...section,\n items: section.items.map((item) => {\n if (!item.activityRow?.sections?.length) {\n return item;\n }\n return {\n ...item,\n activityRow: {\n ...item.activityRow,\n sections: item.activityRow.sections.map((activitySection) => ({\n ...activitySection,\n items: (activitySection.itemIds ?? []).map((id, index) => {\n const existing =\n activitySection.items?.find((entry) => entry.id === id) ??\n activitySection.items?.[index];\n const loaded = loadedById.get(id);\n return {\n id,\n title: asSafetyPlanDisplayText(existing?.title) || loaded?.title,\n code: asSafetyPlanDisplayText(existing?.code) || loaded?.code,\n };\n }),\n })),\n },\n };\n }),\n })),\n };\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -21,12 +21,12 @@ import { AXPWidgetPropertyViewerService, AXPStandardSectionItemsBuilderComponent
|
|
|
21
21
|
import * as i3 from '@angular/common';
|
|
22
22
|
import { CommonModule, AsyncPipe } from '@angular/common';
|
|
23
23
|
import { n as normalizeSafetyPlanSectionBuilderValue, s as safetyPlanSectionsToBuilderValue } from './acorex-platform-module-workplacesafety-management-client-safety-plan-section-builder.types-C0SEJsVM.mjs';
|
|
24
|
-
import { P as PPE_ITEM_VIEWER_WIDGET_NAME } from './acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-
|
|
24
|
+
import { P as PPE_ITEM_VIEWER_WIDGET_NAME } from './acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-CQsOLmlJ.mjs';
|
|
25
25
|
import { AXP_BEHAVIOR_PROPERTY_GROUP } from '@acorex-platform/framework-client/layout/widgets';
|
|
26
26
|
import { createBooleanProperty } from '@acorex-platform/framework-shared/widget-core';
|
|
27
27
|
import { SAFETY_PLAN_SECTIONS_SAVE_COMMAND } from './acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-D0aRQHWk.mjs';
|
|
28
28
|
export { AXMSaveSafetyPlanSectionsCommand } from './acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-D0aRQHWk.mjs';
|
|
29
|
-
import { A as AXMSafetyPlanPreviewService, h as hydrateSafetyPlanActivitySectionsForPreview } from './acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-
|
|
29
|
+
import { A as AXMSafetyPlanPreviewService, h as hydrateSafetyPlanActivitySectionsForPreview } from './acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-Q2vVYxP-.mjs';
|
|
30
30
|
import { resolveEntityRowDisplayText } from '@acorex-platform/framework-client/common';
|
|
31
31
|
|
|
32
32
|
//#region ----- Imports -----
|
|
@@ -1869,4 +1869,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1869
1869
|
}] });
|
|
1870
1870
|
|
|
1871
1871
|
export { AXMSafetyPlanSectionBuilderComponent, AXMSafetyPlanSectionsPageComponent, AXMSafetyPlanSectionsPageComponentProvider, SAFETY_PLAN_SECTIONS_SAVE_COMMAND };
|
|
1872
|
-
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-index-
|
|
1872
|
+
//# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-index-BGIQtdXI.mjs.map
|