@acorex/modules 20.3.0-next.3 → 20.3.0-next.5

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 (88) hide show
  1. package/fesm2022/acorex-modules-content-management.mjs.map +1 -1
  2. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DDriJFmP.mjs → acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs} +122 -80
  3. package/fesm2022/{acorex-modules-document-management-acorex-modules-document-management-DDriJFmP.mjs.map → acorex-modules-document-management-acorex-modules-document-management-DhEDQZru.mjs.map} +1 -1
  4. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-OYJu4IJz.mjs → acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs} +2 -2
  5. package/fesm2022/{acorex-modules-document-management-attachment-widget.component-OYJu4IJz.mjs.map → acorex-modules-document-management-attachment-widget.component-Bx2Ps7uX.mjs.map} +1 -1
  6. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CZzlGMcu.mjs → acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs} +2 -2
  7. package/fesm2022/{acorex-modules-document-management-create-folder-dialog.component-CZzlGMcu.mjs.map → acorex-modules-document-management-create-folder-dialog.component-B26m8qWj.mjs.map} +1 -1
  8. package/fesm2022/{acorex-modules-document-management-details-view.component-VdV7xGPS.mjs → acorex-modules-document-management-details-view.component-3DmulyK_.mjs} +2 -2
  9. package/fesm2022/{acorex-modules-document-management-details-view.component-VdV7xGPS.mjs.map → acorex-modules-document-management-details-view.component-3DmulyK_.mjs.map} +1 -1
  10. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-Gi0_m0oe.mjs → acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs} +2 -2
  11. package/fesm2022/{acorex-modules-document-management-document-signature-popup.component-Gi0_m0oe.mjs.map → acorex-modules-document-management-document-signature-popup.component-DmR6gFdD.mjs.map} +1 -1
  12. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BgRZ_nhs.mjs → acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs} +2 -2
  13. package/fesm2022/{acorex-modules-document-management-drive-choose.component-BgRZ_nhs.mjs.map → acorex-modules-document-management-drive-choose.component-BNyPOrzl.mjs.map} +1 -1
  14. package/fesm2022/{acorex-modules-document-management-drive.component-BRCGsnuI.mjs → acorex-modules-document-management-drive.component-D5X_bI5D.mjs} +2 -2
  15. package/fesm2022/{acorex-modules-document-management-drive.component-BRCGsnuI.mjs.map → acorex-modules-document-management-drive.component-D5X_bI5D.mjs.map} +1 -1
  16. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CnsPx3K3.mjs → acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs} +2 -2
  17. package/fesm2022/{acorex-modules-document-management-large-icons-view.component-CnsPx3K3.mjs.map → acorex-modules-document-management-large-icons-view.component-AzDtXQqt.mjs.map} +1 -1
  18. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D4OUme1W.mjs → acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs} +2 -2
  19. package/fesm2022/{acorex-modules-document-management-large-tiles-view.component-D4OUme1W.mjs.map → acorex-modules-document-management-large-tiles-view.component-DCG_v9JT.mjs.map} +1 -1
  20. package/fesm2022/{acorex-modules-document-management-list-view.component-C7i4jI9h.mjs → acorex-modules-document-management-list-view.component-Cb2OVElN.mjs} +2 -2
  21. package/fesm2022/{acorex-modules-document-management-list-view.component-C7i4jI9h.mjs.map → acorex-modules-document-management-list-view.component-Cb2OVElN.mjs.map} +1 -1
  22. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DHVn7RIv.mjs → acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs} +2 -2
  23. package/fesm2022/{acorex-modules-document-management-rename-node-dialog.component-DHVn7RIv.mjs.map → acorex-modules-document-management-rename-node-dialog.component-B7gcoDDb.mjs.map} +1 -1
  24. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-By36moe5.mjs → acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs} +2 -2
  25. package/fesm2022/{acorex-modules-document-management-small-icons-view.component-By36moe5.mjs.map → acorex-modules-document-management-small-icons-view.component-EN4ttbvx.mjs.map} +1 -1
  26. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CO6MfsEU.mjs → acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs} +2 -2
  27. package/fesm2022/{acorex-modules-document-management-small-tiles-view.component-CO6MfsEU.mjs.map → acorex-modules-document-management-small-tiles-view.component-C-HjbNwe.mjs.map} +1 -1
  28. package/fesm2022/acorex-modules-document-management.mjs +1 -1
  29. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-WkDn4mpE.mjs → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs} +23 -12
  30. package/fesm2022/{acorex-modules-human-capital-management-acorex-modules-human-capital-management-WkDn4mpE.mjs.map → acorex-modules-human-capital-management-acorex-modules-human-capital-management-BQ_KNd7M.mjs.map} +1 -1
  31. package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-DsUYujPr.mjs → acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs} +2 -2
  32. package/fesm2022/{acorex-modules-human-capital-management-employee-skill.entity-DsUYujPr.mjs.map → acorex-modules-human-capital-management-employee-skill.entity-3wofaUXu.mjs.map} +1 -1
  33. package/fesm2022/{acorex-modules-human-capital-management-employee.entity-CC-LIIki.mjs → acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs} +10 -8
  34. package/fesm2022/acorex-modules-human-capital-management-employee.entity-1fVathnk.mjs.map +1 -0
  35. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-Mgkdm2vo.mjs → acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs} +2 -2
  36. package/fesm2022/{acorex-modules-human-capital-management-employment-type.entity-Mgkdm2vo.mjs.map → acorex-modules-human-capital-management-employment-type.entity-BWrwli0P.mjs.map} +1 -1
  37. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BJyciZGL.mjs → acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs} +2 -2
  38. package/fesm2022/{acorex-modules-human-capital-management-leave-request.entity-BJyciZGL.mjs.map → acorex-modules-human-capital-management-leave-request.entity-4ddc6R_K.mjs.map} +1 -1
  39. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-IewYlMLV.mjs → acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs} +2 -2
  40. package/fesm2022/{acorex-modules-human-capital-management-leave-type.entity-IewYlMLV.mjs.map → acorex-modules-human-capital-management-leave-type.entity-DYYJVRju.mjs.map} +1 -1
  41. package/fesm2022/{acorex-modules-human-capital-management-position-assignment.entity-BlKFRnO0.mjs → acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs} +7 -53
  42. package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-DIqdhqk4.mjs.map +1 -0
  43. package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-De1qKpcU.mjs → acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs} +2 -2
  44. package/fesm2022/{acorex-modules-human-capital-management-skill-level.entity-De1qKpcU.mjs.map → acorex-modules-human-capital-management-skill-level.entity-BN67pBaa.mjs.map} +1 -1
  45. package/fesm2022/{acorex-modules-human-capital-management-skill.entity-RrnBU0M5.mjs → acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs} +2 -2
  46. package/fesm2022/{acorex-modules-human-capital-management-skill.entity-RrnBU0M5.mjs.map → acorex-modules-human-capital-management-skill.entity-D4CglCC7.mjs.map} +1 -1
  47. package/fesm2022/acorex-modules-human-capital-management.mjs +1 -1
  48. package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs +544 -0
  49. package/fesm2022/acorex-modules-organization-management-org-chart.page-keZ4Gk7y.mjs.map +1 -0
  50. package/fesm2022/{acorex-modules-organization-management-position.entity-DK-i78ck.mjs → acorex-modules-organization-management-position.entity-CzBbuApR.mjs} +47 -1
  51. package/fesm2022/acorex-modules-organization-management-position.entity-CzBbuApR.mjs.map +1 -0
  52. package/fesm2022/{acorex-modules-organization-management-settings.provider-feVwZnkw.mjs → acorex-modules-organization-management-settings.provider-BvOAb0jb.mjs} +21 -2
  53. package/fesm2022/acorex-modules-organization-management-settings.provider-BvOAb0jb.mjs.map +1 -0
  54. package/fesm2022/acorex-modules-organization-management.mjs +358 -240
  55. package/fesm2022/acorex-modules-organization-management.mjs.map +1 -1
  56. package/fesm2022/acorex-modules-report-management.mjs +76 -16
  57. package/fesm2022/acorex-modules-report-management.mjs.map +1 -1
  58. package/fesm2022/{acorex-modules-settings-management-setting-page.component-Y-liTcuX.mjs → acorex-modules-settings-management-setting-page.component-IG1o_0Dp.mjs} +17 -14
  59. package/fesm2022/acorex-modules-settings-management-setting-page.component-IG1o_0Dp.mjs.map +1 -0
  60. package/fesm2022/acorex-modules-settings-management.mjs +1 -1
  61. package/fesm2022/acorex-modules-settings-management.mjs.map +1 -1
  62. package/fesm2022/acorex-modules-task-management.mjs +0 -3
  63. package/fesm2022/acorex-modules-task-management.mjs.map +1 -1
  64. package/organization-management/README.md +98 -2
  65. package/organization-management/index.d.ts +44 -123
  66. package/package.json +1 -1
  67. package/report-management/index.d.ts +31 -3
  68. package/fesm2022/acorex-modules-human-capital-management-employee.entity-CC-LIIki.mjs.map +0 -1
  69. package/fesm2022/acorex-modules-human-capital-management-position-assignment.entity-BlKFRnO0.mjs.map +0 -1
  70. package/fesm2022/acorex-modules-organization-management-add-item.component-CtuULLkY.mjs +0 -89
  71. package/fesm2022/acorex-modules-organization-management-add-item.component-CtuULLkY.mjs.map +0 -1
  72. package/fesm2022/acorex-modules-organization-management-branch.entity-C4Le6Kv6.mjs +0 -317
  73. package/fesm2022/acorex-modules-organization-management-branch.entity-C4Le6Kv6.mjs.map +0 -1
  74. package/fesm2022/acorex-modules-organization-management-department.entity-BkEbajpN.mjs +0 -288
  75. package/fesm2022/acorex-modules-organization-management-department.entity-BkEbajpN.mjs.map +0 -1
  76. package/fesm2022/acorex-modules-organization-management-division.entity-Cds8jkR5.mjs +0 -515
  77. package/fesm2022/acorex-modules-organization-management-division.entity-Cds8jkR5.mjs.map +0 -1
  78. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DfwjhVRX.mjs +0 -116
  79. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.page-DfwjhVRX.mjs.map +0 -1
  80. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-D7NlQXp2.mjs +0 -147
  81. package/fesm2022/acorex-modules-organization-management-org-chart-configuration.service-D7NlQXp2.mjs.map +0 -1
  82. package/fesm2022/acorex-modules-organization-management-org-chart.page-DeqD7PyH.mjs +0 -989
  83. package/fesm2022/acorex-modules-organization-management-org-chart.page-DeqD7PyH.mjs.map +0 -1
  84. package/fesm2022/acorex-modules-organization-management-position.entity-DK-i78ck.mjs.map +0 -1
  85. package/fesm2022/acorex-modules-organization-management-settings.keys-B3cgSi_S.mjs +0 -22
  86. package/fesm2022/acorex-modules-organization-management-settings.keys-B3cgSi_S.mjs.map +0 -1
  87. package/fesm2022/acorex-modules-organization-management-settings.provider-feVwZnkw.mjs.map +0 -1
  88. package/fesm2022/acorex-modules-settings-management-setting-page.component-Y-liTcuX.mjs.map +0 -1
