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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs +549 -0
  2. package/fesm2022/acorex-platform-module-workplacesafety-management-client-acorex-platform-module-workplacesafety-management-client-mzaaZ6T3.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs +509 -0
  4. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs +297 -0
  6. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs +431 -0
  8. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs +416 -0
  10. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs +476 -0
  12. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs +482 -0
  14. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs +345 -0
  16. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs +1458 -0
  18. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs +1313 -0
  20. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs +295 -0
  22. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs +542 -0
  24. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs +470 -0
  26. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs +369 -0
  28. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs +299 -0
  30. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs +1358 -0
  32. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-CeTmhod5.mjs +170 -0
  34. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-CeTmhod5.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-Dae2kkZe.mjs +372 -0
  36. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-hierarchy-levels.entity-Dae2kkZe.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-CpNcN6Pf.mjs +160 -0
  38. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-control-measure.entity-CpNcN6Pf.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-BcsAnO9h.mjs +294 -0
  40. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-ppe-rule.entity-BcsAnO9h.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-C9wGZ3hB.mjs +279 -0
  42. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-register.entity-C9wGZ3hB.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-AUr2GVLU.mjs +339 -0
  44. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard-risk.entity-AUr2GVLU.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-J6fveZKA.mjs +345 -0
  46. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-hazard.entity-J6fveZKA.mjs.map +1 -0
  47. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-3fQPlBBf.mjs +208 -0
  48. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-ppe-item.entity-3fQPlBBf.mjs.map +1 -0
  49. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-BRGcQo7H.mjs +971 -0
  50. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section-dependency-BRGcQo7H.mjs.map +1 -0
  51. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BPx-3rYX.mjs +356 -0
  52. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-section.entity-BPx-3rYX.mjs.map +1 -0
  53. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-_nG09ZpE.mjs +211 -0
  54. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type-section.entity-_nG09ZpE.mjs.map +1 -0
  55. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-CIH7W9R7.mjs +158 -0
  56. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-type.entity-CIH7W9R7.mjs.map +1 -0
  57. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-DmFYsBhI.mjs +405 -0
  58. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan-work-step.entity-DmFYsBhI.mjs.map +1 -0
  59. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs +333 -0
  60. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs.map +1 -0
  61. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs +232 -0
  62. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs.map +1 -0
  63. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-73MUyaIk.mjs +162 -0
  64. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-section-type.entity-73MUyaIk.mjs.map +1 -0
  65. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-Ujxum2GY.mjs +256 -0
  66. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-work-step-type.entity-Ujxum2GY.mjs.map +1 -0
  67. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs +2 -0
  68. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.mjs.map +1 -0
  69. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs +739 -806
  70. package/fesm2022/acorex-platform-module-workplacesafety-management-client-contracts.mjs.map +1 -1
  71. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs +93 -0
  72. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-CnTEwf_l.mjs.map +1 -0
  73. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.component-BI9VkzNw.mjs +117 -0
  74. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.component-BI9VkzNw.mjs.map +1 -0
  75. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-BBhH7KP1.mjs → acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-tMrUDnCb.mjs} +48 -1
  76. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-tMrUDnCb.mjs.map +1 -0
  77. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-index-kF37zgd4.mjs → acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs} +391 -92
  78. package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-LxP1eZLY.mjs.map +1 -0
  79. package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs +43 -0
  80. package/fesm2022/acorex-platform-module-workplacesafety-management-client-local-entities.mjs.map +1 -0
  81. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs +42 -0
  82. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-column.component-D2Mmow12.mjs.map +1 -0
  83. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs +101 -0
  84. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer-widget-edit.component-CQtVhCgw.mjs.map +1 -0
  85. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.service-YS8FHiRu.mjs +221 -0
  86. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.service-YS8FHiRu.mjs.map +1 -0
  87. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.util-2Kl3_3sg.mjs +61 -0
  88. package/fesm2022/acorex-platform-module-workplacesafety-management-client-ppe-item-viewer.util-2Kl3_3sg.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-C2X3VpEt.mjs → acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs} +3 -7
  90. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-Dd9xdo_y.mjs.map +1 -0
  91. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-6i0RkG3L.mjs +557 -0
  92. package/fesm2022/acorex-platform-module-workplacesafety-management-client-safety-plan-preview-modal.component-6i0RkG3L.mjs.map +1 -0
  93. package/fesm2022/{acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BJsg3pHZ.mjs → acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs} +13 -25
  94. package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BlPzzCc2.mjs.map +1 -0
  95. package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs +1 -460
  96. package/fesm2022/acorex-platform-module-workplacesafety-management-client.mjs.map +1 -1
  97. package/package.json +70 -2
  98. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-hierarchy-levels.d.ts +5 -0
  99. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-control-measure.d.ts +5 -0
  100. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-ppe-rule.d.ts +5 -0
  101. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-register.d.ts +5 -0
  102. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard-risk.d.ts +5 -0
  103. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-hazard.d.ts +5 -0
  104. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-ppe-item.d.ts +5 -0
  105. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-section.d.ts +9 -0
  106. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type-section.d.ts +5 -0
  107. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-type.d.ts +5 -0
  108. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan-work-step.d.ts +5 -0
  109. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-plan.d.ts +5 -0
  110. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-safety-template.d.ts +5 -0
  111. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-section-type.d.ts +5 -0
  112. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entities-work-step-type.d.ts +5 -0
  113. package/types/acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog.d.ts +10 -0
  114. package/types/acorex-platform-module-workplacesafety-management-client-contracts.d.ts +89 -140
  115. package/types/acorex-platform-module-workplacesafety-management-client-local-entities.d.ts +12 -0
  116. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-C-qrrqOV.mjs +0 -203
  117. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram-widget-view.component-C-qrrqOV.mjs.map +0 -1
  118. package/fesm2022/acorex-platform-module-workplacesafety-management-client-control-hierarchy-diagram.service-BBhH7KP1.mjs.map +0 -1
  119. package/fesm2022/acorex-platform-module-workplacesafety-management-client-hazard-risk-ppe-rule-status.provider-DtqzcWh0.mjs +0 -42
  120. package/fesm2022/acorex-platform-module-workplacesafety-management-client-hazard-risk-ppe-rule-status.provider-DtqzcWh0.mjs.map +0 -1
  121. package/fesm2022/acorex-platform-module-workplacesafety-management-client-index-kF37zgd4.mjs.map +0 -1
  122. package/fesm2022/acorex-platform-module-workplacesafety-management-client-preview-control-hierarchy-diagram.command-C2X3VpEt.mjs.map +0 -1
  123. package/fesm2022/acorex-platform-module-workplacesafety-management-client-save-safety-plan-sections.command-BJsg3pHZ.mjs.map +0 -1
