@acorex-platform/module-workplacesafety-management-client 0.0.37 → 0.0.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-Ds0Fkspp.mjs → acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-C3a08xjg.mjs} +79 -32
  2. package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-C3a08xjg.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs +19 -5
  4. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs +19 -5
  6. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs +19 -5
  8. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs +19 -5
  10. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs +22 -72
  12. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs +20 -6
  14. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs +19 -5
  16. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-activity.mjs +1516 -0
  18. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-activity.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs +82 -12
  20. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs.map +1 -1
  21. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs +82 -12
  22. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs.map +1 -1
  23. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs +19 -5
  24. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs.map +1 -1
  25. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs +39 -6
  26. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs.map +1 -1
  27. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs +20 -5
  28. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs.map +1 -1
  29. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs +19 -5
  30. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs.map +1 -1
  31. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs +82 -12
  32. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs.map +1 -1
  33. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-BI4TLvSE.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-C46YEBVd.mjs} +21 -21
  34. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-C46YEBVd.mjs.map +1 -0
  35. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-COlCNnyK.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-oylKTsgJ.mjs} +16 -2
  36. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-oylKTsgJ.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-BrXGzqZU.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-DHm1nRwW.mjs} +16 -2
  38. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-DHm1nRwW.mjs.map +1 -0
  39. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-DHJus7OP.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-DH-hPuAD.mjs} +16 -2
  40. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-DH-hPuAD.mjs.map +1 -0
  41. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-CogjoDox.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-g4AT_IiT.mjs} +16 -2
  42. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-g4AT_IiT.mjs.map +1 -0
  43. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-9UWHmIXV.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-BwNlWbnC.mjs} +18 -72
  44. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-BwNlWbnC.mjs.map +1 -0
  45. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-CNPbxULL.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-Cogwbd1P.mjs} +17 -3
  46. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-Cogwbd1P.mjs.map +1 -0
  47. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-D5iOBl3P.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-0xqGaPnk.mjs} +16 -2
  48. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-0xqGaPnk.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-risk-management.integration-CUZIl8zt.mjs +7 -0
  50. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-risk-management.integration-CUZIl8zt.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-activity.entity-CZCYupQT.mjs +324 -0
  52. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-activity.entity-CZCYupQT.mjs.map +1 -0
  53. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-TdIMIkM7.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-D0fzHV_L.mjs} +62 -10
  54. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-D0fzHV_L.mjs.map +1 -0
  55. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-DJAI-7lB.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BpziBgGf.mjs} +17 -3
  56. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-DJAI-7lB.mjs.map → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BpziBgGf.mjs.map} +1 -1
  57. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-BGZ1VAW3.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-D8wL0ned.mjs} +17 -3
  58. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-D8wL0ned.mjs.map +1 -0
  59. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-B6NYL4xi.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-DrqQDYn9.mjs} +16 -2
  60. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-DrqQDYn9.mjs.map +1 -0
  61. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-BSUR9jqs.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-DaRnWCin.mjs} +36 -3
  62. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-DaRnWCin.mjs.map +1 -0
  63. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-CIHy_hLh.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-Coj5Rzry.mjs} +17 -2
  64. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-Coj5Rzry.mjs.map +1 -0
  65. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-Cs4nIHou.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-BU5roQ5-.mjs} +16 -2
  66. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-BU5roQ5-.mjs.map +1 -0
  67. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-CJFWDOoh.mjs → acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-DijGV30H.mjs} +17 -3
  68. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-DijGV30H.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs +1 -1
  70. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs +144 -168
  71. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs.map +1 -1
  72. package/fesm2022/acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-lJl0qpvT.mjs +165 -0
  73. package/fesm2022/acorex-platform-module-workplacesafety-management-client-fill-safety-plan.command-lJl0qpvT.mjs.map +1 -0
  74. package/fesm2022/acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-TrVl3-T6.mjs +240 -0
  75. package/fesm2022/acorex-platform-module-workplacesafety-management-client-hydrate-safety-plan-activity-sections-TrVl3-T6.mjs.map +1 -0
  76. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-index-gbDgxqrV.mjs → acorex-platform-module-workplacesafety-management-client-index-CInaiEjw.mjs} +130 -398
  77. package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-CInaiEjw.mjs.map +1 -0
  78. package/fesm2022/acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-Ce67NSIZ.mjs +136 -0
  79. package/fesm2022/acorex-platform-module-workplacesafety-management-client-load-safety-plan-preview-structure-Ce67NSIZ.mjs.map +1 -0
  80. package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs +1 -1
  81. package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs.map +1 -1
  82. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-DJqqiYlD.mjs +102 -0
  83. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-DJqqiYlD.mjs.map +1 -0
  84. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-fill-values.util-RLOdySf7.mjs +33 -0
  85. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-fill-values.util-RLOdySf7.mjs.map +1 -0
  86. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-CQ2xB7Va.mjs → acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-B9lElhxc.mjs} +252 -72
  87. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-B9lElhxc.mjs.map +1 -0
  88. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-section-builder.types-C0SEJsVM.mjs +185 -0
  89. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-section-builder.types-C0SEJsVM.mjs.map +1 -0
  90. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-CLj3y_JD.mjs → acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-D0aRQHWk.mjs} +30 -94
  91. package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-D0aRQHWk.mjs.map +1 -0
  92. package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs +1 -1
  93. package/package.json +6 -6
  94. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-activity.d.ts +5 -0
  95. package/types/acorex-platform-module-workplacesafety-management-client-contracts.d.ts +133 -157
  96. package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-Ds0Fkspp.mjs.map +0 -1
  97. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs +0 -542
  98. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs.map +0 -1
  99. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-BI4TLvSE.mjs.map +0 -1
  100. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-COlCNnyK.mjs.map +0 -1
  101. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-BrXGzqZU.mjs.map +0 -1
  102. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-DHJus7OP.mjs.map +0 -1
  103. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-CogjoDox.mjs.map +0 -1
  104. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-9UWHmIXV.mjs.map +0 -1
  105. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-CNPbxULL.mjs.map +0 -1
  106. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-D5iOBl3P.mjs.map +0 -1
  107. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-TdIMIkM7.mjs.map +0 -1
  108. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-BGZ1VAW3.mjs.map +0 -1
  109. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-B6NYL4xi.mjs.map +0 -1
  110. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-BlCbf5qP.mjs +0 -405
  111. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-BlCbf5qP.mjs.map +0 -1
  112. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-BSUR9jqs.mjs.map +0 -1
  113. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-CIHy_hLh.mjs.map +0 -1
  114. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-Cs4nIHou.mjs.map +0 -1
  115. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-CJFWDOoh.mjs.map +0 -1
  116. package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-gbDgxqrV.mjs.map +0 -1
  117. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-BU95c4xb.mjs +0 -254
  118. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-safety-plan.command-BU95c4xb.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-CQ2xB7Va.mjs.map +0 -1
  120. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview.service-DJP41MuL.mjs +0 -36
  121. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview.service-DJP41MuL.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-section-builder.types-LaN1NIgc.mjs +0 -204
  123. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-section-builder.types-LaN1NIgc.mjs.map +0 -1
  124. package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-CLj3y_JD.mjs.map +0 -1
  125. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.d.ts +0 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-D0fzHV_L.mjs","sources":["../../../../libs/modules/workplacesafety-management/contracts/src/section-type-entity-map.ts","../../../../libs/modules/workplacesafety-management/contracts/src/safety-plan-section-unique-type.util.ts","../../../../libs/modules/workplacesafety-management/contracts/src/safety-plan-section-structure.util.ts","../../../../libs/modules/workplacesafety-management/contracts/src/safety-plan-section-dependency.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport type {\n AXMSectionTypeCode,\n AXMSectionTypeSnapshot,\n} from './entities/section-type/section-type.types';\n\nimport { RISK_MANAGEMENT_RISK_MATRIX_ENTITY } from './risk-management.integration';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Built-in section type IDs ----\n\n/** Stable IDs for seeded built-in section types (shared by server mocks and client lookups). */\n\nexport const WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS = {\n hazard: 'c1d2e3f4-a5b6-4789-c001-000000000001',\n\n hazardRisk: 'c1d2e3f4-a5b6-4789-c001-000000000002',\n\n ppe: 'c1d2e3f4-a5b6-4789-c001-000000000003',\n\n control: 'c1d2e3f4-a5b6-4789-c001-000000000004',\n\n hierarchyLevel: 'c1d2e3f4-a5b6-4789-c001-000000000005',\n\n custom: 'c1d2e3f4-a5b6-4789-c001-000000000006',\n\n ppeHazards: 'c1d2e3f4-a5b6-4789-c001-000000000007',\n\n riskMatrix: 'c1d2e3f4-a5b6-4789-c001-000000000008',\n\n hazardRiskPpe: 'c1d2e3f4-a5b6-4789-c001-000000000009',\n\n activity: 'c1d2e3f4-a5b6-4789-c001-00000000000a',\n} as const;\n\nexport interface AXMBuiltInSectionTypeMeta {\n sectionTypeKey: AXMSectionTypeCode;\n\n itemEntityName?: string;\n\n /** When true, a safety plan may include this section type more than once. */\n isRepeatable?: boolean;\n}\n\nconst moduleName = RootConfig.module.name;\n\n/** Maps section type codes to the entity that supplies selectable items. */\n\nexport const WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE: Readonly<\n Record<AXMSectionTypeCode, string | undefined>\n> = {\n Hazard: `${moduleName}.${RootConfig.entities.hazard.name}`,\n\n HazardRisk: `${moduleName}.${RootConfig.entities.hazardRisk.name}`,\n\n Ppe: `${moduleName}.${RootConfig.entities.ppeItem.name}`,\n\n PpeHazards: `${moduleName}.${RootConfig.entities.hazardPpeRule.name}`,\n\n HazardRiskPpe: undefined,\n\n Control: `${moduleName}.${RootConfig.entities.controlMeasure.name}`,\n\n HierarchyLevel: `${moduleName}.${RootConfig.entities.controlHierarchyLevels.name}`,\n\n RiskMatrix: RISK_MANAGEMENT_RISK_MATRIX_ENTITY,\n\n Custom: undefined,\n\n /** Host section for Activity rows (managed by the section builder, not a catalog picker). */\n Activity: undefined,\n};\n\n/** Built-in section types resolved by stable section type id. */\n\nexport const WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID: Readonly<\n Record<string, AXMBuiltInSectionTypeMeta>\n> = {\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazard]: {\n sectionTypeKey: 'Hazard',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.Hazard,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRisk]: {\n sectionTypeKey: 'HazardRisk',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.HazardRisk,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppe]: {\n sectionTypeKey: 'Ppe',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.Ppe,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppeHazards]: {\n sectionTypeKey: 'PpeHazards',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.PpeHazards,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRiskPpe]: {\n sectionTypeKey: 'HazardRiskPpe',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.HazardRiskPpe,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.control]: {\n sectionTypeKey: 'Control',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.Control,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hierarchyLevel]: {\n sectionTypeKey: 'HierarchyLevel',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.HierarchyLevel,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.riskMatrix]: {\n sectionTypeKey: 'RiskMatrix',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.RiskMatrix,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.custom]: {\n sectionTypeKey: 'Custom',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.Custom,\n\n isRepeatable: true,\n },\n\n [WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.activity]: {\n sectionTypeKey: 'Activity',\n\n itemEntityName: WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_BY_CODE.Activity,\n\n isRepeatable: true,\n },\n};\n\n/** Default entity so the lookup widget mounts before a section type is chosen. */\n\nexport const WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_FALLBACK = `${moduleName}.${RootConfig.entities.hazard.name}`;\n\n//#endregion\n\n//#region ---- Snapshot helpers ----\n\nexport function resolveSectionTypeKey(\n sectionTypeId: string | undefined,\n\n snapshot?: AXMSectionTypeSnapshot,\n): AXMSectionTypeCode | undefined {\n const fromSnapshot = snapshot?.sectionTypeKey;\n\n if (typeof fromSnapshot === 'string' && fromSnapshot.length > 0) {\n return fromSnapshot as AXMSectionTypeCode;\n }\n\n if (!sectionTypeId) {\n return undefined;\n }\n\n return WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID[sectionTypeId]\n ?.sectionTypeKey;\n}\n\n/**\n * Human-readable titles for built-in section type keys (matches seeded SectionType titles).\n * Used when snapshots lack `title` (common after id-only enrichment).\n */\nconst SECTION_TYPE_KEY_DISPLAY_TITLES: Readonly<Record<AXMSectionTypeCode, string>> = {\n Hazard: 'Hazard',\n HazardRisk: 'Hazard Risk',\n Ppe: 'PPE',\n PpeHazards: 'Hazard PPE Items',\n HazardRiskPpe: 'Hazard Risk PPE',\n Control: 'Control',\n HierarchyLevel: 'Hierarchy Level',\n RiskMatrix: 'Risk Matrix',\n Custom: 'Custom',\n Activity: 'Activity',\n};\n\n/** Formats a section type key for display (e.g. `HierarchyLevel` → `Hierarchy Level`). */\nexport function formatSectionTypeKeyAsTitle(key: string | undefined | null): string {\n if (!key) {\n return '';\n }\n const known = SECTION_TYPE_KEY_DISPLAY_TITLES[key as AXMSectionTypeCode];\n if (known) {\n return known;\n }\n return key.replace(/([a-z\\d])([A-Z])/g, '$1 $2').trim();\n}\n\n/**\n * Resolves a section type label for UI/preview: snapshot title → key display title → spaced code.\n */\nexport function resolveSectionTypeDisplayTitle(\n sectionTypeId?: string,\n snapshot?: AXMSectionTypeSnapshot | null,\n): string {\n if (typeof snapshot?.title === 'string' && snapshot.title.trim()) {\n return snapshot.title.trim();\n }\n const key = resolveSectionTypeKey(sectionTypeId, snapshot ?? undefined);\n const fromKey = formatSectionTypeKeyAsTitle(key);\n if (fromKey) {\n return fromKey;\n }\n if (typeof snapshot?.code === 'string' && snapshot.code.trim()) {\n return formatSectionTypeKeyAsTitle(snapshot.code.trim()) || snapshot.code.trim();\n }\n return '';\n}\n\nexport function resolveSectionItemEntityName(\n sectionTypeId: string | undefined,\n\n snapshot?: AXMSectionTypeSnapshot,\n): string | undefined {\n const fromSnapshot = snapshot?.itemEntityName;\n\n if (typeof fromSnapshot === 'string' && fromSnapshot.length > 0) {\n return fromSnapshot;\n }\n\n if (!sectionTypeId) {\n return undefined;\n }\n\n return WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID[sectionTypeId]\n ?.itemEntityName;\n}\n\n/** Adds runtime lookup metadata (`sectionTypeKey`, `itemEntityName`) from built-in id map. */\n\nexport function enrichSectionTypeSnapshot(\n sectionTypeId: string | undefined,\n\n snapshot?: AXMSectionTypeSnapshot,\n): AXMSectionTypeSnapshot | undefined {\n if (!sectionTypeId) {\n return snapshot;\n }\n\n return {\n ...snapshot,\n\n id: sectionTypeId,\n\n sectionTypeKey: resolveSectionTypeKey(sectionTypeId, snapshot),\n\n itemEntityName: resolveSectionItemEntityName(sectionTypeId, snapshot),\n\n isRepeatable:\n snapshot?.isRepeatable ??\n WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID[sectionTypeId]?.isRepeatable,\n };\n}\n\n//#endregion\n\n//#region ---- Dynamic entity expressions ----\n\nfunction buildSectionTypeEntityExpressionById(\n sectionTypeIdPath: string,\n): string {\n const parts = Object.entries(WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID)\n\n .filter(([, meta]) => meta.itemEntityName)\n\n .map(\n ([id, meta]) =>\n `context.eval('${sectionTypeIdPath}') === '${id}' ? '${meta.itemEntityName}'`,\n );\n\n return `{{ ${parts.join(' : ')} : '${WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_FALLBACK}' }}`;\n}\n\nfunction buildSectionTypeEntityExpressionWithSnapshotFallback(\n sectionTypeIdPath: string,\n itemEntityNamePath: string,\n): string {\n const byId = buildSectionTypeEntityExpressionById(sectionTypeIdPath).slice(3, -2);\n return `{{ context.eval('${itemEntityNamePath}') || (${byId}) }}`;\n}\n\n/**\n * For repeater / nested FormField widgets — `>` walks up to the row where `sectionType` is exposed.\n */\n\nexport const WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION =\n buildSectionTypeEntityExpressionWithSnapshotFallback(\n '>sectionType.id',\n\n '>sectionType.itemEntityName',\n );\n\n/**\n * Entity expression keyed by the bound `sectionTypeId` field (repeater-safe).\n * Prefer this when expose snapshots may not live on the same path the lookup evaluates.\n */\nexport function buildWorkplaceSafetySectionTypeEntityExpression(sectionTypeIdPath: string): string {\n return buildSectionTypeEntityExpressionById(sectionTypeIdPath);\n}\n\n/**\n * For flat dialog / dynamic forms — sibling fields share the same context (no parent path).\n */\nexport const WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION_SIBLING =\n buildSectionTypeEntityExpressionWithSnapshotFallback(\n 'sectionType.id',\n 'sectionType.itemEntityName',\n );\n\n//#endregion\n","/**\n * Shared helpers for Safety Plan Section type identity (repeatable vs one-off).\n * Leaf module — imports only other contract leaves (no client/server layers).\n */\n\nimport { WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID } from './section-type-entity-map';\n\n//#region ---- Helpers ----\n\nfunction resolveRefId(raw: unknown): string {\n if (typeof raw === 'string' && raw.trim().length > 0) {\n return raw.trim();\n }\n if (typeof raw === 'number' && Number.isFinite(raw)) {\n return String(raw);\n }\n if (raw && typeof raw === 'object') {\n const id = (raw as { id?: unknown }).id;\n if (typeof id === 'string' && id.trim().length > 0) {\n return id.trim();\n }\n }\n return '';\n}\n\n/**\n * True when this section type may appear more than once in a Safety Plan.\n * Checks (in order): snapshot flag, explicit allow-list, built-in section type meta.\n */\nexport function isSafetyPlanSectionTypeRepeatable(\n sectionTypeId: string,\n options?: {\n repeatableSectionTypeIds?: readonly string[];\n sectionType?: { isRepeatable?: boolean };\n },\n): boolean {\n const id = resolveRefId(sectionTypeId);\n if (!id) {\n return false;\n }\n if (options?.sectionType?.isRepeatable === true) {\n return true;\n }\n const allowList = new Set(\n (options?.repeatableSectionTypeIds ?? []).map((entry) => resolveRefId(entry)).filter(Boolean),\n );\n if (allowList.has(id)) {\n return true;\n }\n return WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID[id]?.isRepeatable === true;\n}\n\n/** Built-in section type ids that are always treated as repeatable. */\nexport function collectBuiltInRepeatableSectionTypeIds(): string[] {\n return Object.entries(WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID)\n .filter(([, meta]) => meta.isRepeatable === true)\n .map(([id]) => id);\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { createRandomUuid } from '@acorex-platform/framework-shared/core';\nimport type {\n AXMSafetyPlanSectionBuilderSectionValue,\n AXMSafetyPlanSectionBuilderValue,\n} from './safety-plan-section-builder.types';\nimport type {\n AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel,\n AXMWorkplaceSafetyManagementSafetyPlanTypeSectionTypeItemModel,\n} from './entities/safety-plan-type-section/safety-plan-type-section.types';\nimport type { AXMSectionTypeSnapshot } from './entities/section-type/section-type.types';\nimport { WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID } from './section-type-entity-map';\nimport { isSafetyPlanSectionTypeRepeatable } from './safety-plan-section-unique-type.util';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface AXMSafetyPlanSectionStructureItem {\n id: string;\n sectionTypeId: string;\n sectionType?: AXMSectionTypeSnapshot;\n title: string;\n description?: string;\n /** Links the plan section back to the type template it was created from. */\n sourceSafetyPlanTypeSectionId?: string;\n /** Display / persistence order (1-based). */\n sortOrder: number;\n /** True when sourced from an `isDefault` type section — must remain on the plan. */\n required?: boolean;\n items: Array<{\n id: string;\n itemIds: string[];\n items?: { id: string; title?: string; code?: string }[];\n }>;\n safetyPlanId?: string;\n code?: string;\n}\n\nexport interface AXMSafetyPlanSectionStructureValue {\n sections: AXMSafetyPlanSectionStructureItem[];\n}\n\nexport interface AXMSafetyPlanSectionStructureValidationContext {\n /** Section type ids allowed for this plan type (from its type-section config). */\n allowedSectionTypeIds: readonly string[];\n /** Source type-section ids that must remain present. */\n requiredSourceTypeSectionIds: readonly string[];\n /** Section type ids that may appear more than once on a plan. */\n repeatableSectionTypeIds?: readonly string[];\n}\n\nexport type AXMSafetyPlanSectionStructureValidationIssueCode =\n | 'REQUIRED_SECTION_MISSING'\n | 'SECTION_TYPE_NOT_ALLOWED'\n | 'INVALID_TYPE_SECTION_TEMPLATE'\n | 'INVALID_SORT_ORDER';\n\nexport interface AXMSafetyPlanSectionStructureValidationIssue {\n code: AXMSafetyPlanSectionStructureValidationIssueCode;\n messageKey: string;\n details?: Record<string, unknown>;\n}\n\n//#endregion\n\n//#region ---- Display helpers ----\n\n/** Coerces a stored string or locale map into a single display string. */\nexport function asSafetyPlanDisplayText(value: unknown): string {\n if (typeof value === 'string') {\n return value.trim();\n }\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n const rec = value as Record<string, unknown>;\n for (const locale of ['en-US', 'en-AU', 'en', 'fa-IR']) {\n const part = rec[locale];\n if (typeof part === 'string' && part.trim()) {\n return part.trim();\n }\n }\n for (const part of Object.values(rec)) {\n if (typeof part === 'string' && part.trim()) {\n return part.trim();\n }\n }\n }\n return '';\n}\n\nexport function buildSectionTypeRelationSnapshot(\n sectionTypeId: string,\n snapshot?: {\n title?: unknown;\n code?: unknown;\n description?: unknown;\n isRepeatable?: unknown;\n } | null,\n): AXMSectionTypeSnapshot {\n const title = asSafetyPlanDisplayText(snapshot?.title);\n const code = asSafetyPlanDisplayText(snapshot?.code);\n const description = asSafetyPlanDisplayText(snapshot?.description);\n return {\n id: sectionTypeId,\n ...(title ? { title } : {}),\n ...(code ? { code } : {}),\n ...(description ? { description } : {}),\n ...(snapshot?.isRepeatable === true ? { isRepeatable: true } : {}),\n };\n}\n\nfunction resolveSectionTypeTitle(\n sectionTypeId: string,\n sectionType?: { title?: unknown; code?: unknown } | null,\n): string {\n const title = asSafetyPlanDisplayText(sectionType?.title);\n if (title) {\n return title;\n }\n const code = asSafetyPlanDisplayText(sectionType?.code);\n if (code) {\n return code;\n }\n const builtIn = WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID[sectionTypeId]?.sectionTypeKey;\n if (builtIn) {\n return builtIn;\n }\n return sectionTypeId;\n}\n\n/**\n * Title persisted on SafetyPlanSection. Never stores a bare UUID — the UI translate\n * pipe treats unknown keys as empty, which made seeded section headers blank.\n */\nexport function resolveSafetyPlanSectionPersistedTitle(\n sectionTitle: unknown,\n sectionTypeId: string,\n snapshot?: { title?: unknown; code?: unknown } | null,\n): string {\n const explicit = asSafetyPlanDisplayText(sectionTitle);\n if (explicit && explicit !== sectionTypeId) {\n return explicit;\n }\n const fromType = resolveSectionTypeTitle(sectionTypeId, snapshot);\n if (fromType && fromType !== sectionTypeId) {\n return fromType;\n }\n return 'Section';\n}\n\n//#endregion\n\n//#region ---- Ref helpers ----\n\n/** True when a type-section row is marked as the plan-type default template. */\nexport function isSafetyPlanTypeSectionDefault(row: { isDefault?: unknown } | null | undefined): boolean {\n const value = row?.isDefault;\n return value === true || value === 1 || value === 'true';\n}\n\n/**\n * Returns the default Safety Plan Type Section (structure) for a plan type.\n * Prefers `isDefault: true`; otherwise the first active row by sortOrder/title.\n */\nexport function resolveDefaultSafetyPlanTypeSection(\n typeSections: readonly AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[],\n): AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel | null {\n const active = typeSections\n .filter((row) => row && row.isArchived !== true)\n .slice()\n .sort(\n (a, b) =>\n (a.sortOrder ?? 0) - (b.sortOrder ?? 0) || String(a.title ?? '').localeCompare(String(b.title ?? '')),\n );\n if (!active.length) {\n return null;\n }\n return active.find((row) => isSafetyPlanTypeSectionDefault(row)) ?? active[0] ?? null;\n}\n\n/**\n * Narrows type-section rows to the selected structure when `structureId` is set.\n * Falls back to all active rows (caller / build still applies isDefault rules).\n */\nexport function pickSafetyPlanTypeSectionsForStructure(\n typeSections: readonly AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[],\n structureId?: string | null,\n): AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[] {\n const active = typeSections.filter((row) => row && row.isArchived !== true);\n const id = typeof structureId === 'string' ? structureId.trim() : '';\n if (!id) {\n return active;\n }\n const selected = active.filter((row) => resolveEntityRefId(row.id) === id);\n return selected.length ? selected : active;\n}\n\n/** Extracts a stable entity id from a raw lookup / context value. */\nexport function resolveEntityRefId(raw: unknown): string | null {\n if (typeof raw === 'string' && raw.trim().length > 0) {\n return raw.trim();\n }\n if (typeof raw === 'number' && Number.isFinite(raw)) {\n return String(raw);\n }\n if (raw && typeof raw === 'object') {\n const id = (raw as { id?: unknown }).id;\n if (typeof id === 'string' && id.trim().length > 0) {\n return id.trim();\n }\n }\n return null;\n}\n\nfunction resolveSectionTypeId(\n typeRow: AXMWorkplaceSafetyManagementSafetyPlanTypeSectionTypeItemModel | null | undefined,\n): string {\n if (!typeRow) {\n return '';\n }\n return (\n resolveEntityRefId(typeRow.sectionTypeId) ??\n resolveEntityRefId(typeRow.sectionType) ??\n resolveEntityRefId(typeRow.sectionType?.id) ??\n ''\n );\n}\n\n//#endregion\n\n//#region ---- Build from type sections ----\n\nlet structureIdSeq = 0;\nfunction nextStructureId(prefix: string): string {\n structureIdSeq += 1;\n const rand = createRandomUuid();\n return prefix ? `${prefix}-${rand}` : rand;\n}\n\n/**\n * Builds an empty editable section structure from SafetyPlanTypeSection rows for one plan type.\n *\n * Uses `isDefault` rows when present; otherwise falls back to all active rows for that type\n * (so a mis-flagged template still produces a structure). One plan section per `sectionTypeIds`\n * entry, titled from the Section Type, ordered by type-section `sortOrder` then repeater order.\n */\nexport function buildSectionStructureFromTypeSections(\n typeSections: readonly AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[],\n options?: { createId?: () => string },\n): AXMSafetyPlanSectionStructureValue {\n const createId = options?.createId ?? (() => nextStructureId(''));\n const active = typeSections\n .filter((row) => row && row.isArchived !== true)\n .slice()\n .sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0) || String(a.title ?? '').localeCompare(String(b.title ?? '')));\n\n const defaults = active.filter((row) => isSafetyPlanTypeSectionDefault(row));\n const sourceRows = defaults.length > 0 ? defaults : active;\n\n const sections: AXMSafetyPlanSectionStructureItem[] = [];\n const seenSourceTypePairs = new Set<string>();\n let sortOrder = 1;\n\n for (const typeSection of sourceRows) {\n const typeRows = Array.isArray(typeSection.sectionTypeIds) ? typeSection.sectionTypeIds : [];\n if (!typeRows.length) {\n continue;\n }\n\n for (const typeRow of typeRows) {\n const sectionTypeId = resolveSectionTypeId(typeRow);\n if (!sectionTypeId) {\n continue;\n }\n\n // One plan section per (type-section source, section type) — prevents\n // accidental double expansion when the same type is listed twice.\n const sourceId = typeof typeSection.id === 'string' ? typeSection.id : '';\n const pairKey = sourceId ? `${sourceId}|${sectionTypeId}` : sectionTypeId;\n if (seenSourceTypePairs.has(pairKey)) {\n continue;\n }\n seenSourceTypePairs.add(pairKey);\n\n const sectionType = buildSectionTypeRelationSnapshot(sectionTypeId, typeRow.sectionType);\n const sectionId = createId();\n sections.push({\n id: sectionId,\n sectionTypeId,\n sectionType,\n title: resolveSafetyPlanSectionPersistedTitle(undefined, sectionTypeId, sectionType),\n description: asSafetyPlanDisplayText(sectionType.description),\n sourceSafetyPlanTypeSectionId: typeSection.id,\n sortOrder: sortOrder++,\n required: isSafetyPlanTypeSectionDefault(typeSection) || defaults.length === 0,\n items: [\n {\n id: `${sectionId}__item_1`,\n itemIds: [],\n items: [],\n },\n ],\n });\n }\n }\n\n return { sections };\n}\n\n/**\n * Removes accidental ghost rows from double materialization of the same type-section\n * source. Distinct sections of the same type are kept. Reassigns contiguous 1-based\n * `sortOrder` to preserve display order.\n */\nexport function dedupeSafetyPlanSectionStructure<\n T extends AXMSafetyPlanSectionStructureValue | AXMSafetyPlanSectionBuilderValue,\n>(\n structure: T,\n _options?: { repeatableSectionTypeIds?: readonly string[] },\n): T {\n type Section = AXMSafetyPlanSectionStructureItem | AXMSafetyPlanSectionBuilderSectionValue;\n\n const sections: readonly Section[] = Array.isArray(structure?.sections)\n ? (structure.sections as readonly Section[])\n : [];\n const seenSourceTypePairs = new Set<string>();\n const deduped: Section[] = [];\n\n for (const section of sections) {\n const sectionTypeId = resolveEntityRefId(section.sectionTypeId) ?? String(section.sectionTypeId ?? '').trim();\n if (!sectionTypeId) {\n continue;\n }\n\n const sourceId = String(section.sourceSafetyPlanTypeSectionId ?? '').trim();\n const sourcePairKey = sourceId ? `${sourceId}|${sectionTypeId}` : '';\n\n // Same type-section source + section type must never appear twice (double materialization).\n if (sourcePairKey && seenSourceTypePairs.has(sourcePairKey)) {\n continue;\n }\n\n if (sourcePairKey) {\n seenSourceTypePairs.add(sourcePairKey);\n }\n deduped.push(section);\n }\n\n return {\n ...structure,\n sections: deduped.map((section, index) => ({\n ...section,\n sortOrder: index + 1,\n })),\n } as T;\n}\n\nexport function collectAllowedSectionTypeIds(\n typeSections: readonly AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[],\n): string[] {\n const ids = new Set<string>();\n for (const typeSection of typeSections) {\n if (typeSection.isArchived === true) {\n continue;\n }\n for (const row of typeSection.sectionTypeIds ?? []) {\n const id = resolveSectionTypeId(row);\n if (id) {\n ids.add(id);\n }\n }\n }\n return [...ids];\n}\n\nexport function collectRequiredSourceTypeSectionIds(\n typeSections: readonly AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[],\n options?: { structureId?: string | null },\n): string[] {\n const structureId =\n typeof options?.structureId === 'string' && options.structureId.trim()\n ? options.structureId.trim()\n : '';\n if (structureId) {\n const selected = typeSections.find(\n (row) => row.isArchived !== true && resolveEntityRefId(row.id) === structureId,\n );\n return selected?.id && typeof selected.id === 'string' ? [selected.id] : [structureId];\n }\n\n return typeSections\n .filter((row) => row.isArchived !== true && isSafetyPlanTypeSectionDefault(row))\n .map((row) => row.id)\n .filter((id): id is string => typeof id === 'string' && id.length > 0);\n}\n\n/**\n * Validates that a plan-type section template does not list the same\n * non-repeatable section type more than once (across rows and within a single row's repeater).\n */\nexport function validateSafetyPlanTypeSectionTemplate(\n typeSections: readonly AXMWorkplaceSafetyManagementSafetyPlanTypeSectionEntityModel[],\n repeatableSectionTypeIds: readonly string[] = [],\n): AXMSafetyPlanSectionStructureValidationIssue[] {\n const seen = new Map<string, { title: string; sourceSafetyPlanTypeSectionId?: string }>();\n const issues: AXMSafetyPlanSectionStructureValidationIssue[] = [];\n\n for (const typeSection of typeSections) {\n if (typeSection.isArchived === true) {\n continue;\n }\n for (const row of typeSection.sectionTypeIds ?? []) {\n const sectionTypeId = resolveSectionTypeId(row);\n if (\n !sectionTypeId ||\n isSafetyPlanSectionTypeRepeatable(sectionTypeId, {\n repeatableSectionTypeIds,\n sectionType: row.sectionType as { isRepeatable?: boolean } | undefined,\n })\n ) {\n continue;\n }\n const sectionTypeTitle = resolveSafetyPlanSectionPersistedTitle(\n undefined,\n sectionTypeId,\n row.sectionType,\n );\n if (seen.has(sectionTypeId)) {\n issues.push({\n code: 'INVALID_TYPE_SECTION_TEMPLATE',\n messageKey:\n '@workplacesafety-management:safety-plans.messages.section-structure.invalid-type-template-duplicate',\n details: {\n sectionTypeId,\n sectionTypeTitle,\n sourceSafetyPlanTypeSectionId: typeSection.id,\n previousSourceSafetyPlanTypeSectionId: seen.get(sectionTypeId)?.sourceSafetyPlanTypeSectionId,\n },\n });\n continue;\n }\n seen.set(sectionTypeId, {\n title: sectionTypeTitle,\n sourceSafetyPlanTypeSectionId: typeSection.id,\n });\n }\n }\n\n return issues;\n}\n\n//#endregion\n\n//#region ---- Validation ----\n\nexport function validateSafetyPlanSectionStructure(\n structure: AXMSafetyPlanSectionStructureValue | AXMSafetyPlanSectionBuilderValue | null | undefined,\n context: AXMSafetyPlanSectionStructureValidationContext,\n): AXMSafetyPlanSectionStructureValidationIssue[] {\n const sections = Array.isArray(structure?.sections) ? structure!.sections : [];\n const issues: AXMSafetyPlanSectionStructureValidationIssue[] = [];\n\n const presentSourceIds = new Set(\n sections\n .map((s) => (s as AXMSafetyPlanSectionStructureItem).sourceSafetyPlanTypeSectionId)\n .filter((id): id is string => typeof id === 'string' && id.length > 0),\n );\n\n for (const requiredSourceId of context.requiredSourceTypeSectionIds) {\n if (!presentSourceIds.has(requiredSourceId)) {\n issues.push({\n code: 'REQUIRED_SECTION_MISSING',\n messageKey:\n '@workplacesafety-management:safety-plans.messages.section-structure.required-section-missing',\n details: { sourceSafetyPlanTypeSectionId: requiredSourceId },\n });\n }\n }\n\n const allowed = new Set(context.allowedSectionTypeIds);\n\n const sortOrders: number[] = [];\n for (const section of sections) {\n const sectionTypeId =\n resolveEntityRefId((section as { sectionTypeId?: unknown }).sectionTypeId) ??\n String((section as { sectionTypeId?: string }).sectionTypeId ?? '').trim();\n if (!sectionTypeId) {\n continue;\n }\n\n const sectionType = (section as { sectionType?: { title?: string; code?: string; isRepeatable?: boolean } })\n .sectionType;\n const sectionTypeTitle = resolveSafetyPlanSectionPersistedTitle(\n undefined,\n sectionTypeId,\n sectionType,\n );\n\n if (allowed.size > 0 && !allowed.has(sectionTypeId)) {\n issues.push({\n code: 'SECTION_TYPE_NOT_ALLOWED',\n messageKey:\n '@workplacesafety-management:safety-plans.messages.section-structure.section-type-not-allowed',\n details: { sectionTypeId, sectionTypeTitle, sectionId: (section as { id?: string }).id },\n });\n }\n\n const sortOrder = (section as AXMSafetyPlanSectionStructureItem).sortOrder;\n if (typeof sortOrder === 'number' && Number.isFinite(sortOrder)) {\n sortOrders.push(sortOrder);\n }\n }\n\n if (sortOrders.length !== sections.length) {\n issues.push({\n code: 'INVALID_SORT_ORDER',\n messageKey: '@workplacesafety-management:safety-plans.messages.section-structure.invalid-sort-order',\n });\n } else {\n const unique = new Set(sortOrders);\n if (unique.size !== sortOrders.length) {\n issues.push({\n code: 'INVALID_SORT_ORDER',\n messageKey: '@workplacesafety-management:safety-plans.messages.section-structure.invalid-sort-order',\n details: { reason: 'duplicate' },\n });\n }\n }\n\n return issues;\n}\n\nexport function toBuilderValueFromStructure(\n structure: AXMSafetyPlanSectionStructureValue,\n): AXMSafetyPlanSectionBuilderValue {\n return {\n sections: structure.sections.map((section) => ({\n id: section.id,\n sectionTypeId: section.sectionTypeId,\n sectionType: section.sectionType,\n title: section.title,\n description: section.description ?? '',\n safetyPlanId: section.safetyPlanId,\n code: section.code,\n sourceSafetyPlanTypeSectionId: section.sourceSafetyPlanTypeSectionId,\n sortOrder: section.sortOrder,\n required: section.required,\n items: section.items.map((item) => ({\n id: item.id,\n itemIds: [...(item.itemIds ?? [])],\n items: item.items ? [...item.items] : [],\n })),\n })),\n };\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport type { AXMSectionTypeCode, AXMSectionTypeSnapshot } from './entities/section-type/section-type.types';\nimport type {\n AXMSafetyPlanSectionBuilderItemValue,\n AXMSafetyPlanSectionBuilderSectionValue,\n AXMSafetyPlanSectionBuilderValue,\n} from './safety-plan-section-builder.types';\nimport {\n resolveSectionItemEntityName,\n resolveSectionTypeKey,\n WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID,\n WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS,\n} from './section-type-entity-map';\nimport { asSafetyPlanDisplayText } from './safety-plan-section-structure.util';\n\n//#endregion\n\n//#region ---- Dependency config ----\n\n/** Parent section type whose selected item IDs constrain the child lookup. */\nexport interface AXMSectionTypeParentFilterDependency {\n kind: 'parentFilter';\n parentSectionTypeKey: AXMSectionTypeCode;\n /** Field on the child lookup entity used for filtering (e.g. `hazardId`). */\n filterField: string;\n}\n\n/** Child lookup is filtered by IDs derived from parent entity records (e.g. `riskMatrixId` on HazardRisk). */\nexport interface AXMSectionTypeDerivedFilterDependency {\n kind: 'derivedFromParent';\n parentSectionTypeKey: AXMSectionTypeCode;\n /** Field path on the parent entity record used to resolve filter values. */\n resolveField: 'riskMatrixId';\n /** Field on the child lookup entity (typically `id`). */\n filterField: string;\n}\n\nexport type AXMSectionTypeDependency =\n | AXMSectionTypeParentFilterDependency\n | AXMSectionTypeDerivedFilterDependency;\n\n/** Declarative section-type dependencies resolved from prior sections in plan order. */\nexport const WORKPLACE_SAFETY_SECTION_TYPE_DEPENDENCIES: Partial<\n Record<AXMSectionTypeCode, AXMSectionTypeDependency>\n> = {\n HazardRisk: {\n kind: 'parentFilter',\n parentSectionTypeKey: 'Hazard',\n filterField: 'hazardId',\n },\n PpeHazards: {\n kind: 'parentFilter',\n parentSectionTypeKey: 'Hazard',\n filterField: 'hazardId',\n },\n HazardRiskPpe: {\n kind: 'parentFilter',\n parentSectionTypeKey: 'HazardRisk',\n filterField: 'hazardRiskId',\n },\n RiskMatrix: {\n kind: 'derivedFromParent',\n parentSectionTypeKey: 'HazardRisk',\n resolveField: 'riskMatrixId',\n filterField: 'id',\n },\n};\n\n/** Section types cleared when upstream hazard selections change. */\nexport const WORKPLACE_SAFETY_DOWNSTREAM_FROM_HAZARD: readonly AXMSectionTypeCode[] = [\n 'HazardRisk',\n 'PpeHazards',\n 'HazardRiskPpe',\n 'RiskMatrix',\n];\n\n/** Section types cleared when upstream hazard-risk selections change. */\nexport const WORKPLACE_SAFETY_DOWNSTREAM_FROM_HAZARD_RISK: readonly AXMSectionTypeCode[] = [\n 'HazardRiskPpe',\n 'RiskMatrix',\n];\n\nexport type AXMHazardRiskRecordLoader = (hazardRiskIds: string[]) => Promise<Record<string, unknown>[]>;\n\n//#endregion\n\n//#region ---- Lookup helpers ----\n\nexport const PARENT_HAZARD_IDS_CONTEXT_KEY = 'parentHazardIds';\n\nexport const PARENT_HAZARD_RISK_IDS_CONTEXT_KEY = 'parentHazardRiskIds';\n\n/** Expose paths when a section type is selected (shared by entity repeater and builder dialog). */\nexport const WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_EXPOSE = [\n { source: 'id', target: 'sectionType.id' },\n { source: 'title', target: 'sectionType.title' },\n { source: 'code', target: 'sectionType.code' },\n { source: 'description', target: 'sectionType.description' },\n { source: 'isRepeatable', target: 'sectionType.isRepeatable' },\n];\n\n/** Auto-fill section description when section type is selected. */\nexport const WORKPLACE_SAFETY_SECTION_TYPE_DESCRIPTION_SYNC_TRIGGERS = [\n {\n event: \"{{ events.context('sectionTypeId') }}\",\n action:\n \"{{ const items = widget.output('selectedItems'); const selectedDescription = Array.isArray(items) ? items[0]?.description : undefined; const d = selectedDescription || context.eval('sectionType.description') || ''; context.set('sectionTypeDescription', d); const descriptionWidget = widget.find('sectionTypeDescription'); if (descriptionWidget) { descriptionWidget.setValue(d); } }}\",\n },\n {\n event: \"{{ events.context('sectionType.description') }}\",\n action:\n \"{{ const d = context.eval('sectionType.description') || ''; context.set('sectionTypeDescription', d); const descriptionWidget = widget.find('sectionTypeDescription'); if (descriptionWidget) { descriptionWidget.setValue(d); } }}\",\n },\n];\n\n/** Auto-fill section title when section type is selected. */\nexport const WORKPLACE_SAFETY_SECTION_TYPE_TITLE_SYNC_TRIGGERS = [\n {\n event: \"{{ events.context('sectionTypeId') }}\",\n action:\n \"{{ const items = widget.output('selectedItems'); const selectedTitle = Array.isArray(items) ? items[0]?.title : undefined; const t = selectedTitle || context.eval('sectionType.title') || ''; if (t) { context.set('title', t); const titleWidget = widget.find('title'); if (titleWidget) { titleWidget.setValue(t); } } }}\",\n },\n {\n event: \"{{ events.context('sectionType.title') }}\",\n action:\n \"{{ const t = context.eval('sectionType.title') || ''; if (t) { context.set('title', t); const titleWidget = widget.find('title'); if (titleWidget) { titleWidget.setValue(t); } } }}\",\n },\n];\n\n/** Shared lookup widget options for section type pickers (builder dialog and entity forms). */\nexport const WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS: Record<string, unknown> = {\n look: 'select',\n allowSearch: true,\n textField: 'code',\n textTemplate: '{code} — {description}',\n valueField: 'id',\n columns: ['code', 'title', 'description'],\n expose: WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_EXPOSE,\n triggers: [\n ...WORKPLACE_SAFETY_SECTION_TYPE_TITLE_SYNC_TRIGGERS,\n ...WORKPLACE_SAFETY_SECTION_TYPE_DESCRIPTION_SYNC_TRIGGERS,\n ],\n};\n\n//#endregion\n\n//#region ---- Resolver API ----\n\nexport function getSectionTypeDependency(\n sectionTypeKey: string | undefined,\n): AXMSectionTypeDependency | undefined {\n if (!sectionTypeKey) {\n return undefined;\n }\n return WORKPLACE_SAFETY_SECTION_TYPE_DEPENDENCIES[sectionTypeKey as AXMSectionTypeCode];\n}\n\nexport function sectionTypeKeyFromSection(\n section: Pick<AXMSafetyPlanSectionBuilderSectionValue, 'sectionType' | 'sectionTypeId'>,\n): AXMSectionTypeCode | undefined {\n const sectionTypeId = section.sectionTypeId || section.sectionType?.id;\n const key = resolveSectionTypeKey(sectionTypeId, section.sectionType);\n return key;\n}\n\nfunction collectSectionItemIds(\n section: AXMSafetyPlanSectionBuilderSectionValue | undefined,\n sectionTypeKey: AXMSectionTypeCode,\n): string[] {\n if (!section?.items?.length || sectionTypeKeyFromSection(section) !== sectionTypeKey) {\n return [];\n }\n const ids = new Set<string>();\n for (const item of section.items) {\n for (const id of item.itemIds ?? []) {\n if (typeof id === 'string' && id.length > 0) {\n ids.add(id);\n }\n }\n }\n return [...ids];\n}\n\n/** Collects item IDs from sections up to `sectionIndex` whose type matches `parentSectionTypeKey`. */\nexport function resolveParentItemIds(\n sections: AXMSafetyPlanSectionBuilderSectionValue[],\n sectionIndex: number,\n parentSectionTypeKey: AXMSectionTypeCode,\n): string[] {\n const ids = new Set<string>();\n const lastIndex = Math.min(sectionIndex, sections.length - 1);\n for (let index = 0; index <= lastIndex; index += 1) {\n collectSectionItemIds(sections[index], parentSectionTypeKey).forEach((id) => ids.add(id));\n }\n return [...ids];\n}\n\n/** Collects hazard IDs from earlier sections and Hazard rows in the current section. */\nexport function resolveParentHazardIds(\n sections: AXMSafetyPlanSectionBuilderSectionValue[],\n sectionIndex: number,\n parentSectionTypeKey: AXMSectionTypeCode = 'Hazard',\n): string[] {\n return resolveParentItemIds(sections, sectionIndex, parentSectionTypeKey);\n}\n\n/** Collects hazard-risk IDs from prior HazardRisk sections up to `sectionIndex`. */\nexport function resolveParentHazardRiskIds(\n sections: AXMSafetyPlanSectionBuilderSectionValue[],\n sectionIndex: number,\n): string[] {\n return resolveParentItemIds(sections, sectionIndex, 'HazardRisk');\n}\n\nfunction parentItemSignature(\n sections: AXMSafetyPlanSectionBuilderSectionValue[],\n sectionIndex: number,\n parentSectionTypeKey: AXMSectionTypeCode,\n): string {\n return resolveParentItemIds(sections, sectionIndex, parentSectionTypeKey).sort().join('|');\n}\n\nfunction shouldClearSectionOnParentChange(\n section: AXMSafetyPlanSectionBuilderSectionValue,\n sectionIndex: number,\n changeIndex: number,\n parentTypeKey: AXMSectionTypeCode,\n downstreamTypes: readonly AXMSectionTypeCode[],\n): boolean {\n if (sectionIndex < changeIndex) {\n return false;\n }\n const sectionKey = sectionTypeKeyFromSection(section);\n if (!sectionKey || !downstreamTypes.includes(sectionKey)) {\n return false;\n }\n if (sectionIndex === changeIndex && sectionKey === parentTypeKey) {\n return false;\n }\n return section.items.some((item) => (item.itemIds?.length ?? 0) > 0);\n}\n\nfunction clearSectionItems(\n section: AXMSafetyPlanSectionBuilderSectionValue,\n): AXMSafetyPlanSectionBuilderSectionValue {\n return {\n ...section,\n items: section.items.map((item) => ({ ...item, itemIds: [], items: [] })),\n };\n}\n\n/**\n * When upstream hazard or hazard-risk selections change, clears item rows in later dependent sections.\n */\nexport function clearDependentItemsOnParentChange(\n previous: AXMSafetyPlanSectionBuilderValue,\n next: AXMSafetyPlanSectionBuilderValue,\n): AXMSafetyPlanSectionBuilderValue {\n if (!next.sections.length) {\n return next;\n }\n\n let changeIndex = next.sections.length;\n let hazardChanged = false;\n let hazardRiskChanged = false;\n\n for (let index = 0; index < next.sections.length; index += 1) {\n const prevHazardSig = parentItemSignature(previous.sections, index, 'Hazard');\n const nextHazardSig = parentItemSignature(next.sections, index, 'Hazard');\n if (prevHazardSig !== nextHazardSig) {\n changeIndex = Math.min(changeIndex, index);\n hazardChanged = true;\n }\n\n const prevRiskSig = parentItemSignature(previous.sections, index, 'HazardRisk');\n const nextRiskSig = parentItemSignature(next.sections, index, 'HazardRisk');\n if (prevRiskSig !== nextRiskSig) {\n changeIndex = Math.min(changeIndex, index);\n hazardRiskChanged = true;\n }\n }\n\n if (changeIndex === next.sections.length) {\n return next;\n }\n\n return {\n sections: next.sections.map((section, sectionIndex) => {\n const clearFromHazard =\n hazardChanged &&\n shouldClearSectionOnParentChange(\n section,\n sectionIndex,\n changeIndex,\n 'Hazard',\n WORKPLACE_SAFETY_DOWNSTREAM_FROM_HAZARD,\n );\n const clearFromHazardRisk =\n hazardRiskChanged &&\n shouldClearSectionOnParentChange(\n section,\n sectionIndex,\n changeIndex,\n 'HazardRisk',\n WORKPLACE_SAFETY_DOWNSTREAM_FROM_HAZARD_RISK,\n );\n\n if (!clearFromHazard && !clearFromHazardRisk) {\n return section;\n }\n return clearSectionItems(section);\n }),\n };\n}\n\nexport function extractRiskMatrixIdsFromHazardRisks(records: Record<string, unknown>[]): string[] {\n const ids = new Set<string>();\n for (const record of records) {\n const id = record['riskMatrixId'];\n if (typeof id === 'string' && id.length > 0) {\n ids.add(id);\n }\n }\n return [...ids];\n}\n\nfunction buildInFilter(field: string, values: string[]): Record<string, unknown> | null {\n const unique = [...new Set(values.filter((id) => id.length > 0))];\n if (!unique.length) {\n return null;\n }\n return {\n field,\n operator: { type: 'in' },\n value: unique,\n };\n}\n\n/** Filter that matches no records when parent context exists but derived IDs are empty. */\nfunction buildEmptyResultFilter(field: string): Record<string, unknown> {\n return {\n field,\n operator: { type: 'in' },\n value: ['00000000-0000-0000-0000-000000000000'],\n };\n}\n\nexport function resolveSafetyPlanSectionItemFilter(\n sectionTypeId: string,\n parentHazardIds: string[],\n parentHazardRiskIds: string[] = [],\n): Record<string, unknown> | null {\n const sectionTypeKey = resolveSectionTypeKey(sectionTypeId);\n const dependency = getSectionTypeDependency(sectionTypeKey);\n if (!dependency || dependency.kind !== 'parentFilter') {\n return null;\n }\n\n const parentIds =\n dependency.parentSectionTypeKey === 'Hazard' ? parentHazardIds : parentHazardRiskIds;\n if (!parentIds.length) {\n return null;\n }\n\n return buildInFilter(dependency.filterField, parentIds);\n}\n\nexport async function resolveSafetyPlanSectionItemFilterAsync(\n sectionTypeId: string,\n sections: AXMSafetyPlanSectionBuilderSectionValue[],\n sectionIndex: number,\n loadHazardRisks: AXMHazardRiskRecordLoader,\n): Promise<Record<string, unknown> | null> {\n const sectionTypeKey = resolveSectionTypeKey(sectionTypeId);\n const dependency = getSectionTypeDependency(sectionTypeKey);\n if (!dependency) {\n return null;\n }\n\n if (dependency.kind === 'parentFilter') {\n const parentIds = resolveParentItemIds(sections, sectionIndex, dependency.parentSectionTypeKey);\n if (!parentIds.length) {\n return null;\n }\n return buildInFilter(dependency.filterField, parentIds);\n }\n\n const parentIds = resolveParentItemIds(sections, sectionIndex, dependency.parentSectionTypeKey);\n if (!parentIds.length) {\n return null;\n }\n\n const records = await loadHazardRisks(parentIds);\n const derivedIds = extractRiskMatrixIdsFromHazardRisks(records);\n\n if (!derivedIds.length) {\n return buildEmptyResultFilter(dependency.filterField);\n }\n\n return buildInFilter(dependency.filterField, derivedIds);\n}\n\nconst defaultItemIdsPlaceholderKey =\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.item-ids.placeholder';\n\n/** Clears item selection when section type changes in item dialog context. */\nexport const WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_CLEAR_ON_SECTION_TYPE_TRIGGERS = [\n {\n event: \"{{ events.context('sectionType.id') }}\",\n action: \"{{ widget.setValue([]); context.set('items', []); }}\",\n },\n {\n event: \"{{ events.context('sectionTypeId') }}\",\n action: \"{{ widget.setValue([]); context.set('items', []); }}\",\n },\n];\n\n/**\n * Reloads lookup data after section type is resolved (`sectionType.id`, `itemEntityName`).\n */\nexport const WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_REFRESH_ON_SECTION_TYPE_EXPOSE_TRIGGERS = [\n {\n event: \"{{ events.context('sectionType.id') }}\",\n action: '{{ widget.refresh(); }}',\n },\n {\n event: \"{{ events.context('sectionType.itemEntityName') }}\",\n action: '{{ widget.refresh(); }}',\n },\n {\n event: \"{{ events.context('sectionTypeId') }}\",\n action: '{{ widget.refresh(); }}',\n },\n];\n\nexport const WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS = [\n ...WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_CLEAR_ON_SECTION_TYPE_TRIGGERS,\n ...WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_REFRESH_ON_SECTION_TYPE_EXPOSE_TRIGGERS,\n];\n\nfunction isPpeRuleSectionType(sectionTypeId: string): boolean {\n return (\n sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppeHazards ||\n sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRiskPpe\n );\n}\n\nfunction buildSectionTypeItemTextFieldExpression(sectionTypeIdPath: string): string {\n const ppeHazardsId = WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppeHazards;\n const hazardRiskPpeId = WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRiskPpe;\n return `{{ [ '${ppeHazardsId}', '${hazardRiskPpeId}' ].includes(context.eval('${sectionTypeIdPath}')) ? 'ppeItem.title' : 'title' }}`;\n}\n\nfunction buildSectionTypeItemColumnsExpression(sectionTypeIdPath: string): string {\n const ppeHazardsId = WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppeHazards;\n const hazardRiskPpeId = WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRiskPpe;\n const riskMatrixId = WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.riskMatrix;\n return `{{ context.eval('${sectionTypeIdPath}') === '${riskMatrixId}' ? ['code', 'title', 'matrix'] : [ '${ppeHazardsId}', '${hazardRiskPpeId}' ].includes(context.eval('${sectionTypeIdPath}')) ? ['code', 'ppeItem.title', 'requirementType'] : ['code', 'title'] }}`;\n}\n\nfunction buildSectionTypeDependentParentFilter(\n sectionTypeIdPath: string,\n parentIdsContextKey: string,\n parentSectionTypeKey: AXMSectionTypeCode,\n): Record<string, unknown> {\n const dependentSectionTypeIds = (\n Object.entries(WORKPLACE_SAFETY_SECTION_TYPE_DEPENDENCIES) as Array<\n [AXMSectionTypeCode, AXMSectionTypeDependency]\n >\n )\n .filter(([, config]) => config.kind === 'parentFilter' && config.parentSectionTypeKey === parentSectionTypeKey)\n .map(([key]) => {\n const id = Object.entries(WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_BY_ID).find(\n ([, meta]) => meta.sectionTypeKey === key,\n )?.[0];\n return id ? `'${id}'` : undefined;\n })\n .filter((id): id is string => Boolean(id))\n .join(',');\n\n return {\n field: parentSectionTypeKey === 'Hazard' ? 'hazardId' : 'hazardRiskId',\n operator: { type: 'in' },\n value: `{{ [${dependentSectionTypeIds}].includes(context.eval('${sectionTypeIdPath}')) ? ((context.eval('${parentIdsContextKey}') || []).length ? context.eval('${parentIdsContextKey}') : undefined) : undefined }}`,\n };\n}\n\nfunction buildSectionTypeDependentHazardFilter(\n sectionTypeIdPath: string,\n parentHazardIdsContextKey: string,\n): Record<string, unknown> {\n return buildSectionTypeDependentParentFilter(sectionTypeIdPath, parentHazardIdsContextKey, 'Hazard');\n}\n\nconst sectionItemLookupExpose = [\n { source: 'id', target: 'items.{id}' },\n { source: 'title', target: 'items.{title}' },\n { source: 'code', target: 'items.{code}' },\n { source: 'ppeItem.id', target: 'items.{id}' },\n { source: 'ppeItem.title', target: 'items.{title}' },\n { source: 'ppeItem.code', target: 'items.{code}' },\n];\n\n/** Shared item lookup options for builder item dialog (`sectionType.*` in dialog context). */\nexport function buildSafetyPlanSectionItemLookupOptions(\n entityExpression: string,\n options?: {\n /** Context path to section type id, e.g. `sectionType.id`. */\n sectionTypeIdPath?: string;\n /** Dialog context key for upstream hazard IDs (read at runtime; do not embed IDs in options). */\n parentHazardIdsContextKey?: string;\n /** Dialog context key for upstream hazard-risk IDs. */\n parentHazardRiskIdsContextKey?: string;\n defaultPlaceholderKey?: string;\n },\n): Record<string, unknown> {\n const sectionTypeIdPath = options?.sectionTypeIdPath ?? 'sectionType.id';\n const lookup: Record<string, unknown> = {\n entity: entityExpression,\n look: 'lookup',\n multiple: true,\n allowSearch: true,\n textField: buildSectionTypeItemTextFieldExpression(sectionTypeIdPath),\n columns: buildSectionTypeItemColumnsExpression(sectionTypeIdPath),\n placeholder: options?.defaultPlaceholderKey ?? defaultItemIdsPlaceholderKey,\n expose: sectionItemLookupExpose,\n triggers: WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS,\n };\n\n const filters: Record<string, unknown>[] = [];\n if (options?.parentHazardIdsContextKey) {\n filters.push(\n buildSectionTypeDependentHazardFilter(sectionTypeIdPath, options.parentHazardIdsContextKey),\n );\n }\n if (options?.parentHazardRiskIdsContextKey) {\n filters.push(\n buildSectionTypeDependentParentFilter(\n sectionTypeIdPath,\n options.parentHazardRiskIdsContextKey,\n 'HazardRisk',\n ),\n );\n }\n if (filters.length === 1) {\n lookup['filter'] = filters[0];\n } else if (filters.length > 1) {\n lookup['filter'] = { logic: 'and', filters };\n }\n\n return lookup;\n}\n\n/** Lookup options with entity data-selector popup UI (`look: 'lookup'`). */\nexport function buildSafetyPlanSectionItemSelectorOptions(\n entityExpression: string,\n options?: Parameters<typeof buildSafetyPlanSectionItemLookupOptions>[1],\n): Record<string, unknown> {\n return {\n ...buildSafetyPlanSectionItemLookupOptions(entityExpression, options),\n look: 'lookup',\n };\n}\n\n/** Selector column: string names are visible; `{ visible: false }` is queried for widget context only. */\nexport type AXMSafetyPlanSectionItemColumn = string | { name: string; visible?: boolean };\n\nexport function resolveSafetyPlanSectionItemColumns(sectionTypeId: string): AXMSafetyPlanSectionItemColumn[] {\n if (sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppeHazards) {\n return ['code', 'ppeItem.title', 'requirementType'];\n }\n if (sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRiskPpe) {\n return ['code', 'hazardRisk.title', 'ppeItem.title', 'requirementType'];\n }\n if (sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.riskMatrix) {\n return [\n 'code',\n 'title',\n 'matrix',\n { name: 'likelihoodIds', visible: false },\n { name: 'severityIds', visible: false },\n { name: 'likelihoodId', visible: false },\n { name: 'severityId', visible: false },\n { name: 'matrixOrientation', visible: false },\n ];\n }\n return ['code', 'title'];\n}\n\nexport function resolveSafetyPlanSectionItemEntityKey(\n sectionTypeId: string,\n sectionType?: AXMSectionTypeSnapshot,\n): string | undefined {\n return resolveSectionItemEntityName(sectionTypeId, sectionType);\n}\n\nexport function mapSafetyPlanSectionSelectedItems(\n sectionTypeId: string,\n selectedItems: Array<Record<string, unknown>>,\n): Array<{ id: string; title?: string; code?: string }> {\n const isPpeHazards = sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.ppeHazards;\n const isHazardRiskPpe = sectionTypeId === WORKPLACE_SAFETY_BUILT_IN_SECTION_TYPE_IDS.hazardRiskPpe;\n\n return selectedItems\n .map((item) => {\n if (isPpeHazards || isHazardRiskPpe) {\n const ppeItem = item['ppeItem'] as Record<string, unknown> | undefined;\n const id = String(ppeItem?.['id'] ?? item['id'] ?? '');\n return {\n id,\n title: asSafetyPlanDisplayText(ppeItem?.['title']) || undefined,\n code: asSafetyPlanDisplayText(ppeItem?.['code']) || undefined,\n };\n }\n return {\n id: String(item['id'] ?? ''),\n title: asSafetyPlanDisplayText(item['title']) || undefined,\n code: asSafetyPlanDisplayText(item['code']) || undefined,\n };\n })\n .filter((item) => item.id.length > 0);\n}\n\nexport function dedupeSafetyPlanSectionItemSelection(\n item: AXMSafetyPlanSectionBuilderItemValue,\n): AXMSafetyPlanSectionBuilderItemValue {\n const seen = new Set<string>();\n const itemIds: string[] = [];\n const items: NonNullable<AXMSafetyPlanSectionBuilderItemValue['items']> = [];\n\n for (let index = 0; index < (item.itemIds?.length ?? 0); index += 1) {\n const id = item.itemIds?.[index];\n if (typeof id !== 'string' || !id || seen.has(id)) {\n continue;\n }\n seen.add(id);\n itemIds.push(id);\n const snapshot =\n item.items?.find((entry) => entry?.id === id) ??\n (item.items?.[index]?.id === id || !item.items?.[index]?.id ? item.items?.[index] : undefined);\n items.push({\n id,\n title: asSafetyPlanDisplayText(snapshot?.title) || undefined,\n code: asSafetyPlanDisplayText(snapshot?.code) || undefined,\n });\n }\n\n return { ...item, itemIds, items };\n}\n\nexport function isPpeRuleSectionTypeId(sectionTypeId: string): boolean {\n return isPpeRuleSectionType(sectionTypeId);\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