@@ -1,3 +1,99 @@
1
- # @acorex/modules/organization-management
1
+ # Organization Management
2
2
 
3
- Secondary entry point of `@acorex/modules`. It can be used by importing from `@acorex/modules/organization-management`.
3
+ Complete module for managing organizational structures and the Organization Chart in the ACoreX Platform.
4
+
5
+ Key capabilities:
6
+
7
+ - Entities for Business Units, Business Unit Types, Positions, Roles, Responsibilities, Teams, and the Chart store
8
+ - Dynamic Organization Chart generation from entity data (versioned)
9
+ - Connectivity mocks and seeders for demo data
10
+ - i18n resources for EN/FA
11
+
12
+ ## Entities
13
+
14
+ ### BusinessUnitType
15
+
16
+ Defines business unit kinds and whether they are location-based.
17
+
18
+ Fields:
19
+
20
+ - `id: uuid`
21
+ - `code: string` (e.g., `division`, `department`, `branch`)
22
+ - `title: string`
23
+ - `isLocationBased: boolean`
24
+
25
+ ### BusinessUnit
26
+
27
+ Unified node that represents Division / Department / Branch.
28
+
29
+ Fields:
30
+
31
+ - `id: uuid`
32
+ - `title: string`
33
+ - `description?: string`
34
+ - `typeId: string` → exposes `type.{ id, code, title, isLocationBased }`
35
+ - `parentId?: string` → exposes `parent.{ id, title }`
36
+ - `countryId? / stateId? / cityId?` → exposes `country/state/city.{ id, title }`
37
+ - Computed (plugin): `manager` (placeholder for now)
38
+
39
+ ### Position
40
+
41
+ Standard position catalog with category support. Includes `isManager: boolean` for manager identification.
42
+
43
+ ### Chart
44
+
45
+ Persists generated org chart data versions. Each record contains the `version` and the root `data` node.
46
+
47
+ ## Org Chart
48
+
49
+ The chart is generated from entity data and rendered with a simplified legend. Nodes include:
50
+
51
+ - Company (virtual root from tenant)
52
+ - Location: Country → State → City (virtual grouping)
53
+ - Business Units: Division / Department / Branch (derived from `BusinessUnitType.code`)
54
+ - Position (subtitle shows employee display name, description shows employee role when available)
55
+
56
+ Example of the generated node (simplified):
57
+
58
+ ```typescript
59
+ {
60
+ id: '...',
61
+ title: 'QA Manager',
62
+ subtitle: 'Alexandra Kim',
63
+ description: 'QA Manager',
64
+ type: 'Position',
65
+ entity: { id: 'position-id', source: 'OrganizationManagement.Position' }
66
+ }
67
+ ```
68
+
69
+ ## Data Generation (Mocks)
70
+
71
+ - `BusinessUnitType` mocks: `division`, `department`, `branch`
72
+ - `BusinessUnit` mocks: hierarchical sample with `parent`, `type`, and location fields (hydrated from Location mocks)
73
+ - `Position` mocks: categorized with `isManager` inferred from title
74
+ - `PositionAssignment` mocks (HCM): one active primary per employee, scoped by `businessUnitId`
75
+
76
+ Seeders are registered in `connectivity/mock` under Organization Management.
77
+
78
+ ## Generate Org Chart Version
79
+
80
+ Use the mock command `organization.chart.generate` to build a new version based on current entity data. The UI page exposes a "Generate" action that triggers the command.
81
+
82
+ ## i18n
83
+
84
+ Demo app assets include `en-US` and `fa-IR` keys for:
85
+
86
+ - `business-unit-type` (title, code, is-location-based, basic-info)
87
+ - `business-unit` (basic-info, relation-info, geographic-info, type/parent)
88
+ - Chart labels and actions
89
+
90
+ ## Importing
91
+
92
+ ```typescript
93
+ import {
94
+ AXMOrganizationManagementBusinessUnitEntityModule,
95
+ AXMOrganizationManagementBusinessUnitTypeEntityModule,
96
+ } from '@acorex/modules/organization-management';
97
+ ```
98
+
99
+ This package is a secondary entry-point of `@acorex/modules`.
@@ -32,33 +32,25 @@ declare const RootConfig: {
32
32
  title: string;
33
33
  icon: string;
34
34
  };
