@acorex-platform/module-person-core-client 0.0.32 → 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 (61) hide show
  1. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.mjs +229 -0
  2. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-role.mjs +215 -0
  4. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-contact-role.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-education-level.mjs +197 -0
  6. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-education-level.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-gender.mjs +197 -0
  8. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-gender.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-marital-status.mjs +197 -0
  10. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-marital-status.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-identifier-type.mjs +267 -0
  12. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-identifier-type.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-relationship.mjs +231 -0
  14. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-relationship.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-title.mjs +197 -0
  16. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person-title.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person.mjs +567 -0
  18. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-person.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-religion.mjs +197 -0
  20. package/fesm2022/acorex-platform-module-person-core-client-contracts-entities-religion.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-acorex-platform-module-person-core-client-contracts-entity-catalog-CJmzbjJI.mjs +106 -0
  22. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-acorex-platform-module-person-core-client-contracts-entity-catalog-CJmzbjJI.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-assignment.entity-BtVczZ89.mjs +151 -0
  24. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-assignment.entity-BtVczZ89.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-role.entity-uqPhUsRm.mjs +137 -0
  26. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-contact-role.entity-uqPhUsRm.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-education-level.entity-C1pz4Bh2.mjs +119 -0
  28. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-education-level.entity-C1pz4Bh2.mjs.map +1 -0
  29. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-gender.entity-BaoSo66c.mjs +119 -0
  30. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-gender.entity-BaoSo66c.mjs.map +1 -0
  31. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-marital-status.entity-NdZ6U6Ue.mjs +119 -0
  32. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-marital-status.entity-NdZ6U6Ue.mjs.map +1 -0
  33. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-identifier-type.entity-D_XVLaZw.mjs +189 -0
  34. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-identifier-type.entity-D_XVLaZw.mjs.map +1 -0
  35. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-relationship.entity-Bt_Y9UTE.mjs +153 -0
  36. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-relationship.entity-Bt_Y9UTE.mjs.map +1 -0
  37. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-title.entity-B5jB67Eh.mjs +119 -0
  38. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person-title.entity-B5jB67Eh.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person.entity-Bx2b-wa4.mjs +489 -0
  40. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-person.entity-Bx2b-wa4.mjs.map +1 -0
  41. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-religion.entity-BUHOGYxG.mjs +119 -0
  42. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog-religion.entity-BUHOGYxG.mjs.map +1 -0
  43. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog.mjs +2 -0
  44. package/fesm2022/acorex-platform-module-person-core-client-contracts-entity-catalog.mjs.map +1 -0
  45. package/fesm2022/acorex-platform-module-person-core-client-contracts.mjs.map +1 -1
  46. package/fesm2022/acorex-platform-module-person-core-client-local-entities.mjs +38 -0
  47. package/fesm2022/acorex-platform-module-person-core-client-local-entities.mjs.map +1 -0
  48. package/package.json +50 -1
  49. package/types/acorex-platform-module-person-core-client-contracts-entities-contact-assignment.d.ts +5 -0
  50. package/types/acorex-platform-module-person-core-client-contracts-entities-contact-role.d.ts +5 -0
  51. package/types/acorex-platform-module-person-core-client-contracts-entities-education-level.d.ts +5 -0
  52. package/types/acorex-platform-module-person-core-client-contracts-entities-gender.d.ts +5 -0
  53. package/types/acorex-platform-module-person-core-client-contracts-entities-marital-status.d.ts +5 -0
  54. package/types/acorex-platform-module-person-core-client-contracts-entities-person-identifier-type.d.ts +5 -0
  55. package/types/acorex-platform-module-person-core-client-contracts-entities-person-relationship.d.ts +5 -0
  56. package/types/acorex-platform-module-person-core-client-contracts-entities-person-title.d.ts +5 -0
  57. package/types/acorex-platform-module-person-core-client-contracts-entities-person.d.ts +5 -0
  58. package/types/acorex-platform-module-person-core-client-contracts-entities-religion.d.ts +5 -0
  59. package/types/acorex-platform-module-person-core-client-contracts-entity-catalog.d.ts +10 -0
  60. package/types/acorex-platform-module-person-core-client-contracts.d.ts +3 -3
  61. package/types/acorex-platform-module-person-core-client-local-entities.d.ts +12 -0