2
  import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
- import { R as RootConfig } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-BI4TLvSE.mjs';
4
- import { W as WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS, a as WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS, b as buildSafetyPlanSectionItemSelectorOptions, c as WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-TdIMIkM7.mjs';
3
+ import { R as RootConfig } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-C46YEBVd.mjs';
4
+ import { W as WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS, a as WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS, b as buildSafetyPlanSectionItemSelectorOptions, c as WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-D0fzHV_L.mjs';
5
5
 
6
6
  //#region ---- Imports ----
7
7
  //#endregion
@@ -105,6 +105,20 @@ async function safetyPlanSectionEntityFactory() {
105
105
  name: RootConfig.entities.safetyPlanSection.name,
106
106
  title: RootConfig.entities.safetyPlanSection.title,
107
107
  icon: RootConfig.entities.safetyPlanSection.icon,
108
+ searchTags: [
109
+ 'safety-plan-section',
110
+ 'safety plan section',
111
+ 'plan section',
112
+ 'section content',
113
+ 'work step section',
114
+ 'safety plan',
115
+ 'section type',
116
+ 'بخش برنامه ایمنی',
117
+ 'بخش‌های برنامه ایمنی',
118
+ 'برنامه ایمنی',
119
+ 'نوع بخش',
120
+ 'گام کاری',
121
+ ],
108
122
  relatedEntities: [],
109
123
  formats: {
110
124
  individual: RootConfig.entities.safetyPlanSection.title,
@@ -353,4 +367,4 @@ async function safetyPlanSectionEntityFactory() {
353
367
  //#endregion
354
368
 
355
369
  export { safetyPlanSectionEntityFactory };
356
- //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-DJAI-7lB.mjs.map
370
+ //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BpziBgGf.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-DJAI-7lB.mjs","sources":["../../../../libs/modules/workplacesafety-management/contracts/src/entities/safety-plan-section/safety-plan-section.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n\nimport { RootConfig } from '../../root-config';\nimport { buildSafetyPlanSectionItemSelectorOptions, WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS, WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS } from '../../safety-plan-section-dependency';\nimport { WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION } from '../../section-type-entity-map';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst listSortAndFilterOptions = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n};\n\nconst noteFieldOptions = {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n};\n\nconst safetyPlanEntity = `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}`;\n\nconst ITEMS_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Layouts.GridLayout,\n mode: 'edit' as const,\n name: 'itemRow',\n options: {\n grid: {\n default: {\n columns: 12,\n gap: '1rem',\n },\n },\n },\n children: [\n {\n type: AXPWidgetsList.Layouts.GridItemLayout,\n mode: 'edit' as const,\n options: { colSpan: 4 },\n children: [\n {\n type: AXPWidgetsList.Layouts.FormField,\n mode: 'edit' as const,\n options: {\n label:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.section-type.title',\n showLabel: true,\n },\n children: [\n {\n type: AXPWidgetsList.Editors.LookupBox,\n mode: 'edit' as const,\n path: 'sectionTypeId',\n name: 'sectionTypeId',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.sectionType.name}`,\n ...WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS,\n },\n },\n ],\n },\n ],\n },\n {\n type: AXPWidgetsList.Layouts.GridItemLayout,\n mode: 'edit' as const,\n options: { colSpan: 8 },\n children: [\n {\n type: AXPWidgetsList.Layouts.FormField,\n mode: 'edit' as const,\n options: {\n label:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.item-ids.title',\n showLabel: true,\n },\n children: [\n {\n type: AXPWidgetsList.Editors.LookupBox,\n mode: 'edit' as const,\n path: 'itemIds',\n name: 'itemIds',\n triggers: WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS,\n options: {\n ...buildSafetyPlanSectionItemSelectorOptions(WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION, {\n sectionTypeIdPath: '>sectionType.id',\n }),\n valueField: 'id',\n },\n },\n ],\n },\n ],\n },\n ],\n },\n];\n\nconst itemsPropertyLayout = {\n name: 'items',\n layout: { label: { visible: false }, order: 1, positions: { lg: { colSpan: 12 } } },\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\n/**\n * Section rows for {@link AXMWorkplaceSafetyManagementSafetyPlanEntityModel}.\n * Navigation is nested under the Safety Plan detail page (see {@link safetyPlanEntityFactory} pages tab).\n */\nexport async function safetyPlanSectionEntityFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.safetyPlanSection.name,\n title: RootConfig.entities.safetyPlanSection.title,\n icon: RootConfig.entities.safetyPlanSection.icon,\n relatedEntities: [],\n formats: {\n individual: RootConfig.entities.safetyPlanSection.title,\n plural: RootConfig.entities.safetyPlanSection.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ code }}',\n },\n },\n plugins: [\n { name: 'identifier', options: { field: 'code', rule: 'safety-plan-section-code' } },\n { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },\n { name: 'archive' },\n ],\n groups: [\n {\n id: 'plan-folder',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.groups.plan-folder',\n },\n {\n id: 'section-content',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.groups.section-content',\n },\n {\n id: 'items',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.groups.items',\n },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'safetyPlanId',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.safety-plan.title',\n groupId: 'plan-folder',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n look: 'select',\n entity: safetyPlanEntity,\n allowSearch: true,\n textField: 'title',\n valueField: 'id',\n columns: ['code', 'title'],\n expose: [\n { source: 'id', target: 'safetyPlan.id' },\n { source: 'title', target: 'safetyPlan.title' },\n { source: 'code', target: 'safetyPlan.code' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'safetyPlan.code',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.code.title',\n groupId: 'plan-folder',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { readOnly: true },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: false } } },\n },\n {\n name: 'safetyPlan.title',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.title.title',\n groupId: 'plan-folder',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { readOnly: true },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: false } } },\n },\n {\n name: 'code',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.code.title',\n groupId: 'section-content',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n unique: { enabled: true },\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n disabled: true,\n placeholder:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.code.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.title.title',\n groupId: 'section-content',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.description.title',\n groupId: 'section-content',\n options: noteFieldOptions,\n schema: {\n dataType: 'string',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 3,\n placeholder:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'sourceSafetyPlanTypeSectionId',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.source-type-section.title',\n groupId: 'section-content',\n schema: {\n dataType: 'string',\n visible: false,\n nullable: true,\n readonly: true,\n },\n },\n {\n name: 'sortOrder',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.sort-order.title',\n groupId: 'section-content',\n schema: {\n dataType: 'number',\n visible: false,\n nullable: true,\n },\n },\n {\n name: 'widgetOptions',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.widget-options.title',\n groupId: 'section-content',\n schema: {\n dataType: 'object',\n visible: false,\n nullable: true,\n },\n },\n {\n name: 'items',\n title: '',\n groupId: 'items',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: [...ITEMS_REPEATER_CHILDREN],\n },\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '120px', order: 1 } },\n { name: 'title', options: { width: '200px', order: 2 } },\n { name: 'description', options: { width: '240px', order: 3 } },\n { name: 'safetyPlanId', options: { dataPath: 'safetyPlan.title', width: '200px', order: 4 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'plan-folder' }, { id: 'section-content' }, { id: 'items' }],\n properties: [\n { name: 'safetyPlanId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlan.code', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'safetyPlan.title', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n itemsPropertyLayout,\n ],\n },\n update: {\n sections: [{ id: 'plan-folder' }, { id: 'section-content' }, { id: 'items' }],\n properties: [\n { name: 'safetyPlanId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlan.code', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'safetyPlan.title', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n itemsPropertyLayout,\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'plan-folder', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'section-content', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'items', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'safetyPlanId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlan.code', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'safetyPlan.title', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n itemsPropertyLayout,\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'sortOrder', dir: 'asc' }, { name: 'code', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BpziBgGf.mjs","sources":["../../../../libs/modules/workplacesafety-management/contracts/src/entities/safety-plan-section/safety-plan-section.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n\nimport { RootConfig } from '../../root-config';\nimport { buildSafetyPlanSectionItemSelectorOptions, WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS, WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS } from '../../safety-plan-section-dependency';\nimport { WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION } from '../../section-type-entity-map';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst listSortAndFilterOptions = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n};\n\nconst noteFieldOptions = {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n};\n\nconst safetyPlanEntity = `${RootConfig.module.name}.${RootConfig.entities.safetyPlan.name}`;\n\nconst ITEMS_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Layouts.GridLayout,\n mode: 'edit' as const,\n name: 'itemRow',\n options: {\n grid: {\n default: {\n columns: 12,\n gap: '1rem',\n },\n },\n },\n children: [\n {\n type: AXPWidgetsList.Layouts.GridItemLayout,\n mode: 'edit' as const,\n options: { colSpan: 4 },\n children: [\n {\n type: AXPWidgetsList.Layouts.FormField,\n mode: 'edit' as const,\n options: {\n label:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.section-type.title',\n showLabel: true,\n },\n children: [\n {\n type: AXPWidgetsList.Editors.LookupBox,\n mode: 'edit' as const,\n path: 'sectionTypeId',\n name: 'sectionTypeId',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.sectionType.name}`,\n ...WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_WIDGET_OPTIONS,\n },\n },\n ],\n },\n ],\n },\n {\n type: AXPWidgetsList.Layouts.GridItemLayout,\n mode: 'edit' as const,\n options: { colSpan: 8 },\n children: [\n {\n type: AXPWidgetsList.Layouts.FormField,\n mode: 'edit' as const,\n options: {\n label:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.item-ids.title',\n showLabel: true,\n },\n children: [\n {\n type: AXPWidgetsList.Editors.LookupBox,\n mode: 'edit' as const,\n path: 'itemIds',\n name: 'itemIds',\n triggers: WORKPLACE_SAFETY_SECTION_ITEM_LOOKUP_SECTION_TYPE_TRIGGERS,\n options: {\n ...buildSafetyPlanSectionItemSelectorOptions(WORKPLACE_SAFETY_SECTION_TYPE_ENTITY_EXPRESSION, {\n sectionTypeIdPath: '>sectionType.id',\n }),\n valueField: 'id',\n },\n },\n ],\n },\n ],\n },\n ],\n },\n];\n\nconst itemsPropertyLayout = {\n name: 'items',\n layout: { label: { visible: false }, order: 1, positions: { lg: { colSpan: 12 } } },\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\n/**\n * Section rows for {@link AXMWorkplaceSafetyManagementSafetyPlanEntityModel}.\n * Navigation is nested under the Safety Plan detail page (see {@link safetyPlanEntityFactory} pages tab).\n */\nexport async function safetyPlanSectionEntityFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.safetyPlanSection.name,\n title: RootConfig.entities.safetyPlanSection.title,\n icon: RootConfig.entities.safetyPlanSection.icon,\n searchTags: [\n 'safety-plan-section',\n 'safety plan section',\n 'plan section',\n 'section content',\n 'work step section',\n 'safety plan',\n 'section type',\n 'بخش برنامه ایمنی',\n 'بخش‌های برنامه ایمنی',\n 'برنامه ایمنی',\n 'نوع بخش',\n 'گام کاری',\n ],\n relatedEntities: [],\n formats: {\n individual: RootConfig.entities.safetyPlanSection.title,\n plural: RootConfig.entities.safetyPlanSection.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ code }}',\n },\n },\n plugins: [\n { name: 'identifier', options: { field: 'code', rule: 'safety-plan-section-code' } },\n { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },\n { name: 'archive' },\n ],\n groups: [\n {\n id: 'plan-folder',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.groups.plan-folder',\n },\n {\n id: 'section-content',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.groups.section-content',\n },\n {\n id: 'items',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.groups.items',\n },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'safetyPlanId',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.safety-plan.title',\n groupId: 'plan-folder',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n look: 'select',\n entity: safetyPlanEntity,\n allowSearch: true,\n textField: 'title',\n valueField: 'id',\n columns: ['code', 'title'],\n expose: [\n { source: 'id', target: 'safetyPlan.id' },\n { source: 'title', target: 'safetyPlan.title' },\n { source: 'code', target: 'safetyPlan.code' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'safetyPlan.code',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.code.title',\n groupId: 'plan-folder',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { readOnly: true },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: false } } },\n },\n {\n name: 'safetyPlan.title',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.title.title',\n groupId: 'plan-folder',\n schema: {\n dataType: 'string',\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { readOnly: true },\n },\n },\n options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: false } } },\n },\n {\n name: 'code',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.code.title',\n groupId: 'section-content',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n unique: { enabled: true },\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n disabled: true,\n placeholder:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.code.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.title.title',\n groupId: 'section-content',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.description.title',\n groupId: 'section-content',\n options: noteFieldOptions,\n schema: {\n dataType: 'string',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 3,\n placeholder:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'sourceSafetyPlanTypeSectionId',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.source-type-section.title',\n groupId: 'section-content',\n schema: {\n dataType: 'string',\n visible: false,\n nullable: true,\n readonly: true,\n },\n },\n {\n name: 'sortOrder',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.sort-order.title',\n groupId: 'section-content',\n schema: {\n dataType: 'number',\n visible: false,\n nullable: true,\n },\n },\n {\n name: 'widgetOptions',\n title:\n '@workplacesafety-management:safety-plan-sections.entities.safety-plan-section.fields.widget-options.title',\n groupId: 'section-content',\n schema: {\n dataType: 'object',\n visible: false,\n nullable: true,\n },\n },\n {\n name: 'items',\n title: '',\n groupId: 'items',\n schema: {\n defaultValue: [],\n dataType: 'array',\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: [...ITEMS_REPEATER_CHILDREN],\n },\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '120px', order: 1 } },\n { name: 'title', options: { width: '200px', order: 2 } },\n { name: 'description', options: { width: '240px', order: 3 } },\n { name: 'safetyPlanId', options: { dataPath: 'safetyPlan.title', width: '200px', order: 4 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'plan-folder' }, { id: 'section-content' }, { id: 'items' }],\n properties: [\n { name: 'safetyPlanId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlan.code', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'safetyPlan.title', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n itemsPropertyLayout,\n ],\n },\n update: {\n sections: [{ id: 'plan-folder' }, { id: 'section-content' }, { id: 'items' }],\n properties: [\n { name: 'safetyPlanId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlan.code', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'safetyPlan.title', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n itemsPropertyLayout,\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'plan-folder', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'section-content', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'items', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'safetyPlanId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlan.code', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'safetyPlan.title', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 6 } } } },\n itemsPropertyLayout,\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'sortOrder', dir: 'asc' }, { name: 'code', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
2
  import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';
3
- import { R as RootConfig } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-BI4TLvSE.mjs';
4
- import { d as WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_EXPOSE } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-TdIMIkM7.mjs';
3
+ import { R as RootConfig } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-C46YEBVd.mjs';
4
+ import { d as WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_EXPOSE } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-D0fzHV_L.mjs';
5
5
 
6
6
  //#region ---- Imports ----
7
7
  //#endregion
@@ -41,6 +41,20 @@ async function safetyPlanTypeSectionEntityFactory() {
41
41
  name: RootConfig.entities.safetyPlanTypeSection.name,
42
42
  title: RootConfig.entities.safetyPlanTypeSection.title,
43
43
  icon: RootConfig.entities.safetyPlanTypeSection.icon,
44
+ searchTags: [
45
+ 'safety-plan-type-section',
46
+ 'plan type section',
47
+ 'default section template',
48
+ 'safety plan type',
49
+ 'section type',
50
+ 'plan structure',
51
+ 'بخش نوع برنامه ایمنی',
52
+ 'بخش‌های نوع برنامه ایمنی',
53
+ 'نوع برنامه ایمنی',
54
+ 'نوع بخش',
55
+ 'بخش پیش‌فرض',
56
+ 'ایمنی محیط کار',
57
+ ],
44
58
  relatedEntities: [],
45
59
  formats: {
46
60
  individual: RootConfig.entities.safetyPlanTypeSection.title,
@@ -208,4 +222,4 @@ async function safetyPlanTypeSectionEntityFactory() {
208
222
  //#endregion
209
223
 
210
224
  export { safetyPlanTypeSectionEntityFactory };
211
- //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-BGZ1VAW3.mjs.map
225
+ //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-D8wL0ned.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-D8wL0ned.mjs","sources":["../../../../libs/modules/workplacesafety-management/contracts/src/entities/safety-plan-type-section/safety-plan-type-section.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n\nimport { RootConfig } from '../../root-config';\nimport { WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_EXPOSE } from '../../safety-plan-section-dependency';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst listSortAndFilterOptions = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n};\n\n/** Flat LookupBox row — same pattern as work-package `workOrderIds`. */\nconst SECTION_TYPE_IDS_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.LookupBox,\n mode: 'edit' as const,\n path: 'sectionTypeId',\n name: 'sectionTypeId',\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.sectionType.name}`,\n look: 'select',\n allowSearch: true,\n textField: 'code',\n textTemplate: '{code} — {description}',\n valueField: 'id',\n columns: ['code', 'title', 'description'],\n expose: WORKPLACE_SAFETY_SECTION_TYPE_LOOKUP_EXPOSE,\n },\n },\n];\n\nconst sectionTypeIdsPropertyLayout = {\n name: 'sectionTypeIds',\n layout: { label: { visible: false }, order: 1, positions: { lg: { colSpan: 12 } } },\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\nexport async function safetyPlanTypeSectionEntityFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.safetyPlanTypeSection.name,\n title: RootConfig.entities.safetyPlanTypeSection.title,\n icon: RootConfig.entities.safetyPlanTypeSection.icon,\n searchTags: [\n 'safety-plan-type-section',\n 'plan type section',\n 'default section template',\n 'safety plan type',\n 'section type',\n 'plan structure',\n 'بخش نوع برنامه ایمنی',\n 'بخش‌های نوع برنامه ایمنی',\n 'نوع برنامه ایمنی',\n 'نوع بخش',\n 'بخش پیش‌فرض',\n 'ایمنی محیط کار',\n ],\n relatedEntities: [],\n formats: {\n individual: RootConfig.entities.safetyPlanTypeSection.title,\n plural: RootConfig.entities.safetyPlanTypeSection.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ safetyPlanType.title }}',\n },\n },\n plugins: [{ name: 'archive' }],\n groups: [\n {\n id: 'basic-info',\n title:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.groups.basic-info',\n },\n {\n id: 'sections',\n title:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.groups.sections',\n },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'safetyPlanTypeId',\n title:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.fields.safety-plan-type.title',\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.safetyPlanType.name}`,\n look: 'select',\n allowSearch: true,\n textField: 'title',\n valueField: 'id',\n columns: ['code', 'title'],\n expose: [\n { source: 'id', target: 'safetyPlanType.id' },\n { source: 'title', target: 'safetyPlanType.title' },\n { source: 'code', target: 'safetyPlanType.code' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.fields.title.title',\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'isDefault',\n title:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.fields.is-default.title',\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n },\n },\n {\n name: 'sectionTypeIds',\n title: '',\n groupId: 'sections',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'array',\n defaultValue: [],\n nullable: true,\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true, allowReorder: true },\n children: [...SECTION_TYPE_IDS_REPEATER_CHILDREN],\n },\n },\n },\n /**\n * List sort order only (hidden / not edited in create-update UI).\n */\n {\n name: 'sortOrder',\n title:\n '@workplacesafety-management:safety-plan-type-sections.entities.safety-plan-type-section.fields.sort-order.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'number',\n visible: false,\n nullable: true,\n readonly: true,\n },\n },\n ],\n columns: [\n { name: 'title', options: { width: '200px', order: 1 } },\n { name: 'sectionTypeIds', options: { width: '280px', order: 2 } },\n { name: 'isDefault', options: { width: '120px', order: 3 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'sections' }],\n properties: [\n { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'isDefault', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n sectionTypeIdsPropertyLayout,\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'sections' }],\n properties: [\n { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'isDefault', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n sectionTypeIdsPropertyLayout,\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'sections', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'isDefault', layout: { positions: { lg: { colSpan: 6, order: 3 } } } },\n sectionTypeIdsPropertyLayout,\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'sortOrder', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
2
  import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCrudActions, entityDetailsSimpleCondition } from '@acorex-platform/framework-shared/entity';
3
- import { R as RootConfig } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-BI4TLvSE.mjs';
3
+ import { R as RootConfig } from './acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-C46YEBVd.mjs';
4
4
 
5
5
  //#region ---- Imports ----
6
6
  //#endregion
@@ -21,6 +21,20 @@ async function safetyPlanTypeEntityFactory() {
21
21
  name: RootConfig.entities.safetyPlanType.name,
22
22
  title: RootConfig.entities.safetyPlanType.title,
23
23
  icon: RootConfig.entities.safetyPlanType.icon,
24
+ searchTags: [
25
+ 'safety-plan-type',
26
+ 'safety plan type',
27
+ 'plan template type',
28
+ 'SWMS template',
29
+ 'JSA template',
30
+ 'plan structure',
31
+ 'نوع برنامه ایمنی',
32
+ 'انواع برنامه ایمنی',
33
+ 'برنامه ایمنی',
34
+ 'بخش پیش‌فرض',
35
+ 'ایمنی محیط کار',
36
+ 'plan configuration',
37
+ ],
24
38
  formats: {
25
39
  individual: RootConfig.entities.safetyPlanType.title,
26
40
  plural: RootConfig.entities.safetyPlanType.titlePlural,
@@ -155,4 +169,4 @@ async function safetyPlanTypeEntityFactory() {
155
169
  //#endregion
156
170
 
157
171
  export { safetyPlanTypeEntityFactory };
158
- //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-B6NYL4xi.mjs.map
172
+ //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-DrqQDYn9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-DrqQDYn9.mjs","sources":["../../../../libs/modules/workplacesafety-management/contracts/src/entities/safety-plan-type/safety-plan-type.entity.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n createAllQueryView,\n entityDetailsCrudActions,\n entityDetailsSimpleCondition,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst listSortAndFilterOptions = {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n};\n\nconst noteFieldOptions = {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\nexport async function safetyPlanTypeEntityFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.safetyPlanType.name,\n title: RootConfig.entities.safetyPlanType.title,\n icon: RootConfig.entities.safetyPlanType.icon,\n searchTags: [\n 'safety-plan-type',\n 'safety plan type',\n 'plan template type',\n 'SWMS template',\n 'JSA template',\n 'plan structure',\n 'نوع برنامه ایمنی',\n 'انواع برنامه ایمنی',\n 'برنامه ایمنی',\n 'بخش پیش‌فرض',\n 'ایمنی محیط کار',\n 'plan configuration',\n ],\n formats: {\n individual: RootConfig.entities.safetyPlanType.title,\n plural: RootConfig.entities.safetyPlanType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ code }}',\n },\n },\n plugins: [\n { name: 'identifier', options: { field: 'code', rule: 'safety-plan-type-code' } },\n { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },\n { name: 'archive' },\n ],\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.safetyPlanTypeSection.name}`,\n title: RootConfig.entities.safetyPlanTypeSection.titlePlural,\n icon: RootConfig.entities.safetyPlanTypeSection.icon,\n columns: ['title', 'sectionTypeIds', 'isDefault'],\n conditions: [entityDetailsSimpleCondition('safetyPlanTypeId')],\n actions: [...entityDetailsCrudActions('safetyPlanTypeId')],\n excludeProperties: ['safetyPlanTypeId', 'sortOrder'],\n layout: { type: 'page-list', position: 'after', order: 1 },\n },\n ],\n groups: [\n {\n id: 'basic-info',\n title: '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.groups.basic-info',\n },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'basic-info',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'code',\n title: '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.fields.code.title',\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n unique: { enabled: true },\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n disabled: true,\n placeholder:\n '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.fields.code.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.fields.title.title',\n groupId: 'basic-info',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder:\n '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.fields.description.title',\n groupId: 'basic-info',\n options: noteFieldOptions,\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 2,\n placeholder:\n '@workplacesafety-management:safety-plan-types.entities.safety-plan-type.fields.description.placeholder',\n },\n },\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '120px', order: 1 } },\n { name: 'title', options: { width: '220px', order: 2 } },\n { name: 'description', options: { width: '280px', order: 3 } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'code', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}