@@ -0,0 +1,333 @@
1
+ import { AXPSystemStatusType, AXPWidgetsList } from '@acorex-platform/framework-shared/core';
2
+ import { AXPEntityCommandScope, 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-CeTmhod5.mjs';
4
+
5
+ //#region ---- Command keys ----
6
+ const AXMWorkplaceSafetyManagementCommandKeys = {
7
+ SafetyPlan: {
8
+ Publish: 'WorkplaceSafetyManagement.SafetyPlan:Publish',
9
+ ChangeType: 'WorkplaceSafetyManagement.SafetyPlan:ChangeType',
10
+ },
11
+ };
12
+ //#endregion
13
+
14
+ /** Component key for the safety plan Sections page tab. Register via AXP_PAGE_COMPONENT_PROVIDER. */
15
+ const SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY = 'safety-plan-sections-page';
16
+
17
+ //#region ---- Imports ----
18
+ //#endregion
19
+ //#region ---- Constants ----
20
+ const listSortAndFilterOptions = {
21
+ sort: { enabled: true },
22
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
23
+ };
24
+ const noteFieldOptions = {
25
+ sort: { enabled: false },
26
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
27
+ };
28
+ const safetyPlanPublishAction = {
29
+ title: '@general:actions.publish.title',
30
+ command: {
31
+ name: AXMWorkplaceSafetyManagementCommandKeys.SafetyPlan.Publish,
32
+ options: {
33
+ id: '{{ context.eval("id") }}',
34
+ },
35
+ },
36
+ priority: 'secondary',
37
+ type: 'update',
38
+ icon: 'fa-light fa-upload',
39
+ scope: AXPEntityCommandScope.Individual,
40
+ hidden: `{{ context.eval("status") != "${AXPSystemStatusType.Draft}" }}`,
41
+ };
42
+ //#endregion
43
+ //#region ---- Entity factory ----
44
+ async function safetyPlanEntityFactory() {
45
+ const entityDef = {
46
+ module: RootConfig.module.name,
47
+ name: RootConfig.entities.safetyPlan.name,
48
+ title: RootConfig.entities.safetyPlan.title,
49
+ icon: RootConfig.entities.safetyPlan.icon,
50
+ formats: {
51
+ individual: RootConfig.entities.safetyPlan.title,
52
+ plural: RootConfig.entities.safetyPlan.titlePlural,
53
+ searchResult: {
54
+ title: '{{ title }}',
55
+ description: '{{ code }}',
56
+ },
57
+ },
58
+ plugins: [
59
+ { name: 'identifier', options: { field: 'code', rule: 'safety-plan-code' } },
60
+ { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },
61
+ {
62
+ name: 'status',
63
+ options: {
64
+ field: 'status',
65
+ definition: 'workplacesafety-management.status.safety-plan',
66
+ defaultStatus: AXPSystemStatusType.Draft,
67
+ showInCreate: false,
68
+ order: 1,
69
+ },
70
+ },
71
+ {
72
+ name: 'clone',
73
+ },
74
+ ],
75
+ pages: [
76
+ {
77
+ componentKey: SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY,
78
+ field: 'sectionStructure',
79
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.pages.sections.title',
80
+ icon: RootConfig.entities.safetyPlanSection.icon,
81
+ layout: { order: 1, position: 'after' },
82
+ appearOn: { create: true, update: true },
83
+ options: { order: 2 },
84
+ },
85
+ ],
86
+ groups: [
87
+ {
88
+ id: 'basic-info',
89
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.groups.basic-info',
90
+ },
91
+ {
92
+ id: 'configuration',
93
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.groups.configuration',
94
+ },
95
+ {
96
+ id: 'publication',
97
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.groups.publication',
98
+ },
99
+ ],
100
+ properties: [
101
+ {
102
+ name: 'id',
103
+ title: '@general:terms.common.id',
104
+ groupId: 'basic-info',
105
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
106
+ },
107
+ {
108
+ name: 'code',
109
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.code.title',
110
+ groupId: 'basic-info',
111
+ options: listSortAndFilterOptions,
112
+ schema: {
113
+ dataType: 'string',
114
+ unique: { enabled: true },
115
+ interface: {
116
+ type: AXPWidgetsList.Editors.TextBox,
117
+ options: {
118
+ disabled: true,
119
+ placeholder: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.code.placeholder',
120
+ },
121
+ },
122
+ },
123
+ validations: [{ rule: 'required' }],
124
+ },
125
+ {
126
+ name: 'title',
127
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.title.title',
128
+ groupId: 'basic-info',
129
+ options: listSortAndFilterOptions,
130
+ schema: {
131
+ dataType: 'string',
132
+ interface: {
133
+ type: AXPWidgetsList.Editors.TextBox,
134
+ options: {
135
+ placeholder: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.title.placeholder',
136
+ },
137
+ },
138
+ },
139
+ validations: [{ rule: 'required' }],
140
+ },
141
+ {
142
+ name: 'description',
143
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.description.title',
144
+ groupId: 'basic-info',
145
+ options: noteFieldOptions,
146
+ schema: {
147
+ dataType: 'string',
148
+ nullable: true,
149
+ interface: {
150
+ type: AXPWidgetsList.Editors.LargeTextBox,
151
+ options: {
152
+ rows: 3,
153
+ placeholder: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.description.placeholder',
154
+ },
155
+ },
156
+ },
157
+ },
158
+ {
159
+ name: 'safetyPlanTypeId',
160
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.safety-plan-type.title',
161
+ groupId: 'configuration',
162
+ options: listSortAndFilterOptions,
163
+ schema: {
164
+ dataType: 'string',
165
+ interface: {
166
+ type: AXPWidgetsList.Editors.LookupBox,
167
+ options: {
168
+ entity: `${RootConfig.module.name}.${RootConfig.entities.safetyPlanType.name}`,
169
+ look: 'select',
170
+ allowSearch: true,
171
+ textField: 'title',
172
+ valueField: 'id',
173
+ columns: ['code', 'title'],
174
+ expose: [
175
+ { source: 'id', target: 'safetyPlanType.id' },
176
+ { source: 'title', target: 'safetyPlanType.title' },
177
+ { source: 'code', target: 'safetyPlanType.code' },
178
+ ],
179
+ },
180
+ },
181
+ },
182
+ validations: [{ rule: 'required' }],
183
+ },
184
+ {
185
+ name: 'allowClone',
186
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.allow-clone.title',
187
+ groupId: 'configuration',
188
+ options: listSortAndFilterOptions,
189
+ schema: {
190
+ dataType: 'boolean',
191
+ defaultValue: false,
192
+ interface: {
193
+ type: AXPWidgetsList.Editors.ToggleSwitch,
194
+ },
195
+ },
196
+ },
197
+ {
198
+ name: 'publishedAt',
199
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.published-at.title',
200
+ groupId: 'publication',
201
+ options: listSortAndFilterOptions,
202
+ schema: {
203
+ dataType: 'date',
204
+ nullable: true,
205
+ readonly: true,
206
+ interface: {
207
+ type: AXPWidgetsList.Editors.DateTimeBox,
208
+ options: { format: 'datetime', disabled: true, readonly: true },
209
+ },
210
+ },
211
+ },
212
+ {
213
+ name: 'publishedById',
214
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.published-by.title',
215
+ groupId: 'publication',
216
+ options: listSortAndFilterOptions,
217
+ schema: {
218
+ dataType: 'string',
219
+ nullable: true,
220
+ readonly: true,
221
+ interface: {
222
+ type: AXPWidgetsList.Editors.LookupBox,
223
+ options: {
224
+ entity: 'SecurityManagement.User',
225
+ look: 'select',
226
+ allowSearch: true,
227
+ textField: 'displayName',
228
+ valueField: 'id',
229
+ columns: ['displayName', 'username'],
230
+ disabled: true,
231
+ readonly: true,
232
+ expose: [
233
+ { source: 'id', target: 'publishedBy.id' },
234
+ { source: 'displayName', target: 'publishedBy.displayName' },
235
+ ],
236
+ },
237
+ },
238
+ },
239
+ },
240
+ {
241
+ name: 'sectionStructure',
242
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.pages.sections.title',
243
+ options: {
244
+ sort: { enabled: false },
245
+ filter: { advance: { enabled: false }, inline: { enabled: false } },
246
+ },
247
+ schema: {
248
+ dataType: 'object',
249
+ defaultValue: { sections: [] },
250
+ visible: false,
251
+ nullable: true,
252
+ },
253
+ },
254
+ {
255
+ name: 'sections',
256
+ title: '@workplacesafety-management:safety-plans.entities.safety-plan.pages.sections.title',
257
+ options: {
258
+ sort: { enabled: false },
259
+ filter: { advance: { enabled: false }, inline: { enabled: false } },
260
+ },
261
+ schema: {
262
+ dataType: 'object',
263
+ defaultValue: { sections: [] },
264
+ visible: false,
265
+ nullable: true,
266
+ },
267
+ },
268
+ ],
269
+ columns: [
270
+ { name: 'code', options: { width: '120px', order: 1 } },
271
+ { name: 'title', options: { width: '240px', order: 2 } },
272
+ { name: 'safetyPlanTypeId', options: { width: '160px', order: 3, dataPath: 'safetyPlanType.title' } },
273
+ { name: 'status', options: { width: '140px', order: 4 } },
274
+ { name: 'publishedAt', options: { width: '160px', order: 5 } },
275
+ { name: 'publishedById', options: { width: '160px', order: 6, dataPath: 'publishedBy.displayName' } },
276
+ ],
277
+ interfaces: {
278
+ master: {
279
+ create: {
280
+ sections: [{ id: 'basic-info' }, { id: 'configuration' }, { id: 'publication' }],
281
+ properties: [
282
+ { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
283
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
284
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
285
+ { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
286
+ { name: 'allowClone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
287
+ { name: 'publishedAt', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
288
+ { name: 'publishedById', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
289
+ ],
290
+ },
291
+ update: {
292
+ sections: [{ id: 'basic-info' }, { id: 'configuration' }, { id: 'publication' }],
293
+ properties: [
294
+ { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
295
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
296
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
297
+ { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
298
+ { name: 'allowClone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
299
+ { name: 'publishedAt', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
300
+ { name: 'publishedById', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
301
+ ],
302
+ },
303
+ single: {
304
+ title: '{{ title }}',
305
+ sections: [
306
+ { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },
307
+ { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },
308
+ { id: 'publication', layout: { positions: { lg: { colSpan: 12 } } } },
309
+ ],
310
+ properties: [
311
+ { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
312
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
313
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
314
+ { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
315
+ { name: 'allowClone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
316
+ { name: 'publishedAt', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
317
+ { name: 'publishedById', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
318
+ ],
319
+ actions: [...entityMasterRecordActions()],
320
+ },
321
+ list: {
322
+ actions: [...entityMasterCrudActions(), safetyPlanPublishAction],
323
+ views: [createAllQueryView({ sorts: [{ name: 'code', dir: 'asc' }] })],
324
+ },
325
+ },
326
+ },
327
+ };
328
+ return entityDef;
329
+ }
330
+ //#endregion
331
+
332
+ export { safetyPlanEntityFactory };
333
+ //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-plan.entity-CUDh_ZfQ.mjs","sources":["../../../../libs/modules/workplacesafety-management/contracts/src/commands.keys.ts","../../../../libs/modules/workplacesafety-management/contracts/src/SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY.ts","../../../../libs/modules/workplacesafety-management/contracts/src/entities/safety-plan/safety-plan.entity.ts"],"sourcesContent":["//#region ---- Command keys ----\n\nexport const AXMWorkplaceSafetyManagementCommandKeys = {\n SafetyPlan: {\n Publish: 'WorkplaceSafetyManagement.SafetyPlan:Publish',\n ChangeType: 'WorkplaceSafetyManagement.SafetyPlan:ChangeType',\n },\n} as const;\n\n//#endregion\n","/** Component key for the safety plan Sections page tab. Register via AXP_PAGE_COMPONENT_PROVIDER. */\nexport const SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY = 'safety-plan-sections-page';\n","//#region ---- Imports ----\n\nimport { AXPSystemStatusType, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport {\n AXPEntity,\n AXPEntityCommandScope,\n createAllQueryView,\n entityMasterCrudActions,\n entityMasterRecordActions,\n} from '@acorex-platform/framework-shared/entity';\n\nimport { AXMWorkplaceSafetyManagementCommandKeys } from '../../commands.keys';\nimport { RootConfig } from '../../root-config';\nimport { SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY } from '../../SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY';\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 safetyPlanPublishAction = {\n title: '@general:actions.publish.title',\n command: {\n name: AXMWorkplaceSafetyManagementCommandKeys.SafetyPlan.Publish,\n options: {\n id: '{{ context.eval(\"id\") }}',\n },\n },\n priority: 'secondary' as const,\n type: 'update' as const,\n icon: 'fa-light fa-upload',\n scope: AXPEntityCommandScope.Individual as const,\n hidden: `{{ context.eval(\"status\") != \"${AXPSystemStatusType.Draft}\" }}`,\n};\n\n//#endregion\n\n//#region ---- Entity factory ----\n\nexport async function safetyPlanEntityFactory(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.safetyPlan.name,\n title: RootConfig.entities.safetyPlan.title,\n icon: RootConfig.entities.safetyPlan.icon,\n formats: {\n individual: RootConfig.entities.safetyPlan.title,\n plural: RootConfig.entities.safetyPlan.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ code }}',\n },\n },\n plugins: [\n { name: 'identifier', options: { field: 'code', rule: 'safety-plan-code' } },\n { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },\n {\n name: 'status',\n options: {\n field: 'status',\n definition: 'workplacesafety-management.status.safety-plan',\n defaultStatus: AXPSystemStatusType.Draft,\n showInCreate: false,\n order: 1,\n },\n },\n {\n name: 'clone',\n },\n ],\n pages: [\n {\n componentKey: SAFETY_PLAN_SECTIONS_PAGE_COMPONENT_KEY,\n field: 'sectionStructure',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.pages.sections.title',\n icon: RootConfig.entities.safetyPlanSection.icon,\n layout: { order: 1, position: 'after' },\n appearOn: { create: true, update: true },\n options: { order: 2 },\n },\n ],\n groups: [\n {\n id: 'basic-info',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.groups.basic-info',\n },\n {\n id: 'configuration',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.groups.configuration',\n },\n {\n id: 'publication',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.groups.publication',\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-plans.entities.safety-plan.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: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.code.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.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: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.description.title',\n groupId: 'basic-info',\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-plans.entities.safety-plan.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'safetyPlanTypeId',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.safety-plan-type.title',\n groupId: 'configuration',\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: 'allowClone',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.allow-clone.title',\n groupId: 'configuration',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'boolean',\n defaultValue: false,\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n },\n },\n {\n name: 'publishedAt',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.published-at.title',\n groupId: 'publication',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'date',\n nullable: true,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: { format: 'datetime', disabled: true, readonly: true },\n },\n },\n },\n {\n name: 'publishedById',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.fields.published-by.title',\n groupId: 'publication',\n options: listSortAndFilterOptions,\n schema: {\n dataType: 'string',\n nullable: true,\n readonly: true,\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'SecurityManagement.User',\n look: 'select',\n allowSearch: true,\n textField: 'displayName',\n valueField: 'id',\n columns: ['displayName', 'username'],\n disabled: true,\n readonly: true,\n expose: [\n { source: 'id', target: 'publishedBy.id' },\n { source: 'displayName', target: 'publishedBy.displayName' },\n ],\n },\n },\n },\n },\n {\n name: 'sectionStructure',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.pages.sections.title',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'object',\n defaultValue: { sections: [] },\n visible: false,\n nullable: true,\n },\n },\n {\n name: 'sections',\n title: '@workplacesafety-management:safety-plans.entities.safety-plan.pages.sections.title',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: false }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'object',\n defaultValue: { sections: [] },\n visible: false,\n nullable: true,\n },\n },\n ],\n columns: [\n { name: 'code', options: { width: '120px', order: 1 } },\n { name: 'title', options: { width: '240px', order: 2 } },\n { name: 'safetyPlanTypeId', options: { width: '160px', order: 3, dataPath: 'safetyPlanType.title' } },\n { name: 'status', options: { width: '140px', order: 4 } },\n { name: 'publishedAt', options: { width: '160px', order: 5 } },\n { name: 'publishedById', options: { width: '160px', order: 6, dataPath: 'publishedBy.displayName' } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info' }, { id: 'configuration' }, { id: 'publication' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'allowClone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'publishedAt', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'publishedById', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info' }, { id: 'configuration' }, { id: 'publication' }],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'allowClone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'publishedAt', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'publishedById', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'publication', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'safetyPlanTypeId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'allowClone', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'publishedAt', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'publishedById', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions(), safetyPlanPublishAction],\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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"}
@@ -0,0 +1,232 @@
1
+ import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';
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-CeTmhod5.mjs';
4
+
5
+ //#region ---- Safety template type options ----
6
+ const WORKPLACE_SAFETY_TEMPLATE_TYPE_OPTIONS = [
7
+ {
8
+ id: 'SWMS',
9
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.template-type.options.swms',
10
+ },
11
+ {
12
+ id: 'JSA',
13
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.template-type.options.jsa',
14
+ },
15
+ {
16
+ id: 'Forms',
17
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.template-type.options.forms',
18
+ },
19
+ {
20
+ id: 'Permits',
21
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.template-type.options.permits',
22
+ },
23
+ {
24
+ id: 'Plans',
25
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.template-type.options.plans',
26
+ },
27
+ ];
28
+ //#endregion
29
+
30
+ //#region ---- Imports ----
31
+ //#endregion
32
+ //#region ---- Constants ----
33
+ const listSortAndFilterOptions = {
34
+ sort: { enabled: true },
35
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
36
+ };
37
+ //#endregion
38
+ //#region ---- Entity factory ----
39
+ async function safetyTemplateEntityFactory() {
40
+ const entityDef = {
41
+ module: RootConfig.module.name,
42
+ name: RootConfig.entities.safetyTemplate.name,
43
+ title: RootConfig.entities.safetyTemplate.title,
44
+ icon: RootConfig.entities.safetyTemplate.icon,
45
+ formats: {
46
+ individual: RootConfig.entities.safetyTemplate.title,
47
+ plural: RootConfig.entities.safetyTemplate.titlePlural,
48
+ searchResult: {
49
+ title: '{{ title }}',
50
+ description: '{{ code }}',
51
+ },
52
+ },
53
+ plugins: [
54
+ { name: 'identifier', options: { field: 'code', rule: 'safety-template-code' } },
55
+ { name: 'unique-fields', options: { fields: 'code', scope: 'global' } },
56
+ { name: 'archive' },
57
+ ],
58
+ groups: [
59
+ {
60
+ id: 'basic-info',
61
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.groups.basic-info',
62
+ },
63
+ {
64
+ id: 'configuration',
65
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.groups.configuration',
66
+ },
67
+ ],
68
+ properties: [
69
+ {
70
+ name: 'id',
71
+ title: '@general:terms.common.id',
72
+ groupId: 'basic-info',
73
+ schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },
74
+ },
75
+ {
76
+ name: 'code',
77
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.code.title',
78
+ groupId: 'basic-info',
79
+ options: listSortAndFilterOptions,
80
+ schema: {
81
+ dataType: 'string',
82
+ unique: { enabled: true },
83
+ interface: {
84
+ type: AXPWidgetsList.Editors.TextBox,
85
+ options: {
86
+ disabled: true,
87
+ placeholder: '@workplacesafety-management:safety-templates.entities.safety-template.fields.code.placeholder',
88
+ },
89
+ },
90
+ },
91
+ validations: [{ rule: 'required' }],
92
+ },
93
+ {
94
+ name: 'title',
95
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.title.title',
96
+ groupId: 'basic-info',
97
+ options: listSortAndFilterOptions,
98
+ schema: {
99
+ dataType: 'string',
100
+ interface: {
101
+ type: AXPWidgetsList.Editors.TextBox,
102
+ options: {
103
+ placeholder: '@workplacesafety-management:safety-templates.entities.safety-template.fields.title.placeholder',
104
+ },
105
+ },
106
+ },
107
+ validations: [{ rule: 'required' }],
108
+ },
109
+ {
110
+ name: 'description',
111
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.description.title',
112
+ groupId: 'basic-info',
113
+ options: {
114
+ sort: { enabled: false },
115
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
116
+ },
117
+ schema: {
118
+ dataType: 'string',
119
+ nullable: true,
120
+ interface: {
121
+ type: AXPWidgetsList.Editors.LargeTextBox,
122
+ options: {
123
+ rows: 3,
124
+ placeholder: '@workplacesafety-management:safety-templates.entities.safety-template.fields.description.placeholder',
125
+ },
126
+ },
127
+ },
128
+ },
129
+ {
130
+ name: 'templateType',
131
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.template-type.title',
132
+ groupId: 'configuration',
133
+ options: listSortAndFilterOptions,
134
+ schema: {
135
+ dataType: 'string',
136
+ interface: {
137
+ type: AXPWidgetsList.Editors.SelectBox,
138
+ options: {
139
+ valueField: 'id',
140
+ textField: 'title',
141
+ dataSource: [...WORKPLACE_SAFETY_TEMPLATE_TYPE_OPTIONS],
142
+ },
143
+ },
144
+ },
145
+ validations: [{ rule: 'required' }],
146
+ },
147
+ {
148
+ name: 'sectionIds',
149
+ title: '@workplacesafety-management:safety-templates.entities.safety-template.fields.section-ids.title',
150
+ groupId: 'configuration',
151
+ options: {
152
+ sort: { enabled: false },
153
+ filter: { advance: { enabled: true }, inline: { enabled: false } },
154
+ },
155
+ schema: {
156
+ dataType: 'array',
157
+ nullable: true,
158
+ defaultValue: [],
159
+ interface: {
160
+ type: AXPWidgetsList.Editors.LookupBox,
161
+ options: {
162
+ entity: `${RootConfig.module.name}.${RootConfig.entities.sectionType.name}`,
163
+ look: 'drop-down',
164
+ multiple: true,
165
+ textField: 'title',
166
+ valueField: 'id',
167
+ columns: ['code', 'title'],
168
+ expose: [
169
+ { source: 'id', target: 'sections.{id}' },
170
+ { source: 'title', target: 'sections.{title}' },
171
+ { source: 'code', target: 'sections.{code}' },
172
+ ],
173
+ },
174
+ },
175
+ },
176
+ },
177
+ ],
178
+ columns: [
179
+ { name: 'code', options: { width: '120px', order: 1 } },
180
+ { name: 'title', options: { width: '240px', order: 2 } },
181
+ { name: 'templateType', options: { width: '120px', order: 3 } },
182
+ ],
183
+ interfaces: {
184
+ master: {
185
+ create: {
186
+ sections: [{ id: 'basic-info' }, { id: 'configuration' }],
187
+ properties: [
188
+ { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
189
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
190
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
191
+ { name: 'templateType', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
192
+ { name: 'sectionIds', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
193
+ ],
194
+ },
195
+ update: {
196
+ sections: [{ id: 'basic-info' }, { id: 'configuration' }],
197
+ properties: [
198
+ { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
199
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
200
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
201
+ { name: 'templateType', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
202
+ { name: 'sectionIds', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
203
+ ],
204
+ },
205
+ single: {
206
+ title: '{{ title }}',
207
+ sections: [
208
+ { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },
209
+ { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },
210
+ ],
211
+ properties: [
212
+ { name: 'code', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
213
+ { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },
214
+ { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 1 } } } },
215
+ { name: 'templateType', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },
216
+ { name: 'sectionIds', layout: { positions: { lg: { colSpan: 12, order: 2 } } } },
217
+ ],
218
+ actions: [...entityMasterRecordActions()],
219
+ },
220
+ list: {
221
+ actions: [...entityMasterCrudActions()],
222
+ views: [createAllQueryView({ sorts: [{ name: 'code', dir: 'asc' }] })],
223
+ },
224
+ },
225
+ },
226
+ };
227
+ return entityDef;
228
+ }
229
+ //#endregion
230
+
231
+ export { safetyTemplateEntityFactory };
232
+ //# sourceMappingURL=acorex-platform-module-workplacesafety-management-client-contracts-entity-catalog-safety-template.entity-BxNUXvae.mjs.map