@@ -0,0 +1,489 @@
1
+ import { AXPWidgetsList, AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';
2
+ import { RootConfig } from '@acorex-platform/module-location-management-client/contracts';
3
+ import { AXPRelationshipKind } from '@acorex-platform/framework-shared/domain';
4
+ import { createAllQueryView, entityMasterCrudActions, entityMasterRecordActions, entityDetailsCrudActions } from '@acorex-platform/framework-shared/entity';
5
+ import { R as RootConfig$1 } from './acorex-platform-module-person-core-client-contracts-entity-catalog-acorex-platform-module-person-core-client-contracts-entity-catalog-CJmzbjJI.mjs';
6
+
7
+ //#endregion
8
+ //#region ---- Repeater Children ----
9
+ const PHONES_REPEATER_CHILDREN = [
10
+ {
11
+ type: AXPWidgetsList.Editors.ContactBox,
12
+ mode: 'edit',
13
+ options: { type: 'phone', placeholder: '@person-core:persons.entities.person.fields.phone.placeholder' },
14
+ },
15
+ ];
16
+ const EMAILS_REPEATER_CHILDREN = [
17
+ {
18
+ type: AXPWidgetsList.Editors.ContactBox,
19
+ mode: 'edit',
20
+ options: { type: 'email', placeholder: '@person-core:persons.entities.person.fields.email.placeholder' },
21
+ },
22
+ ];
23
+ const LOCATION_ROLE_ENTITY = `${RootConfig.module.name}.${RootConfig.entities.locationRole.name}`;
24
+ const ADDRESSES_REPEATER_CHILDREN = [
25
+ {
26
+ type: AXPWidgetsList.Editors.AddressBox,
27
+ mode: 'edit',
28
+ options: {
29
+ mode: 'expandable',
30
+ hasLabel: true,
31
+ labelEntity: LOCATION_ROLE_ENTITY,
32
+ },
33
+ },
34
+ ];
35
+ //#endregion
36
+ //#region ---- Entity Factory ----
37
+ async function personFactory() {
38
+ const entityDef = {
39
+ module: RootConfig$1.module.name,
40
+ name: RootConfig$1.entities.person.name,
41
+ title: RootConfig$1.entities.person.title,
42
+ icon: RootConfig$1.entities.person.icon,
43
+ formats: {
44
+ individual: RootConfig$1.entities.person.title,
45
+ plural: RootConfig$1.entities.person.titlePlural,
46
+ displayName: '@general:terms.common.profile',
47
+ searchResult: {
48
+ title: '{{ fullName }} ',
49
+ description: '@person-core:persons.entities.person.search-result-description',
50
+ },
51
+ },
52
+ plugins: [
53
+ { name: 'history' },
54
+ { name: 'archive' },
55
+ {
56
+ name: 'computed-property',
57
+ options: {
58
+ fields: [
59
+ {
60
+ name: 'fullName',
61
+ title: '@general:terms.common.full-name',
62
+ value: '{{ context.eval("firstName") + " " + context.eval("lastName") }}',
63
+ group: { id: 'profile' },
64
+ visible: false,
65
+ showAs: { type: AXPWidgetsCatalog.text },
66
+ },
67
+ ],
68
+ },
69
+ },
70
+ ],
71
+ groups: [
72
+ {
73
+ id: 'profile',
74
+ title: '@person-core:persons.entities.person.groups.profile',
75
+ icon: 'fa-light fa-user',
76
+ },
77
+ {
78
+ id: 'image',
79
+ title: '@person-core:persons.entities.person.groups.image',
80
+ icon: 'fa-light fa-image',
81
+ },
82
+ {
83
+ id: 'phones',
84
+ title: '@person-core:persons.entities.person.groups.phones',
85
+ icon: 'fa-light fa-phone',
86
+ },
87
+ {
88
+ id: 'emails',
89
+ title: '@person-core:persons.entities.person.groups.emails',
90
+ icon: 'fa-light fa-envelope',
91
+ },
92
+ {
93
+ id: 'addresses',
94
+ title: '@person-core:persons.entities.person.groups.addresses',
95
+ icon: 'fa-light fa-location-dot',
96
+ },
97
+ ],
98
+ properties: [
99
+ {
100
+ name: 'personTitleId',
101
+ title: '@person-core:persons.entities.person.fields.person-title.title',
102
+ groupId: 'profile',
103
+ options: {
104
+ sort: { enabled: true },
105
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
106
+ },
107
+ schema: {
108
+ dataType: 'string',
109
+ interface: {
110
+ type: AXPWidgetsList.Editors.LookupBox,
111
+ options: {
112
+ entity: `${RootConfig$1.module.name}.${RootConfig$1.entities.personTitle.name}`,
113
+ valueField: 'id',
114
+ textField: 'title',
115
+ look: 'select',
116
+ allowCreate: 'quick',
117
+ expose: [
118
+ { source: 'id', target: 'personTitle.id' },
119
+ { source: 'title', target: 'personTitle.title' },
120
+ ],
121
+ },
122
+ },
123
+ },
124
+ },
125
+ {
126
+ name: 'firstName',
127
+ title: '@general:terms.contact.first-name',
128
+ groupId: 'profile',
129
+ options: {
130
+ sort: { enabled: true },
131
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
132
+ },
133
+ schema: {
134
+ dataType: 'string',
135
+ interface: {
136
+ type: AXPWidgetsList.Editors.TextBox,
137
+ },
138
+ },
139
+ validations: [{ rule: 'required' }],
140
+ },
141
+ {
142
+ name: 'lastName',
143
+ title: '@general:terms.contact.last-name',
144
+ groupId: 'profile',
145
+ options: {
146
+ sort: { enabled: true },
147
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
148
+ },
149
+ schema: {
150
+ dataType: 'string',
151
+ interface: {
152
+ type: AXPWidgetsList.Editors.TextBox,
153
+ },
154
+ },
155
+ validations: [{ rule: 'required' }],
156
+ },
157
+ {
158
+ name: 'birthDate',
159
+ title: '@person-core:persons.entities.person.fields.birth-date.title',
160
+ groupId: 'profile',
161
+ options: {
162
+ sort: { enabled: true },
163
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
164
+ },
165
+ schema: {
166
+ dataType: 'date',
167
+ interface: {
168
+ type: AXPWidgetsCatalog.dateTime,
169
+ options: { format: 'date' },
170
+ },
171
+ },
172
+ },
173
+ {
174
+ name: 'image',
175
+ title: '@person-core:persons.entities.person.groups.image',
176
+ groupId: 'image',
177
+ schema: {
178
+ dataType: 'string',
179
+ interface: {
180
+ type: AXPWidgetsList.Advanced.Image,
181
+ options: {
182
+ type: 'profile-photo',
183
+ },
184
+ },
185
+ },
186
+ },
187
+ {
188
+ name: 'genderId',
189
+ title: '@person-core:persons.entities.person.fields.gender.title',
190
+ groupId: 'profile',
191
+ options: {
192
+ sort: { enabled: true },
193
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
194
+ },
195
+ schema: {
196
+ dataType: 'string',
197
+ interface: {
198
+ type: AXPWidgetsList.Editors.LookupBox,
199
+ options: {
200
+ entity: `${RootConfig$1.module.name}.${RootConfig$1.entities.gender.name}`,
201
+ valueField: 'id',
202
+ textField: 'title',
203
+ look: 'select',
204
+ allowCreate: 'quick',
205
+ expose: [
206
+ { source: 'id', target: 'gender.id' },
207
+ { source: 'title', target: 'gender.title' },
208
+ ],
209
+ },
210
+ },
211
+ },
212
+ },
213
+ {
214
+ name: 'identityNumber',
215
+ title: '@person-core:persons.entities.person.fields.identity-number.title',
216
+ groupId: 'profile',
217
+ options: {
218
+ sort: { enabled: true },
219
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
220
+ },
221
+ schema: {
222
+ dataType: 'string',
223
+ interface: {
224
+ type: AXPWidgetsList.Editors.TextBox,
225
+ options: {
226
+ placeholder: '@person-core:persons.entities.person.fields.identity-number.placeholder',
227
+ },
228
+ },
229
+ },
230
+ },
231
+ {
232
+ name: 'userId',
233
+ title: '@person-core:persons.entities.person.fields.user.title',
234
+ groupId: 'profile',
235
+ options: {
236
+ sort: { enabled: true },
237
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
238
+ },
239
+ schema: {
240
+ dataType: 'string',
241
+ interface: {
242
+ type: AXPWidgetsList.Editors.LookupBox,
243
+ options: {
244
+ entity: 'SecurityManagement.User',
245
+ valueField: 'id',
246
+ textField: 'displayName',
247
+ look: 'select',
248
+ expose: [
249
+ { source: 'id', target: 'user.id' },
250
+ { source: 'displayName', target: 'user.displayName' },
251
+ ],
252
+ },
253
+ },
254
+ },
255
+ },
256
+ {
257
+ name: 'maritalStatusId',
258
+ title: '@person-core:persons.entities.person.fields.marital-status.title',
259
+ groupId: 'profile',
260
+ options: {
261
+ sort: { enabled: true },
262
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
263
+ },
264
+ schema: {
265
+ dataType: 'string',
266
+ interface: {
267
+ type: AXPWidgetsList.Editors.LookupBox,
268
+ options: {
269
+ entity: `${RootConfig$1.module.name}.${RootConfig$1.entities.maritalStatus.name}`,
270
+ valueField: 'id',
271
+ textField: 'title',
272
+ look: 'select',
273
+ allowCreate: 'quick',
274
+ expose: [
275
+ { source: 'id', target: 'maritalStatus.id' },
276
+ { source: 'title', target: 'maritalStatus.title' },
277
+ ],
278
+ },
279
+ },
280
+ },
281
+ },
282
+ {
283
+ name: 'educationLevelId',
284
+ title: '@person-core:persons.entities.person.fields.education-level.title',
285
+ groupId: 'profile',
286
+ options: {
287
+ sort: { enabled: true },
288
+ filter: { advance: { enabled: true }, inline: { enabled: true } },
289
+ },
290
+ schema: {
291
+ dataType: 'string',
292
+ interface: {
293
+ type: AXPWidgetsList.Editors.LookupBox,
294
+ options: {
295
+ entity: `${RootConfig$1.module.name}.${RootConfig$1.entities.educationLevel.name}`,
296
+ valueField: 'id',
297
+ textField: 'title',
298
+ look: 'select',
299
+ allowCreate: 'quick',
300
+ expose: [
301
+ { source: 'id', target: 'educationLevel.id' },
302
+ { source: 'title', target: 'educationLevel.title' },
303
+ ],
304
+ },
305
+ },
306
+ },
307
+ },
308
+ {
309
+ name: 'phones',
310
+ title: '@person-core:persons.entities.person.groups.phones',
311
+ groupId: 'phones',
312
+ schema: {
313
+ defaultValue: [],
314
+ dataType: 'array',
315
+ interface: {
316
+ type: AXPWidgetsList.Layouts.RepeaterLayout,
317
+ options: { hasControls: true },
318
+ children: [...PHONES_REPEATER_CHILDREN],
319
+ },
320
+ },
321
+ },
322
+ {
323
+ name: 'emails',
324
+ title: '@person-core:persons.entities.person.groups.emails',
325
+ groupId: 'emails',
326
+ schema: {
327
+ defaultValue: [],
328
+ dataType: 'array',
329
+ interface: {
330
+ type: AXPWidgetsList.Layouts.RepeaterLayout,
331
+ options: { hasControls: true },
332
+ children: [...EMAILS_REPEATER_CHILDREN],
333
+ },
334
+ },
335
+ },
336
+ {
337
+ name: 'addresses',
338
+ title: '@person-core:persons.entities.person.groups.addresses',
339
+ groupId: 'addresses',
340
+ schema: {
341
+ defaultValue: [],
342
+ dataType: 'array',
343
+ interface: {
344
+ type: AXPWidgetsList.Layouts.RepeaterLayout,
345
+ options: { hasControls: true },
346
+ children: [...ADDRESSES_REPEATER_CHILDREN],
347
+ },
348
+ },
349
+ },
350
+ {
351
+ name: 'integrationRef',
352
+ title: '@person-core:persons.entities.person.fields.integration-ref.title',
353
+ groupId: 'profile',
354
+ schema: {
355
+ dataType: 'object',
356
+ visible: false,
357
+ nullable: true,
358
+ readonly: true,
359
+ },
360
+ },
361
+ ],
362
+ columns: [
363
+ { name: 'firstName', options: { width: '200px' } },
364
+ { name: 'lastName', options: { width: '200px' } },
365
+ {
366
+ name: 'fullName',
367
+ showAs: { type: AXPWidgetsCatalog.text, options: { visible: false } },
368
+ options: { width: '250px' },
369
+ },
370
+ { name: 'personTitleId', options: { dataPath: 'personTitle.title', visible: false } },
371
+ { name: 'phones', options: { width: '200px' } },
372
+ { name: 'emails', options: { width: '200px' } },
373
+ { name: 'addresses', options: { width: '250px' } },
374
+ { name: 'birthDate', options: { visible: false } },
375
+ { name: 'genderId', options: { dataPath: 'gender.title', visible: false } },
376
+ { name: 'identityNumber', options: { visible: false } },
377
+ { name: 'userId', options: { visible: false } },
378
+ { name: 'maritalStatusId', options: { dataPath: 'maritalStatus.title', visible: false } },
379
+ { name: 'educationLevelId', options: { dataPath: 'educationLevel.title', visible: false } },
380
+ ],
381
+ relatedEntities: [
382
+ {
383
+ entity: `${RootConfig$1.module.name}.${RootConfig$1.entities.personRelationship.name}`,
384
+ title: '@person-core:persons.entities.person.related-entities.relationships.title',
385
+ columns: ['toPersonId', 'typeId', 'toPerson.phones', 'toPerson.emails'],
386
+ conditions: [{ name: 'fromPersonId', operator: { type: 'equal' }, value: '{{ context.eval("id") }}' }],
387
+ persistence: {
388
+ foreignKeyField: 'fromPersonId',
389
+ kind: AXPRelationshipKind.Composition,
390
+ onDelete: null,
391
+ },
392
+ actions: [...entityDetailsCrudActions('fromPersonId')],
393
+ layout: { type: 'page-list', position: 'after', order: 1 },
394
+ },
395
+ ],
396
+ interfaces: {
397
+ master: {
398
+ create: {
399
+ sections: [
400
+ { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
401
+ { id: 'image', order: 2, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
402
+ { id: 'phones', order: 5, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },
403
+ { id: 'emails', order: 6, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },
404
+ { id: 'addresses', order: 7, layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },
405
+ ],
406
+ properties: [
407
+ { name: 'personTitleId', layout: { positions: { lg: { colSpan: 4, order: 0 } } } },
408
+ { name: 'firstName', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
409
+ { name: 'lastName', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
410
+ { name: 'genderId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
411
+ { name: 'birthDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
412
+ { name: 'identityNumber', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
413
+ { name: 'maritalStatusId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
414
+ { name: 'educationLevelId', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
415
+ { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },
416
+ { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
417
+ { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
418
+ { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
419
+ ],
420
+ quickCreate: {
421
+ enabled: true,
422
+ properties: ['firstName', 'lastName', 'code', 'phones', 'emails'],
423
+ },
424
+ },
425
+ update: {
426
+ sections: [
427
+ { id: 'profile', layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
428
+ { id: 'image', layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
429
+ { id: 'phones', layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },
430
+ { id: 'emails', layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },
431
+ { id: 'addresses', layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },
432
+ ],
433
+ properties: [
434
+ { name: 'personTitleId', layout: { positions: { lg: { colSpan: 4, order: 0 } } } },
435
+ { name: 'firstName', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
436
+ { name: 'lastName', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
437
+ { name: 'genderId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
438
+ { name: 'birthDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
439
+ { name: 'identityNumber', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
440
+ { name: 'maritalStatusId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
441
+ { name: 'educationLevelId', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
442
+ { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },
443
+ { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
444
+ { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
445
+ { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
446
+ ],
447
+ },
448
+ single: {
449
+ title: '{{ (context.eval("firstName") ) + " " + (context.eval("lastName") ) }}',
450
+ sections: [
451
+ { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },
452
+ { id: 'image', order: 2, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },
453
+ { id: 'phones', order: 5, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },
454
+ { id: 'emails', order: 6, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },
455
+ { id: 'addresses', order: 7, layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },
456
+ ],
457
+ properties: [
458
+ { name: 'personTitleId', layout: { positions: { lg: { colSpan: 4, order: 0 } } } },
459
+ { name: 'firstName', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },
460
+ { name: 'lastName', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },
461
+ { name: 'genderId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },
462
+ { name: 'birthDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },
463
+ { name: 'identityNumber', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },
464
+ { name: 'maritalStatusId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },
465
+ { name: 'educationLevelId', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },
466
+ { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },
467
+ { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
468
+ { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
469
+ { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },
470
+ ],
471
+ actions: [...entityMasterRecordActions()],
472
+ },
473
+ list: {
474
+ actions: [...entityMasterCrudActions()],
475
+ views: [
476
+ createAllQueryView({
477
+ sorts: [{ name: 'firstName', dir: 'asc' }],
478
+ }),
479
+ ],
480
+ },
481
+ },
482
+ },
483
+ };
484
+ return entityDef;
485
+ }
486
+ //#endregion
487
+
488
+ export { personFactory };
489
+ //# sourceMappingURL=acorex-platform-module-person-core-client-contracts-entity-catalog-person.entity-Bx2b-wa4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-person-core-client-contracts-entity-catalog-person.entity-Bx2b-wa4.mjs","sources":["../../../../libs/modules/person-core/contracts/src/entities/person/person.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { RootConfig as LocationRootConfig } from '@acorex-platform/module-location-management-client/contracts';\nimport { AXPRelationshipKind } from '@acorex-platform/framework-shared/domain';\nimport { AXPEntity, createAllQueryView, entityDetailsCrudActions, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Repeater Children ----\n\nconst PHONES_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.ContactBox,\n mode: 'edit' as const,\n options: { type: 'phone', placeholder: '@person-core:persons.entities.person.fields.phone.placeholder' },\n },\n];\n\nconst EMAILS_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.ContactBox,\n mode: 'edit' as const,\n options: { type: 'email', placeholder: '@person-core:persons.entities.person.fields.email.placeholder' },\n },\n];\n\nconst LOCATION_ROLE_ENTITY = `${LocationRootConfig.module.name}.${LocationRootConfig.entities.locationRole.name}`;\n\nconst ADDRESSES_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.AddressBox,\n mode: 'edit' as const,\n options: {\n mode: 'expandable',\n hasLabel: true,\n labelEntity: LOCATION_ROLE_ENTITY,\n },\n },\n];\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function personFactory(): Promise<AXPEntity> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.person.name,\n title: RootConfig.entities.person.title,\n icon: RootConfig.entities.person.icon,\n formats: {\n individual: RootConfig.entities.person.title,\n plural: RootConfig.entities.person.titlePlural,\n displayName: '@general:terms.common.profile',\n searchResult: {\n title: '{{ fullName }} ',\n description: '@person-core:persons.entities.person.search-result-description',\n },\n },\n plugins: [\n { name: 'history' },\n { name: 'archive' },\n {\n name: 'computed-property',\n options: {\n fields: [\n {\n name: 'fullName',\n title: '@general:terms.common.full-name',\n value: '{{ context.eval(\"firstName\") + \" \" + context.eval(\"lastName\") }}',\n group: { id: 'profile' },\n visible: false,\n showAs: { type: AXPWidgetsCatalog.text },\n },\n ],\n },\n },\n ],\n groups: [\n {\n id: 'profile',\n title: '@person-core:persons.entities.person.groups.profile',\n icon: 'fa-light fa-user',\n },\n {\n id: 'image',\n title: '@person-core:persons.entities.person.groups.image',\n icon: 'fa-light fa-image',\n },\n {\n id: 'phones',\n title: '@person-core:persons.entities.person.groups.phones',\n icon: 'fa-light fa-phone',\n },\n {\n id: 'emails',\n title: '@person-core:persons.entities.person.groups.emails',\n icon: 'fa-light fa-envelope',\n },\n {\n id: 'addresses',\n title: '@person-core:persons.entities.person.groups.addresses',\n icon: 'fa-light fa-location-dot',\n },\n ],\n properties: [\n {\n name: 'personTitleId',\n title: '@person-core:persons.entities.person.fields.person-title.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.personTitle.name}`,\n valueField: 'id',\n textField: 'title',\n look: 'select',\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: 'personTitle.id' },\n { source: 'title', target: 'personTitle.title' },\n ],\n },\n },\n },\n },\n {\n name: 'firstName',\n title: '@general:terms.contact.first-name',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'lastName',\n title: '@general:terms.contact.last-name',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'birthDate',\n title: '@person-core:persons.entities.person.fields.birth-date.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsCatalog.dateTime,\n options: { format: 'date' },\n },\n },\n },\n {\n name: 'image',\n title: '@person-core:persons.entities.person.groups.image',\n groupId: 'image',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Advanced.Image,\n options: {\n type: 'profile-photo',\n },\n },\n },\n },\n {\n name: 'genderId',\n title: '@person-core:persons.entities.person.fields.gender.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.gender.name}`,\n valueField: 'id',\n textField: 'title',\n look: 'select',\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: 'gender.id' },\n { source: 'title', target: 'gender.title' },\n ],\n },\n },\n },\n },\n {\n name: 'identityNumber',\n title: '@person-core:persons.entities.person.fields.identity-number.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@person-core:persons.entities.person.fields.identity-number.placeholder',\n },\n },\n },\n },\n {\n name: 'userId',\n title: '@person-core:persons.entities.person.fields.user.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'SecurityManagement.User',\n valueField: 'id',\n textField: 'displayName',\n look: 'select',\n expose: [\n { source: 'id', target: 'user.id' },\n { source: 'displayName', target: 'user.displayName' },\n ],\n },\n },\n },\n },\n {\n name: 'maritalStatusId',\n title: '@person-core:persons.entities.person.fields.marital-status.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.maritalStatus.name}`,\n valueField: 'id',\n textField: 'title',\n look: 'select',\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: 'maritalStatus.id' },\n { source: 'title', target: 'maritalStatus.title' },\n ],\n },\n },\n },\n },\n {\n name: 'educationLevelId',\n title: '@person-core:persons.entities.person.fields.education-level.title',\n groupId: 'profile',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.educationLevel.name}`,\n valueField: 'id',\n textField: 'title',\n look: 'select',\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: 'educationLevel.id' },\n { source: 'title', target: 'educationLevel.title' },\n ],\n },\n },\n },\n },\n {\n name: 'phones',\n title: '@person-core:persons.entities.person.groups.phones',\n groupId: 'phones',\n schema: {\n defaultValue: [],\n dataType: 'array',\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true },\n children: [...PHONES_REPEATER_CHILDREN],\n },\n },\n },\n {\n name: 'emails',\n title: '@person-core:persons.entities.person.groups.emails',\n groupId: 'emails',\n schema: {\n defaultValue: [],\n dataType: 'array',\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true },\n children: [...EMAILS_REPEATER_CHILDREN],\n },\n },\n },\n {\n name: 'addresses',\n title: '@person-core:persons.entities.person.groups.addresses',\n groupId: 'addresses',\n schema: {\n defaultValue: [],\n dataType: 'array',\n interface: {\n type: AXPWidgetsList.Layouts.RepeaterLayout,\n options: { hasControls: true },\n children: [...ADDRESSES_REPEATER_CHILDREN],\n },\n },\n },\n {\n name: 'integrationRef',\n title: '@person-core:persons.entities.person.fields.integration-ref.title',\n groupId: 'profile',\n schema: {\n dataType: 'object',\n visible: false,\n nullable: true,\n readonly: true,\n },\n },\n ],\n columns: [\n { name: 'firstName', options: { width: '200px' } },\n { name: 'lastName', options: { width: '200px' } },\n {\n name: 'fullName',\n showAs: { type: AXPWidgetsCatalog.text, options: { visible: false } },\n options: { width: '250px' },\n },\n { name: 'personTitleId', options: { dataPath: 'personTitle.title', visible: false } },\n { name: 'phones', options: { width: '200px' } },\n { name: 'emails', options: { width: '200px' } },\n { name: 'addresses', options: { width: '250px' } },\n { name: 'birthDate', options: { visible: false } },\n { name: 'genderId', options: { dataPath: 'gender.title', visible: false } },\n { name: 'identityNumber', options: { visible: false } },\n { name: 'userId', options: { visible: false } },\n { name: 'maritalStatusId', options: { dataPath: 'maritalStatus.title', visible: false } },\n { name: 'educationLevelId', options: { dataPath: 'educationLevel.title', visible: false } },\n ],\n relatedEntities: [\n {\n entity: `${RootConfig.module.name}.${RootConfig.entities.personRelationship.name}`,\n title: '@person-core:persons.entities.person.related-entities.relationships.title',\n columns: ['toPersonId', 'typeId', 'toPerson.phones', 'toPerson.emails'],\n conditions: [{ name: 'fromPersonId', operator: { type: 'equal' }, value: '{{ context.eval(\"id\") }}' }],\n persistence: {\n foreignKeyField: 'fromPersonId',\n kind: AXPRelationshipKind.Composition,\n onDelete: null,\n },\n actions: [...entityDetailsCrudActions('fromPersonId')],\n layout: { type: 'page-list', position: 'after', order: 1 },\n },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'image', order: 2, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'phones', order: 5, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },\n { id: 'emails', order: 6, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },\n { id: 'addresses', order: 7, layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },\n ],\n properties: [\n { name: 'personTitleId', layout: { positions: { lg: { colSpan: 4, order: 0 } } } },\n { name: 'firstName', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'lastName', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'genderId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'birthDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },\n { name: 'identityNumber', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },\n { name: 'maritalStatusId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'educationLevelId', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n ],\n quickCreate: {\n enabled: true,\n properties: ['firstName', 'lastName', 'code', 'phones', 'emails'],\n },\n },\n update: {\n sections: [\n { id: 'profile', layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'image', layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'phones', layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },\n { id: 'emails', layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },\n { id: 'addresses', layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },\n ],\n properties: [\n { name: 'personTitleId', layout: { positions: { lg: { colSpan: 4, order: 0 } } } },\n { name: 'firstName', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'lastName', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'genderId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'birthDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },\n { name: 'identityNumber', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },\n { name: 'maritalStatusId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'educationLevelId', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n ],\n },\n single: {\n title: '{{ (context.eval(\"firstName\") ) + \" \" + (context.eval(\"lastName\") ) }}',\n sections: [\n { id: 'profile', order: 1, layout: { positions: { lg: { colSpan: 8, colStart: 1 } } } },\n { id: 'image', order: 2, layout: { positions: { lg: { colSpan: 4, colStart: 9 } } } },\n { id: 'phones', order: 5, layout: { positions: { lg: { colSpan: 6, colStart: 1 } } } },\n { id: 'emails', order: 6, layout: { positions: { lg: { colSpan: 6, colStart: 7 } } } },\n { id: 'addresses', order: 7, layout: { positions: { lg: { colSpan: 12, colStart: 1 } } } },\n ],\n properties: [\n { name: 'personTitleId', layout: { positions: { lg: { colSpan: 4, order: 0 } } } },\n { name: 'firstName', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'lastName', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'genderId', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'birthDate', layout: { positions: { lg: { colSpan: 4, order: 4 } } } },\n { name: 'identityNumber', layout: { positions: { lg: { colSpan: 4, order: 5 } } } },\n { name: 'maritalStatusId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'educationLevelId', layout: { positions: { lg: { colSpan: 6, order: 7 } } } },\n { name: 'image', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 1 } } } },\n { name: 'phones', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n { name: 'emails', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n { name: 'addresses', layout: { label: { visible: false }, positions: { lg: { colSpan: 12, order: 0 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [\n createAllQueryView({\n sorts: [{ name: 'firstName', dir: 'asc' }],\n }),\n ],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":["LocationRootConfig","RootConfig"],"mappings":"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"}