35
- division: {
36
- name: string;
37
- source: string;
38
- title: string;
39
- icon: string;
40
- fullname: string;
41
- };
42
- department: {
35
+ team: {
43
36
  name: string;
44
37
  source: string;
45
38
  title: string;
46
39
  icon: string;
47
40
  };
48
- branch: {
41
+ position: {
49
42
  name: string;
50
43
  source: string;
51
44
  title: string;
52
45
  icon: string;
53
- fullname: string;
54
46
  };
55
- team: {
47
+ businessUnitType: {
56
48
  name: string;
57
49
  source: string;
58
50
  title: string;
59
51
  icon: string;
60
52
  };
61
- position: {
53
+ businessUnit: {
62
54
  name: string;
63
55
  source: string;
64
56
  title: string;
@@ -85,40 +77,6 @@ declare const RootConfig: {
85
77
  };
86
78
  };
87
79
 
88
- interface AXMOrganizationManagementBranchEntityModel extends AXPEntityModel<string> {
89
- title: string;
90
- code: string;
91
- description?: string;
92
- location?: {
93
- country: {
94
- id: string;
95
- title: string;
96
- };
97
- state: {
98
- id: string;
99
- title: string;
100
- };
101
- city: {
102
- id: string;
103
- title: string;
104
- };
105
- };
106
- }
107
-
108
- declare abstract class AXMOrganizationManagementBranchEntityService extends AXMEntityCrudServiceImpl<string, AXMOrganizationManagementBranchEntityModel> {
109
- }
110
- declare class AXMOrganizationManagementBranchEntityServiceImpl extends AXMOrganizationManagementBranchEntityService {
111
- constructor();
112
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementBranchEntityServiceImpl, never>;
113
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementBranchEntityServiceImpl>;
114
- }
115
-
116
- declare class AXMOrganizationManagementBranchEntityModule {
117
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementBranchEntityModule, never>;
118
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementBranchEntityModule, never, never, never>;
119
- static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementBranchEntityModule>;
120
- }
121
-
122
80
  interface AXMOrganizationManagementChartEntityModel extends AXPEntityModel<string> {
123
81
  version: string;
124
82
  data: AXMOrganizationManagementChartNodeEntityModel;
@@ -172,59 +130,6 @@ declare class AXMOrganizationManagementCompanyEntityModule {
172
130
  static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementCompanyEntityModule>;
173
131
  }
174
132
 
175
- interface AXMOrganizationManagementDepartmentEntityModel extends AXPEntityModel<string> {
176
- title: string;
177
- description?: string;
178
- }
179
-
180
- declare abstract class AXMOrganizationManagementDepartmentEntityService extends AXMEntityCrudServiceImpl<string, AXMOrganizationManagementDepartmentEntityModel> {
181
- }
182
- declare class AXMOrganizationManagementDepartmentEntityServiceImpl extends AXMOrganizationManagementDepartmentEntityService {
183
- constructor();
184
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementDepartmentEntityServiceImpl, never>;
185
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementDepartmentEntityServiceImpl>;
186
- }
187
-
188
- declare class AXMOrganizationManagementDepartmentEntityModule {
189
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementDepartmentEntityModule, never>;
190
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementDepartmentEntityModule, never, never, never>;
191
- static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementDepartmentEntityModule>;
192
- }
193
-
194
- interface AXMOrganizationManagementDivisionEntityModel extends AXPEntityModel<string> {
195
- title: string;
196
- description?: string;
197
- countryId?: string;
198
- stateId?: string;
199
- cityId?: string;
200
- country?: {
201
- id: string;
202
- title: string;
203
- };
204
- state?: {
205
- id: string;
206
- title: string;
207
- };
208
- city?: {
209
- id: string;
210
- title: string;
211
- };
212
- }
213
-
214
- declare abstract class AXMOrganizationManagementDivisionEntityService extends AXMEntityCrudServiceImpl<string, AXMOrganizationManagementDivisionEntityModel> {
215
- }
216
- declare class AXMOrganizationManagementDivisionEntityServiceImpl extends AXMOrganizationManagementDivisionEntityService {
217
- constructor();
218
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementDivisionEntityServiceImpl, never>;
219
- static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementDivisionEntityServiceImpl>;
220
- }
221
-
222
- declare class AXMOrganizationManagementDivisionEntityModule {
223
- static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementDivisionEntityModule, never>;
224
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementDivisionEntityModule, never, never, never>;
225
- static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementDivisionEntityModule>;
226
- }
227
-
228
133
  interface AXMOrganizationManagementPositionEntityModel extends AXPEntityModel<string> {
229
134
  title: string;
230
135
  description?: string;
@@ -304,6 +209,34 @@ declare class AXMOrganizationManagementTeamEntityServiceImpl extends AXMOrganiza
304
209
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementTeamEntityServiceImpl>;
305
210
  }
306
211
 
212
+ declare abstract class AXMOrganizationManagementBusinessUnitTypeEntityService extends AXMEntityCrudServiceImpl<string, any> {
213
+ }
214
+ declare class AXMOrganizationManagementBusinessUnitTypeEntityServiceImpl extends AXMOrganizationManagementBusinessUnitTypeEntityService {
215
+ constructor();
216
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementBusinessUnitTypeEntityServiceImpl, never>;
217
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementBusinessUnitTypeEntityServiceImpl>;
218
+ }
219
+
220
+ declare class AXMOrganizationManagementBusinessUnitTypeEntityModule {
221
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementBusinessUnitTypeEntityModule, never>;
222
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementBusinessUnitTypeEntityModule, never, never, never>;
223
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementBusinessUnitTypeEntityModule>;
224
+ }
225
+
226
+ declare abstract class AXMOrganizationManagementBusinessUnitEntityService extends AXMEntityCrudServiceImpl<string, any> {
227
+ }
228
+ declare class AXMOrganizationManagementBusinessUnitEntityServiceImpl extends AXMOrganizationManagementBusinessUnitEntityService {
229
+ constructor();
230
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementBusinessUnitEntityServiceImpl, never>;
231
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementBusinessUnitEntityServiceImpl>;
232
+ }
233
+
234
+ declare class AXMOrganizationManagementBusinessUnitEntityModule {
235
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementBusinessUnitEntityModule, never>;
236
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementBusinessUnitEntityModule, never, never, never>;
237
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementBusinessUnitEntityModule>;
238
+ }
239
+
307
240
  declare class AXMOrganizationManagementResponsibilityEntityModule {
308
241
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementResponsibilityEntityModule, never>;
309
242
  static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementResponsibilityEntityModule, never, [typeof i1.CommonModule], never>;
@@ -328,19 +261,7 @@ declare class AXMOrganizationManagementResponsibilityEntityServiceImpl extends A
328
261
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMOrganizationManagementResponsibilityEntityServiceImpl>;
329
262
  }
330
263
 
331
- declare enum AXMOrganizationNodeTypeCategory {
332
- Company = "Company",// Company
333
- Location = "Location",// Country, State, City
334
- BusinessUnit = "BusinessUnit",// Division, Department, Branch
335
- Role = "Role",// Position
336
- Employee = "Employee"
337
- }
338
- type AXMOrgChartNodePermission = {
339
- [parent: string]: {
340
- [child: string]: number;
341
- };
342
- };
343
- declare enum AXMOrganizationNodeType {
264
+ declare enum AXMOrgChartNodeType {
344
265
  Company = "Company",
345
266
  Country = "Country",
346
267
  State = "State",
@@ -351,13 +272,13 @@ declare enum AXMOrganizationNodeType {
351
272
  Position = "Position",
352
273
  Employee = "Employee"
353
274
  }
354
- declare const AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS: Record<string, {
355
- category: AXMOrganizationNodeTypeCategory;
356
- type: AXMOrganizationNodeType;
357
- title: string;
358
- icon: string;
359
- color: string;
360
- }>;
275
+ declare enum AXMOrgChartCategory {
276
+ Company = "Company",
277
+ Location = "Location",
278
+ BusinessUnit = "BusinessUnit",
279
+ Position = "Position",
280
+ Employee = "Employee"
281
+ }
361
282
  interface AXMOrganizationNode {
362
283
  id: string;
363
284
  title: string;
@@ -366,7 +287,7 @@ interface AXMOrganizationNode {
366
287
  isExpanded?: boolean;
367
288
  children?: AXMOrganizationNode[];
368
289
  icon?: string;
369
- type?: AXMOrganizationNodeType;
290
+ type?: AXMOrgChartNodeType;
370
291
  parentId?: string | null;
371
292
  entity?: {
372
293
  id: string;
@@ -377,9 +298,9 @@ interface AXMOrganizationNode {
377
298
 
378
299
  declare class AXMOrganizationManagementModule {
379
300
  static ɵfac: i0.ɵɵFactoryDeclaration<AXMOrganizationManagementModule, never>;
380
- static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementModule, never, [typeof i1.CommonModule, typeof AXMOrganizationManagementResponsibilityEntityModule, typeof AXMOrganizationManagementRoleEntityModule, typeof AXMOrganizationManagementTeamEntityModule, typeof AXMOrganizationManagementCompanyEntityModule, typeof AXMOrganizationManagementDepartmentEntityModule, typeof AXMOrganizationManagementDivisionEntityModule, typeof AXMOrganizationManagementBranchEntityModule, typeof AXMOrganizationManagementPositionEntityModule, typeof AXMOrganizationManagementChartEntityModule], never>;
301
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMOrganizationManagementModule, never, [typeof i1.CommonModule, typeof AXMOrganizationManagementResponsibilityEntityModule, typeof AXMOrganizationManagementRoleEntityModule, typeof AXMOrganizationManagementTeamEntityModule, typeof AXMOrganizationManagementCompanyEntityModule, typeof AXMOrganizationManagementPositionEntityModule, typeof AXMOrganizationManagementChartEntityModule, typeof AXMOrganizationManagementBusinessUnitEntityModule, typeof AXMOrganizationManagementBusinessUnitTypeEntityModule], never>;
381
302
  static ɵinj: i0.ɵɵInjectorDeclaration<AXMOrganizationManagementModule>;
382
303
  }
383
304
 
384
- export { AXMOrganizationManagementBranchEntityModule, AXMOrganizationManagementBranchEntityService, AXMOrganizationManagementBranchEntityServiceImpl, AXMOrganizationManagementChartEntityModule, AXMOrganizationManagementChartEntityService, AXMOrganizationManagementChartEntityServiceImpl, AXMOrganizationManagementCompanyEntityModule, AXMOrganizationManagementCompanyEntityService, AXMOrganizationManagementCompanyEntityServiceImpl, AXMOrganizationManagementDepartmentEntityModule, AXMOrganizationManagementDepartmentEntityService, AXMOrganizationManagementDepartmentEntityServiceImpl, AXMOrganizationManagementDivisionEntityModule, AXMOrganizationManagementDivisionEntityService, AXMOrganizationManagementDivisionEntityServiceImpl, AXMOrganizationManagementModule, AXMOrganizationManagementPositionEntityModule, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementPositionEntityServiceImpl, AXMOrganizationManagementResponsibilityEntityModule, AXMOrganizationManagementResponsibilityEntityService, AXMOrganizationManagementResponsibilityEntityServiceImpl, AXMOrganizationManagementRoleEntityModule, AXMOrganizationManagementRoleEntityService, AXMOrganizationManagementRoleEntityServiceImpl, AXMOrganizationManagementTeamEntityModule, AXMOrganizationManagementTeamEntityService, AXMOrganizationManagementTeamEntityServiceImpl, AXMOrganizationNodeType, AXMOrganizationNodeTypeCategory, AXM_ORG_CHART_NODE_TYPE_ENTITY_MAPPINGS, RootConfig };
385
- export type { AXMOrgChartNodePermission, AXMOrganizationManagementBranchEntityModel, AXMOrganizationManagementChartEntityModel, AXMOrganizationManagementChartNodeEntityModel, AXMOrganizationManagementCompanyEntityModel, AXMOrganizationManagementDepartmentEntityModel, AXMOrganizationManagementDivisionEntityModel, AXMOrganizationManagementPositionEntityModel, AXMOrganizationManagementResponsibilityEntityModel, AXMOrganizationManagementRoleEntityModel, AXMOrganizationManagementTeamEntityModel, AXMOrganizationNode };
305
+ export { AXMOrgChartCategory, AXMOrgChartNodeType, AXMOrganizationManagementBusinessUnitEntityModule, AXMOrganizationManagementBusinessUnitEntityService, AXMOrganizationManagementBusinessUnitEntityServiceImpl, AXMOrganizationManagementBusinessUnitTypeEntityModule, AXMOrganizationManagementBusinessUnitTypeEntityService, AXMOrganizationManagementBusinessUnitTypeEntityServiceImpl, AXMOrganizationManagementChartEntityModule, AXMOrganizationManagementChartEntityService, AXMOrganizationManagementChartEntityServiceImpl, AXMOrganizationManagementCompanyEntityModule, AXMOrganizationManagementCompanyEntityService, AXMOrganizationManagementCompanyEntityServiceImpl, AXMOrganizationManagementModule, AXMOrganizationManagementPositionEntityModule, AXMOrganizationManagementPositionEntityService, AXMOrganizationManagementPositionEntityServiceImpl, AXMOrganizationManagementResponsibilityEntityModule, AXMOrganizationManagementResponsibilityEntityService, AXMOrganizationManagementResponsibilityEntityServiceImpl, AXMOrganizationManagementRoleEntityModule, AXMOrganizationManagementRoleEntityService, AXMOrganizationManagementRoleEntityServiceImpl, AXMOrganizationManagementTeamEntityModule, AXMOrganizationManagementTeamEntityService, AXMOrganizationManagementTeamEntityServiceImpl, RootConfig };
306
+ export type { AXMOrganizationManagementChartEntityModel, AXMOrganizationManagementChartNodeEntityModel, AXMOrganizationManagementCompanyEntityModel, AXMOrganizationManagementPositionEntityModel, AXMOrganizationManagementResponsibilityEntityModel, AXMOrganizationManagementRoleEntityModel, AXMOrganizationManagementTeamEntityModel, AXMOrganizationNode };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/modules",
3
- "version": "20.3.0-next.3",
3
+ "version": "20.3.0-next.5",
4
4
  "peerDependencies": {
5
5
  "@acorex/platform": ">=20.0.0",
6
6
  "@angular/service-worker": "^20.0.0",
@@ -10,9 +10,9 @@ import * as _acorex_modules_report_management from '@acorex/modules/report-manag
10
10
  import * as _ngrx_signals from '@ngrx/signals';
11
11
  import * as _acorex_platform_themes_shared from '@acorex/platform/themes/shared';
12
12
  import * as _acorex_platform_core from '@acorex/platform/core';
13
- import { AXPContextData, AXPBreadcrumbItem, AXPBackButton, AXPActionMenuItem, AXPExecuteCommand, AXPExportOptions } from '@acorex/platform/core';
13
+ import { AXPContextData, AXPBreadcrumbItem, AXPBackButton, AXPActionMenuItem, AXPExecuteCommand, AXPSystemActionType, AXPExportOptions } from '@acorex/platform/core';
14
14
  import { AXPPageLayoutBaseComponent } from '@acorex/platform/layout/views';
15
- import { AXPCommandActionType, AXPQuerySort } from '@acorex/platform/common';
15
+ import { AXPQuerySort } from '@acorex/platform/common';
16
16
  import { AXPCommand, AXPCommandService } from '@acorex/platform/runtime';
17
17
  import { AXBarChartValue, AXBarChartOption } from '@acorex/charts/bar-chart';
18
18
  import { AXChartLegendOptions } from '@acorex/charts/chart-legend';
@@ -150,6 +150,9 @@ declare class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
150
150
  filterContext: _angular_core.Signal<AXPContextData>;
151
151
  categoriesPath: _angular_core.Signal<any[]>;
152
152
  allowFetchData: _angular_core.Signal<boolean>;
153
+ shouldExecuteReport: _angular_core.Signal<boolean>;
154
+ lastAppliedFilterContext: _angular_core.Signal<AXPContextData | null>;
155
+ hasBeenExecuted: _angular_core.Signal<boolean>;
153
156
  status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
154
157
  error: _angular_core.Signal<string | null>;
155
158
  availableLayouts: _angular_core.Signal<_acorex_modules_report_management.AXPLayoutSwitcherOption[]>;
@@ -167,6 +170,7 @@ declare class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
167
170
  formDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition>;
168
171
  isTableLayout: _angular_core.Signal<boolean>;
169
172
  isChartLayout: _angular_core.Signal<boolean>;
173
+ hasUnappliedFilters: _angular_core.Signal<boolean>;
170
174
  canExecute: _angular_core.Signal<boolean>;
171
175
  canSwitchLayout: _angular_core.Signal<boolean>;
172
176
  canSelectRows: _angular_core.Signal<boolean | undefined>;
@@ -187,6 +191,9 @@ declare class AXPReportViewerPageComponent extends AXPPageLayoutBaseComponent {
187
191
  filterContext: AXPContextData;
188
192
  categoriesPath: any[];
189
193
  allowFetchData: boolean;
194
+ shouldExecuteReport: boolean;
195
+ lastAppliedFilterContext: AXPContextData | null;
196
+ hasBeenExecuted: boolean;
190
197
  status: _acorex_platform_layout_builder.AXPPageStatus;
191
198
  error: string | null;
192
199
  }>;
@@ -360,7 +367,7 @@ type AXPReportLayout = AXPReportTableLayout | AXPReportChartLayout;
360
367
  */
361
368
  interface AXPReportTableLayoutRowAction extends AXPActionMenuItem {
362
369
  priority: 'primary' | 'secondary';
363
- type: AXPCommandActionType;
370
+ type: AXPSystemActionType | string;
364
371
  default?: boolean;
365
372
  }
366
373
  interface AXPReportTableLayout {
@@ -692,6 +699,9 @@ declare const AXPReportViewerViewModel: _angular_core.Type<{
692
699
  filterContext: _angular_core.Signal<AXPContextData>;
693
700
  categoriesPath: _angular_core.Signal<any[]>;
694
701
  allowFetchData: _angular_core.Signal<boolean>;
702
+ shouldExecuteReport: _angular_core.Signal<boolean>;
703
+ lastAppliedFilterContext: _angular_core.Signal<AXPContextData | null>;
704
+ hasBeenExecuted: _angular_core.Signal<boolean>;
695
705
  status: _angular_core.Signal<AXPPageStatus>;
696
706
  error: _angular_core.Signal<string | null>;
697
707
  availableLayouts: _angular_core.Signal<AXPLayoutSwitcherOption[]>;
@@ -709,6 +719,7 @@ declare const AXPReportViewerViewModel: _angular_core.Type<{
709
719
  formDefinition: _angular_core.Signal<AXPDynamicFormDefinition>;
710
720
  isTableLayout: _angular_core.Signal<boolean>;
711
721
  isChartLayout: _angular_core.Signal<boolean>;
722
+ hasUnappliedFilters: _angular_core.Signal<boolean>;
712
723
  canExecute: _angular_core.Signal<boolean>;
713
724
  canSwitchLayout: _angular_core.Signal<boolean>;
714
725
  canSelectRows: _angular_core.Signal<boolean | undefined>;
@@ -729,6 +740,9 @@ declare const AXPReportViewerViewModel: _angular_core.Type<{
729
740
  filterContext: AXPContextData;
730
741
  categoriesPath: any[];
731
742
  allowFetchData: boolean;
743
+ shouldExecuteReport: boolean;
744
+ lastAppliedFilterContext: AXPContextData | null;
745
+ hasBeenExecuted: boolean;
732
746
  status: AXPPageStatus;
733
747
  error: string | null;
734
748
  }>>;
@@ -741,6 +755,9 @@ declare class AXPReportBarChartViewComponent {
741
755
  filterContext: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
742
756
  categoriesPath: _angular_core.Signal<any[]>;
743
757
  allowFetchData: _angular_core.Signal<boolean>;
758
+ shouldExecuteReport: _angular_core.Signal<boolean>;
759
+ lastAppliedFilterContext: _angular_core.Signal<_acorex_platform_core.AXPContextData | null>;
760
+ hasBeenExecuted: _angular_core.Signal<boolean>;
744
761
  status: _angular_core.Signal<AXPPageStatus>;
745
762
  error: _angular_core.Signal<string | null>;
746
763
  availableLayouts: _angular_core.Signal<_acorex_modules_report_management.AXPLayoutSwitcherOption[]>;
@@ -758,6 +775,7 @@ declare class AXPReportBarChartViewComponent {
758
775
  formDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition>;
759
776
  isTableLayout: _angular_core.Signal<boolean>;
760
777
  isChartLayout: _angular_core.Signal<boolean>;
778
+ hasUnappliedFilters: _angular_core.Signal<boolean>;
761
779
  canExecute: _angular_core.Signal<boolean>;
762
780
  canSwitchLayout: _angular_core.Signal<boolean>;
763
781
  canSelectRows: _angular_core.Signal<boolean | undefined>;
@@ -778,6 +796,9 @@ declare class AXPReportBarChartViewComponent {
778
796
  filterContext: _acorex_platform_core.AXPContextData;
779
797
  categoriesPath: any[];
780
798
  allowFetchData: boolean;
799
+ shouldExecuteReport: boolean;
800
+ lastAppliedFilterContext: _acorex_platform_core.AXPContextData | null;
801
+ hasBeenExecuted: boolean;
781
802
  status: AXPPageStatus;
782
803
  error: string | null;
783
804
  }>;
@@ -829,6 +850,9 @@ declare class AXPReportTableViewComponent {
829
850
  filterContext: _angular_core.Signal<_acorex_platform_core.AXPContextData>;
830
851
  categoriesPath: _angular_core.Signal<any[]>;
831
852
  allowFetchData: _angular_core.Signal<boolean>;
853
+ shouldExecuteReport: _angular_core.Signal<boolean>;
854
+ lastAppliedFilterContext: _angular_core.Signal<_acorex_platform_core.AXPContextData | null>;
855
+ hasBeenExecuted: _angular_core.Signal<boolean>;
832
856
  status: _angular_core.Signal<_acorex_platform_layout_builder.AXPPageStatus>;
833
857
  error: _angular_core.Signal<string | null>;
834
858
  availableLayouts: _angular_core.Signal<_acorex_modules_report_management.AXPLayoutSwitcherOption[]>;
@@ -846,6 +870,7 @@ declare class AXPReportTableViewComponent {
846
870
  formDefinition: _angular_core.Signal<_acorex_platform_layout_components.AXPDynamicFormDefinition>;
847
871
  isTableLayout: _angular_core.Signal<boolean>;
848
872
  isChartLayout: _angular_core.Signal<boolean>;
873
+ hasUnappliedFilters: _angular_core.Signal<boolean>;
849
874
  canExecute: _angular_core.Signal<boolean>;
850
875
  canSwitchLayout: _angular_core.Signal<boolean>;
851
876
  canSelectRows: _angular_core.Signal<boolean | undefined>;
@@ -866,6 +891,9 @@ declare class AXPReportTableViewComponent {
866
891
  filterContext: _acorex_platform_core.AXPContextData;
867
892
  categoriesPath: any[];
868
893
  allowFetchData: boolean;
894
+ shouldExecuteReport: boolean;
895
+ lastAppliedFilterContext: _acorex_platform_core.AXPContextData | null;
896
+ hasBeenExecuted: boolean;
869
897
  status: _acorex_platform_layout_builder.AXPPageStatus;
870
898
  error: string | null;
871
899
  }>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-modules-human-capital-management-employee.entity-CC-LIIki.mjs","sources":["../tmp-esm2022/human-capital-management/lib/entities/employee/employee.entity.js"],"sourcesContent":["import { AXPWidgetsList } from '@acorex/modules/common';\nimport { AXPEntityQueryType, createAllQueryView } from '@acorex/platform/common';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';\nimport { entityDetailsCrudActions, entityDetailsSimpleCondition, entityMasterCrudActions, entityMasterRecordActions } from '@acorex/platform/layout/entity';\nimport { RootConfig } from '../../const';\nimport { AXMHumanCapitalManagementEmployeeEntityService } from './employee.service';\nexport async function factory(injector) {\n const dataService = injector.get(AXMHumanCapitalManagementEmployeeEntityService);\n const i18n = RootConfig.config.i18n;\n const entityName = 'employee';\n const entityDef = {\n module: RootConfig.module.name,\n name: RootConfig.entities.employee.name,\n source: 'employees',\n title: '@human-capital-management:employee.individual-title',\n icon: 'fa-light fa-building',\n formats: {\n individual: '@human-capital-management:employee.individual-title',\n plural: '@human-capital-management:employee.plural-title',\n displayName: 'Employment Information',\n searchResult: { title: '{{ party.displayName }}', description: RootConfig.module.title },\n },\n plugins: [\n { name: 'identifier', options: { field: 'employeeCode', rule: 'employee-code' } },\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n { name: 'extra-properties' },\n { name: 'attachments', options: { accept: '.jpg,.jpeg,.png,.pdf', multiple: true, fileEditable: true } },\n { name: 'archive' },\n {\n name: 'computed-property',\n options: {\n fields: [\n {\n name: 'manager',\n title: '@human-capital-management:employee.manager',\n value: \"{{ context.eval('manager.party.displayName') }}\",\n group: { id: 'organizationalStructure' },\n showAs: { type: AXPWidgetsCatalog.text },\n },\n ],\n },\n },\n ],\n relatedEntities: [\n {\n entity: `PartyManagement.Party`,\n title: 'Personal Information',\n conditions: [{ name: 'id', operator: { type: 'equal' }, value: '{{ context.eval(\"partyId\") }}' }],\n layout: { type: 'merge-detail' },\n persistence: {\n dataPath: 'party',\n strategy: 'referenced',\n idField: 'partyId',\n }\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.leaveRequest.name}`,\n title: '@human-capital-management:leave-request.plural-title',\n columns: ['leaveTypeId', 'startDate', 'endDate', 'durationDays', 'status', 'reason'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n actions: [...entityDetailsCrudActions('employeeId')],\n layout: { type: 'page-list', position: 'after', order: 4 },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.employeeSkill.name}`,\n title: 'Skills',\n columns: ['skillId', 'level', 'yearsOfExperience', 'lastUsedDate'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n actions: [...entityDetailsCrudActions('employeeId')],\n layout: { type: 'page-list', position: 'after', order: 2 },\n },\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.positionAssignment.name}`,\n title: '@human-capital-management:position-assignment.plural-title',\n columns: ['positionId', 'scopeType', 'scopeId', 'startDate', 'endDate', 'isPrimary'],\n conditions: [entityDetailsSimpleCondition('employeeId')],\n actions: [...entityDetailsCrudActions('employeeId')],\n layout: { type: 'page-list', position: 'after', order: 3 },\n },\n {\n entity: `SecurityManagement.User`,\n title: 'Security Information',\n icon: 'fa-light fa-lock',\n conditions: [{ name: 'id', operator: { type: 'equal' }, value: '{{ context.eval(\"userId\") }}' }],\n layout: { type: 'page-detail', position: 'after', order: 1 },\n persistence: {\n dataPath: 'user',\n strategy: 'referenced',\n idField: 'userId',\n hydrate: 'eager',\n map: {\n displayName: '$parent.party.displayName',\n },\n }\n },\n ],\n groups: [\n { id: 'organizationalStructure', title: '@human-capital-management:employee.organizational-structure' },\n { id: 'employmentProfile', title: '@human-capital-management:employee.employment-profile' },\n ],\n properties: [\n { name: 'id', title: 'ID', groupId: 'personalInformation', schema: { dataType: 'uuid', hidden: true, nullable: false, readonly: true, unique: { enabled: true } } },\n { name: 'employeeCode', title: '@human-capital-management:employee.employee-code', groupId: 'employmentProfile', schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.text } }, options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } }, validations: [{ rule: 'required' }] },\n { name: 'roleId', title: '@human-capital-management:employee.roleId', groupId: 'organizationalStructure', schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LookupBox, options: { entity: `OrganizationManagement.Role`, textField: 'title', valueField: 'id', look: 'select', expose: [{ source: 'id', target: 'role.id' }, { source: 'title', target: 'role.title' }] } } }, options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } }, validations: [{ rule: 'required' }] },\n { name: 'positionId', title: '@human-capital-management:employee.positionId', groupId: 'organizationalStructure', schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LookupBox, options: { entity: `OrganizationManagement.Position`, textField: 'title', valueField: 'id', look: 'select', expose: [{ source: 'id', target: 'position.id' }, { source: 'title', target: 'position.title' }] } } }, options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } }, validations: [{ rule: 'required' }] },\n { name: 'employmentTypeId', title: '@human-capital-management:employee.employmentTypeId', groupId: 'employmentProfile', schema: { dataType: 'string', interface: { type: AXPWidgetsList.Editors.LookupBox, options: { entity: `${RootConfig.module.name}.${RootConfig.entities.employmentType.name}`, textField: 'title', valueField: 'id', look: 'select', expose: [{ source: 'id', target: 'employmentType.id' }, { source: 'title', target: 'employmentType.title' }] } } }, options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } }, validations: [{ rule: 'required' }] },\n { name: 'hireDate', title: '@human-capital-management:employee.hire-date', groupId: 'employmentProfile', schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } }, options: { sort: { enabled: true }, filter: { advance: { enabled: true }, inline: { enabled: true } } }, validations: [{ rule: 'required' }] },\n ],\n columns: [\n { name: 'party.displayName', title: '@general:terms.display-name', showAs: { type: AXPWidgetsCatalog.text } },\n { name: 'party.primaryContact', title: '@general:terms.email', options: { width: '350px' }, showAs: { type: AXPWidgetsCatalog.contact, options: { type: 'email' } } },\n // { name: 'party.mobile', title: '@general:terms.mobile', options: { width: '250px' }, showAs: { type: AXPWidgetsCatalog.contact, options: { type: 'phone' } } },\n { name: 'user.username', title: '@general:terms.username', showAs: { type: AXPWidgetsCatalog.text } },\n { name: 'employeeCode' },\n { name: 'roleId', options: { dataPath: 'role.title' } },\n { name: 'positionId', options: { dataPath: 'position.title' } },\n { name: 'employmentTypeId', options: { dataPath: 'employmentType.title' } },\n { name: 'hireDate' },\n ],\n commands: {\n create: { execute: async (data) => ({ id: await dataService.insertOne(data) }) },\n delete: { execute: async (id) => await dataService.deleteOne(id) },\n update: { execute: async (data) => await dataService.updateOne(data.id, data) },\n },\n queries: {\n byKey: {\n execute: async (id) => {\n const item = await dataService.getOne(id);\n return item;\n }, type: AXPEntityQueryType.Single\n },\n list: { execute: async (e) => await dataService.query(e), type: AXPEntityQueryType.List },\n },\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'personalInformation' }, { id: 'organizationalStructure' }, { id: 'employmentProfile' }],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n update: {\n sections: [{ id: 'personalInformation' }, { id: 'organizationalStructure' }, { id: 'employmentProfile' }],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n },\n single: {\n title: '{{party.displayName}}',\n sections: [\n { id: 'personalInformation', order: 2, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'employmentProfile', order: 3, layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'organizationalStructure', order: 4, layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'employeeCode', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'roleId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'employmentTypeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'hireDate', layout: { positions: { lg: { colSpan: 6 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: { actions: [...entityMasterCrudActions()], views: [createAllQueryView({ sorts: [{ name: 'party.displayName', dir: 'asc' }] })] },\n },\n },\n };\n return entityDef;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUuZW50aXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9tb2R1bGVzL2h1bWFuLWNhcGl0YWwtbWFuYWdlbWVudC9zcmMvbGliL2VudGl0aWVzL2VtcGxveWVlL2VtcGxveWVlLmVudGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFhLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUosT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6QyxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRixNQUFNLENBQUMsS0FBSyxVQUFVLE9BQU8sQ0FBQyxRQUFrQjtJQUM5QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7SUFDakYsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFDcEMsTUFBTSxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBRTlCLE1BQU0sU0FBUyxHQUFjO1FBQzNCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUk7UUFDOUIsSUFBSSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUk7UUFDdkMsTUFBTSxFQUFFLFdBQVc7UUFDbkIsS0FBSyxFQUFFLHFEQUFxRDtRQUM1RCxJQUFJLEVBQUUsc0JBQXNCO1FBQzVCLE9BQU8sRUFBRTtZQUNQLFVBQVUs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QUFFO2FBQ3ZJO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYUFdpZGdldHNMaXN0IH0gZnJvbSAnQGFjb3JleC9tb2R1bGVzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHksIEFYUEVudGl0eVF1ZXJ5VHlwZSwgY3JlYXRlQWxsUXVlcnlWaWV3IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IGVudGl0eURldGFpbHNDcnVkQWN0aW9ucywgZW50aXR5RGV0YWlsc1NpbXBsZUNvbmRpdGlvbiwgZW50aXR5TWFzdGVyQ3J1ZEFjdGlvbnMsIGVudGl0eU1hc3RlclJlY29yZEFjdGlvbnMgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvb3RDb25maWcgfSBmcm9tICcuLi8uLi9jb25zdCc7XG5pbXBvcnQgeyBBWE1IdW1hbkNhcGl0YWxNYW5hZ2VtZW50RW1wbG95ZWVFbnRpdHlTZXJ2aWNlIH0gZnJvbSAnLi9lbXBsb3llZS5zZXJ2aWNlJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZhY3RvcnkoaW5qZWN0b3I6IEluamVjdG9yKTogUHJvbWlzZTxBWFBFbnRpdHkgfCBudWxsPiB7XG4gIGNvbnN0IGRhdGFTZXJ2aWNlID0gaW5qZWN0b3IuZ2V0KEFYTUh1bWFuQ2FwaXRhbE1hbmFnZW1lbnRFbXBsb3llZUVudGl0eVNlcnZpY2UpO1xuICBjb25zdCBpMThuID0gUm9vdENvbmZpZy5jb25maWcuaTE4bjtcbiAgY29uc3QgZW50aXR5TmFtZSA9ICdlbXBsb3llZSc7XG5cbiAgY29uc3QgZW50aXR5RGVmOiBBWFBFbnRpdHkgPSB7XG4gICAgbW9kdWxlOiBSb290Q29uZmlnLm1vZHVsZS5uYW1lLFxuICAgIG5hbWU6IFJvb3RDb25maWcuZW50aXRpZXMuZW1wbG95ZWUubmFtZSxcbiAgICBzb3VyY2U6ICdlbXBsb3llZXMnLFxuICAgIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5pbmRpdmlkdWFsLXRpdGxlJyxcbiAgICBpY29uOiAnZmEtbGlnaHQgZmEtYnVpbGRpbmcnLFxuICAgIGZvcm1hdHM6IHtcbiAgICAgIGluZGl2aWR1YWw6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLmluZGl2aWR1YWwtdGl0bGUnLFxuICAgICAgcGx1cmFsOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5wbHVyYWwtdGl0bGUnLFxuICAgICAgZGlzcGxheU5hbWU6ICdFbXBsb3ltZW50IEluZm9ybWF0aW9uJyxcbiAgICAgIHNlYXJjaFJlc3VsdDogeyB0aXRsZTogJ3t7IHBhcnR5LmRpc3BsYXlOYW1lIH19JywgZGVzY3JpcHRpb246IFJvb3RDb25maWcubW9kdWxlLnRpdGxlIH0sXG4gICAgfSxcbiAgICBwbHVnaW5zOiBbXG4gICAgICB7IG5hbWU6ICdpZGVudGlmaWVyJywgb3B0aW9uczogeyBmaWVsZDogJ2VtcGxveWVlQ29kZScsIHJ1bGU6ICdlbXBsb3llZS1jb2RlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdoaXN0b3J5JyB9LFxuICAgICAgeyBuYW1lOiAnbG9jaycgfSxcbiAgICAgIHsgbmFtZTogJ2NvbXBhcmUnIH0sXG4gICAgICB7IG5hbWU6ICdleHRyYS1wcm9wZXJ0aWVzJyB9LFxuICAgICAgeyBuYW1lOiAnYXR0YWNobWVudHMnLCBvcHRpb25zOiB7IGFjY2VwdDogJy5qcGcsLmpwZWcsLnBuZywucGRmJywgbXVsdGlwbGU6IHRydWUsIGZpbGVFZGl0YWJsZTogdHJ1ZSB9IH0sXG4gICAgICB7IG5hbWU6ICdhcmNoaXZlJyB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29tcHV0ZWQtcHJvcGVydHknLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdtYW5hZ2VyJyxcbiAgICAgICAgICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLm1hbmFnZXInLFxuICAgICAgICAgICAgICB2YWx1ZTogXCJ7eyBjb250ZXh0LmV2YWwoJ21hbmFnZXIucGFydHkuZGlzcGxheU5hbWUnKSB9fVwiLFxuICAgICAgICAgICAgICBncm91cDogeyBpZDogJ29yZ2FuaXphdGlvbmFsU3RydWN0dXJlJyB9LFxuICAgICAgICAgICAgICBzaG93QXM6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudGV4dCB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIHJlbGF0ZWRFbnRpdGllczogW1xuICAgICAge1xuICAgICAgICBlbnRpdHk6IGBQYXJ0eU1hbmFnZW1lbnQuUGFydHlgLFxuICAgICAgICB0aXRsZTogJ1BlcnNvbmFsIEluZm9ybWF0aW9uJyxcbiAgICAgICAgY29uZGl0aW9uczogW3sgbmFtZTogJ2lkJywgb3BlcmF0b3I6IHsgdHlwZTogJ2VxdWFsJyB9LCB2YWx1ZTogJ3t7IGNvbnRleHQuZXZhbChcInBhcnR5SWRcIikgfX0nIH1dLFxuICAgICAgICBsYXlvdXQ6IHsgdHlwZTogJ21lcmdlLWRldGFpbCcgfSxcbiAgICAgICAgcGVyc2lzdGVuY2U6IHtcbiAgICAgICAgICBkYXRhUGF0aDogJ3BhcnR5JyxcbiAgICAgICAgICBzdHJhdGVneTogJ3JlZmVyZW5jZWQnLFxuICAgICAgICAgIGlkRmllbGQ6ICdwYXJ0eUlkJyxcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZW50aXR5OiBgJHtSb290Q29uZmlnLm1vZHVsZS5uYW1lfS4ke1Jvb3RDb25maWcuZW50aXRpZXMubGVhdmVSZXF1ZXN0Lm5hbWV9YCxcbiAgICAgICAgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmxlYXZlLXJlcXVlc3QucGx1cmFsLXRpdGxlJyxcbiAgICAgICAgY29sdW1uczogWydsZWF2ZVR5cGVJZCcsICdzdGFydERhdGUnLCAnZW5kRGF0ZScsICdkdXJhdGlvbkRheXMnLCAnc3RhdHVzJywgJ3JlYXNvbiddLFxuICAgICAgICBjb25kaXRpb25zOiBbZW50aXR5RGV0YWlsc1NpbXBsZUNvbmRpdGlvbignZW1wbG95ZWVJZCcpXSxcbiAgICAgICAgYWN0aW9uczogWy4uLmVudGl0eURldGFpbHNDcnVkQWN0aW9ucygnZW1wbG95ZWVJZCcpXSxcbiAgICAgICAgbGF5b3V0OiB7IHR5cGU6ICdwYWdlLWxpc3QnLCBwb3NpdGlvbjogJ2FmdGVyJywgb3JkZXI6IDQgfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmVtcGxveWVlU2tpbGwubmFtZX1gLFxuICAgICAgICB0aXRsZTogJ1NraWxscycsXG4gICAgICAgIGNvbHVtbnM6IFsnc2tpbGxJZCcsICdsZXZlbCcsICd5ZWFyc09mRXhwZXJpZW5jZScsICdsYXN0VXNlZERhdGUnXSxcbiAgICAgICAgY29uZGl0aW9uczogW2VudGl0eURldGFpbHNTaW1wbGVDb25kaXRpb24oJ2VtcGxveWVlSWQnKV0sXG4gICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlEZXRhaWxzQ3J1ZEFjdGlvbnMoJ2VtcGxveWVlSWQnKV0sXG4gICAgICAgIGxheW91dDogeyB0eXBlOiAncGFnZS1saXN0JywgcG9zaXRpb246ICdhZnRlcicsIG9yZGVyOiAyIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBlbnRpdHk6IGAke1Jvb3RDb25maWcubW9kdWxlLm5hbWV9LiR7Um9vdENvbmZpZy5lbnRpdGllcy5wb3NpdGlvbkFzc2lnbm1lbnQubmFtZX1gLFxuICAgICAgICB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6cG9zaXRpb24tYXNzaWdubWVudC5wbHVyYWwtdGl0bGUnLFxuICAgICAgICBjb2x1bW5zOiBbJ3Bvc2l0aW9uSWQnLCAnc2NvcGVUeXBlJywgJ3Njb3BlSWQnLCAnc3RhcnREYXRlJywgJ2VuZERhdGUnLCAnaXNQcmltYXJ5J10sXG4gICAgICAgIGNvbmRpdGlvbnM6IFtlbnRpdHlEZXRhaWxzU2ltcGxlQ29uZGl0aW9uKCdlbXBsb3llZUlkJyldLFxuICAgICAgICBhY3Rpb25zOiBbLi4uZW50aXR5RGV0YWlsc0NydWRBY3Rpb25zKCdlbXBsb3llZUlkJyldLFxuICAgICAgICBsYXlvdXQ6IHsgdHlwZTogJ3BhZ2UtbGlzdCcsIHBvc2l0aW9uOiAnYWZ0ZXInLCBvcmRlcjogMyB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZW50aXR5OiBgU2VjdXJpdHlNYW5hZ2VtZW50LlVzZXJgLFxuICAgICAgICB0aXRsZTogJ1NlY3VyaXR5IEluZm9ybWF0aW9uJyxcbiAgICAgICAgaWNvbjogJ2ZhLWxpZ2h0IGZhLWxvY2snLFxuICAgICAgICBjb25kaXRpb25zOiBbeyBuYW1lOiAnaWQnLCBvcGVyYXRvcjogeyB0eXBlOiAnZXF1YWwnIH0sIHZhbHVlOiAne3sgY29udGV4dC5ldmFsKFwidXNlcklkXCIpIH19JyB9XSxcbiAgICAgICAgbGF5b3V0OiB7IHR5cGU6ICdwYWdlLWRldGFpbCcsIHBvc2l0aW9uOiAnYWZ0ZXInLCBvcmRlcjogMSB9LFxuICAgICAgICBwZXJzaXN0ZW5jZToge1xuICAgICAgICAgIGRhdGFQYXRoOiAndXNlcicsXG4gICAgICAgICAgc3RyYXRlZ3k6ICdyZWZlcmVuY2VkJyxcbiAgICAgICAgICBpZEZpZWxkOiAndXNlcklkJyxcbiAgICAgICAgICBoeWRyYXRlOiAnZWFnZXInLFxuICAgICAgICAgIG1hcDoge1xuICAgICAgICAgICAgZGlzcGxheU5hbWU6ICckcGFyZW50LnBhcnR5LmRpc3BsYXlOYW1lJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICB9LFxuICAgIF0sXG4gICAgZ3JvdXBzOiBbXG4gICAgICB7IGlkOiAnb3JnYW5pemF0aW9uYWxTdHJ1Y3R1cmUnLCB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWUub3JnYW5pemF0aW9uYWwtc3RydWN0dXJlJyB9LFxuICAgICAgeyBpZDogJ2VtcGxveW1lbnRQcm9maWxlJywgdGl0bGU6ICdAaHVtYW4tY2FwaXRhbC1tYW5hZ2VtZW50OmVtcGxveWVlLmVtcGxveW1lbnQtcHJvZmlsZScgfSxcbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IFtcbiAgICAgIHsgbmFtZTogJ2lkJywgdGl0bGU6ICdJRCcsIGdyb3VwSWQ6ICdwZXJzb25hbEluZm9ybWF0aW9uJywgc2NoZW1hOiB7IGRhdGFUeXBlOiAndXVpZCcsIGhpZGRlbjogdHJ1ZSwgbnVsbGFibGU6IGZhbHNlLCByZWFkb25seTogdHJ1ZSwgdW5pcXVlOiB7IGVuYWJsZWQ6IHRydWUgfSB9IH0sXG4gICAgICB7IG5hbWU6ICdlbXBsb3llZUNvZGUnLCB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWUuZW1wbG95ZWUtY29kZScsIGdyb3VwSWQ6ICdlbXBsb3ltZW50UHJvZmlsZScsIHNjaGVtYTogeyBkYXRhVHlwZTogJ3N0cmluZycsIGludGVyZmFjZTogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0IH0gfSwgb3B0aW9uczogeyBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSwgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0gfSwgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0gfSxcbiAgICAgIHsgbmFtZTogJ3JvbGVJZCcsIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5yb2xlSWQnLCBncm91cElkOiAnb3JnYW5pemF0aW9uYWxTdHJ1Y3R1cmUnLCBzY2hlbWE6IHsgZGF0YVR5cGU6ICdzdHJpbmcnLCBpbnRlcmZhY2U6IHsgdHlwZTogQVhQV2lkZ2V0c0xpc3QuRWRpdG9ycy5Mb29rdXBCb3gsIG9wdGlvbnM6IHsgZW50aXR5OiBgT3JnYW5pemF0aW9uTWFuYWdlbWVudC5Sb2xlYCwgdGV4dEZpZWxkOiAndGl0bGUnLCB2YWx1ZUZpZWxkOiAnaWQnLCBsb29rOiAnc2VsZWN0JywgZXhwb3NlOiBbeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ3JvbGUuaWQnIH0sIHsgc291cmNlOiAndGl0bGUnLCB0YXJnZXQ6ICdyb2xlLnRpdGxlJyB9XSB9IH0gfSwgb3B0aW9uczogeyBzb3J0OiB7IGVuYWJsZWQ6IHRydWUgfSwgZmlsdGVyOiB7IGFkdmFuY2U6IHsgZW5hYmxlZDogdHJ1ZSB9LCBpbmxpbmU6IHsgZW5hYmxlZDogdHJ1ZSB9IH0gfSwgdmFsaWRhdGlvbnM6IFt7IHJ1bGU6ICdyZXF1aXJlZCcgfV0gfSxcbiAgICAgIHsgbmFtZTogJ3Bvc2l0aW9uSWQnLCB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWUucG9zaXRpb25JZCcsIGdyb3VwSWQ6ICdvcmdhbml6YXRpb25hbFN0cnVjdHVyZScsIHNjaGVtYTogeyBkYXRhVHlwZTogJ3N0cmluZycsIGludGVyZmFjZTogeyB0eXBlOiBBWFBXaWRnZXRzTGlzdC5FZGl0b3JzLkxvb2t1cEJveCwgb3B0aW9uczogeyBlbnRpdHk6IGBPcmdhbml6YXRpb25NYW5hZ2VtZW50LlBvc2l0aW9uYCwgdGV4dEZpZWxkOiAndGl0bGUnLCB2YWx1ZUZpZWxkOiAnaWQnLCBsb29rOiAnc2VsZWN0JywgZXhwb3NlOiBbeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ3Bvc2l0aW9uLmlkJyB9LCB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAncG9zaXRpb24udGl0bGUnIH1dIH0gfSB9LCBvcHRpb25zOiB7IHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LCBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSB9LCB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSB9LFxuICAgICAgeyBuYW1lOiAnZW1wbG95bWVudFR5cGVJZCcsIHRpdGxlOiAnQGh1bWFuLWNhcGl0YWwtbWFuYWdlbWVudDplbXBsb3llZS5lbXBsb3ltZW50VHlwZUlkJywgZ3JvdXBJZDogJ2VtcGxveW1lbnRQcm9maWxlJywgc2NoZW1hOiB7IGRhdGFUeXBlOiAnc3RyaW5nJywgaW50ZXJmYWNlOiB7IHR5cGU6IEFYUFdpZGdldHNMaXN0LkVkaXRvcnMuTG9va3VwQm94LCBvcHRpb25zOiB7IGVudGl0eTogYCR7Um9vdENvbmZpZy5tb2R1bGUubmFtZX0uJHtSb290Q29uZmlnLmVudGl0aWVzLmVtcGxveW1lbnRUeXBlLm5hbWV9YCwgdGV4dEZpZWxkOiAndGl0bGUnLCB2YWx1ZUZpZWxkOiAnaWQnLCBsb29rOiAnc2VsZWN0JywgZXhwb3NlOiBbeyBzb3VyY2U6ICdpZCcsIHRhcmdldDogJ2VtcGxveW1lbnRUeXBlLmlkJyB9LCB7IHNvdXJjZTogJ3RpdGxlJywgdGFyZ2V0OiAnZW1wbG95bWVudFR5cGUudGl0bGUnIH1dIH0gfSB9LCBvcHRpb25zOiB7IHNvcnQ6IHsgZW5hYmxlZDogdHJ1ZSB9LCBmaWx0ZXI6IHsgYWR2YW5jZTogeyBlbmFibGVkOiB0cnVlIH0sIGlubGluZTogeyBlbmFibGVkOiB0cnVlIH0gfSB9LCB2YWxpZGF0aW9uczogW3sgcnVsZTogJ3JlcXVpcmVkJyB9XSB9LFxuICAgICAgeyBuYW1lOiAnaGlyZURhdGUnLCB0aXRsZTogJ0BodW1hbi1jYXBpdGFsLW1hbmFnZW1lbnQ6ZW1wbG95ZWUuaGlyZS1kYXRlJywgZ3JvdXBJZDogJ2VtcGxveW1lbnRQcm9maWxlJywgc2NoZW1hOiB7IGRhdGFUeXBlOiAnZGF0ZScsIGludGVyZmFjZTogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5kYXRlVGltZSB9IH0sIG9wdGlvbnM6IHsgc29ydDogeyBlbmFibGVkOiB0cnVlIH0sIGZpbHRlcjogeyBhZHZhbmNlOiB7IGVuYWJsZWQ6IHRydWUgfSwgaW5saW5lOiB7IGVuYWJsZWQ6IHRydWUgfSB9IH0sIHZhbGlkYXRpb25zOiBbeyBydWxlOiAncmVxdWlyZWQnIH1dIH0sXG4gICAgXSxcbiAgICBjb2x1bW5zOiBbXG4gICAgICB7IG5hbWU6ICdwYXJ0eS5kaXNwbGF5TmFtZScsIHRpdGxlOiAnQGdlbmVyYWw6dGVybXMuZGlzcGxheS1uYW1lJywgc2hvd0FzOiB7IHR5cGU6IEFYUFdpZGdldHNDYXRhbG9nLnRleHQgfSB9LFxuICAgICAgeyBuYW1lOiAncGFydHkucHJpbWFyeUNvbnRhY3QnLCB0aXRsZTogJ0BnZW5lcmFsOnRlcm1zLmVtYWlsJywgb3B0aW9uczogeyB3aWR0aDogJzM1MHB4JyB9LCBzaG93QXM6IHsgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cuY29udGFjdCwgb3B0aW9uczogeyB0eXBlOiAnZW1haWwnIH0gfSB9LFxuICAgICAgLy8geyBuYW1lOiAncGFydHkubW9iaWxlJywgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy5tb2JpbGUnLCBvcHRpb25zOiB7IHdpZHRoOiAnMjUwcHgnIH0sIHNob3dBczogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy5jb250YWN0LCBvcHRpb25zOiB7IHR5cGU6ICdwaG9uZScgfSB9IH0sXG4gICAgICB7IG5hbWU6ICd1c2VyLnVzZXJuYW1lJywgdGl0bGU6ICdAZ2VuZXJhbDp0ZXJtcy51c2VybmFtZScsIHNob3dBczogeyB0eXBlOiBBWFBXaWRnZXRzQ2F0YWxvZy50ZXh0IH0gfSxcbiAgICAgIHsgbmFtZTogJ2VtcGxveWVlQ29kZScgfSxcbiAgICAgIHsgbmFtZTogJ3JvbGVJZCcsIG9wdGlvbnM6IHsgZGF0YVBhdGg6ICdyb2xlLnRpdGxlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdwb3NpdGlvbklkJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ3Bvc2l0aW9uLnRpdGxlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdlbXBsb3ltZW50VHlwZUlkJywgb3B0aW9uczogeyBkYXRhUGF0aDogJ2VtcGxveW1lbnRUeXBlLnRpdGxlJyB9IH0sXG4gICAgICB7IG5hbWU6ICdoaXJlRGF0ZScgfSxcbiAgICBdLFxuICAgIGNvbW1hbmRzOiB7XG4gICAgICBjcmVhdGU6IHsgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4gKHsgaWQ6IGF3YWl0IGRhdGFTZXJ2aWNlLmluc2VydE9uZShkYXRhKSB9KSB9LFxuICAgICAgZGVsZXRlOiB7IGV4ZWN1dGU6IGFzeW5jIChpZDogYW55KSA9PiBhd2FpdCBkYXRhU2VydmljZS5kZWxldGVPbmUoaWQpIH0sXG4gICAgICB1cGRhdGU6IHsgZXhlY3V0ZTogYXN5bmMgKGRhdGE6IGFueSkgPT4gYXdhaXQgZGF0YVNlcnZpY2UudXBkYXRlT25lKGRhdGEuaWQsIGRhdGEpIH0sXG4gICAgfSxcbiAgICBxdWVyaWVzOiB7XG4gICAgICBieUtleToge1xuICAgICAgICBleGVjdXRlOiBhc3luYyAoaWQ6IHN0cmluZykgPT4ge1xuICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCBkYXRhU2VydmljZS5nZXRPbmUoaWQpO1xuICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICB9LCB0eXBlOiBBWFBFbnRpdHlRdWVyeVR5cGUuU2luZ2xlXG4gICAgICB9LFxuICAgICAgbGlzdDogeyBleGVjdXRlOiBhc3luYyAoZTogYW55KSA9PiBhd2FpdCBkYXRhU2VydmljZS5xdWVyeShlKSwgdHlwZTogQVhQRW50aXR5UXVlcnlUeXBlLkxpc3QgfSxcbiAgICB9LFxuICAgIGludGVyZmFjZXM6IHtcbiAgICAgIG1hc3Rlcjoge1xuICAgICAgICBjcmVhdGU6IHtcbiAgICAgICAgICBzZWN0aW9uczogW3sgaWQ6ICdwZXJzb25hbEluZm9ybWF0aW9uJyB9LCB7IGlkOiAnb3JnYW5pemF0aW9uYWxTdHJ1Y3R1cmUnIH0sIHsgaWQ6ICdlbXBsb3ltZW50UHJvZmlsZScgfV0sXG4gICAgICAgICAgcHJvcGVydGllczogW1xuICAgICAgICAgICAgeyBuYW1lOiAnZW1wbG95ZWVDb2RlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdwb3NpdGlvbklkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdyb2xlSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2VtcGxveW1lbnRUeXBlSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ2hpcmVEYXRlJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFt7IGlkOiAncGVyc29uYWxJbmZvcm1hdGlvbicgfSwgeyBpZDogJ29yZ2FuaXphdGlvbmFsU3RydWN0dXJlJyB9LCB7IGlkOiAnZW1wbG95bWVudFByb2ZpbGUnIH1dLFxuICAgICAgICAgIHByb3BlcnRpZXM6IFtcbiAgICAgICAgICAgIHsgbmFtZTogJ2VtcGxveWVlQ29kZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncG9zaXRpb25JZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAncm9sZUlkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdlbXBsb3ltZW50VHlwZUlkJywgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiA2IH0gfSB9IH0sXG4gICAgICAgICAgICB7IG5hbWU6ICdoaXJlRGF0ZScsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHNpbmdsZToge1xuICAgICAgICAgIHRpdGxlOiAne3twYXJ0eS5kaXNwbGF5TmFtZX19JyxcbiAgICAgICAgICBzZWN0aW9uczogW1xuICAgICAgICAgICAgeyBpZDogJ3BlcnNvbmFsSW5mb3JtYXRpb24nLCBvcmRlcjogMiwgbGF5b3V0OiB7IHBvc2l0aW9uczogeyBsZzogeyBjb2xTcGFuOiAxMiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBpZDogJ2VtcGxveW1lbnRQcm9maWxlJywgb3JkZXI6IDMsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogMTIgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgaWQ6ICdvcmdhbml6YXRpb25hbFN0cnVjdHVyZScsIG9yZGVyOiA0LCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDEyIH0gfSB9IH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICBwcm9wZXJ0aWVzOiBbXG4gICAgICAgICAgICB7IG5hbWU6ICdlbXBsb3llZUNvZGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3Bvc2l0aW9uSWQnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICAgIHsgbmFtZTogJ3JvbGVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnZW1wbG95bWVudFR5cGVJZCcsIGxheW91dDogeyBwb3NpdGlvbnM6IHsgbGc6IHsgY29sU3BhbjogNiB9IH0gfSB9LFxuICAgICAgICAgICAgeyBuYW1lOiAnaGlyZURhdGUnLCBsYXlvdXQ6IHsgcG9zaXRpb25zOiB7IGxnOiB7IGNvbFNwYW46IDYgfSB9IH0gfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJSZWNvcmRBY3Rpb25zKCldLFxuICAgICAgICB9LFxuICAgICAgICBsaXN0OiB7IGFjdGlvbnM6IFsuLi5lbnRpdHlNYXN0ZXJDcnVkQWN0aW9ucygpXSwgdmlld3M6IFtjcmVhdGVBbGxRdWVyeVZpZXcoeyBzb3J0czogW3sgbmFtZTogJ3BhcnR5LmRpc3BsYXlOYW1lJywgZGlyOiAnYXNjJyB9XSB9KV0gfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gZW50aXR5RGVmO1xufVxuXG5cbiJdfQ=="],"names":[],"mappings":"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"}