@acorex-platform/module-human-capital-management-client 0.0.56 → 0.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/fesm2022/{acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs → acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs} +11 -11
  2. package/fesm2022/{acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs.map → acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs.map} +1 -1
  3. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employee.mjs +10 -15
  4. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employee.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employment-type.mjs +6 -1
  6. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employment-type.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-request.mjs +8 -0
  8. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-request.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-type.mjs +1 -0
  10. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-type.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-BfyBSWhl.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-G4FFIMvd.mjs} +8 -8
  12. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-BfyBSWhl.mjs.map → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-G4FFIMvd.mjs.map} +1 -1
  13. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-CmPHaE8E.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-DeQmRygb.mjs} +12 -17
  14. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-DeQmRygb.mjs.map +1 -0
  15. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-CjskJQbk.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-gkImBJNV.mjs} +8 -3
  16. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-gkImBJNV.mjs.map +1 -0
  17. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-iNPV_Bg-.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-D5MKVw7e.mjs} +10 -2
  18. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-D5MKVw7e.mjs.map +1 -0
  19. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-DwZOUYjX.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-BS1ln4HC.mjs} +3 -2
  20. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-BS1ln4HC.mjs.map +1 -0
  21. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-CzervtDB.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-Cj7_EEYt.mjs} +2 -2
  22. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-CzervtDB.mjs.map → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-Cj7_EEYt.mjs.map} +1 -1
  23. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-BBdsfSfU.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-DtIy06_8.mjs} +2 -2
  24. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-BBdsfSfU.mjs.map → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-DtIy06_8.mjs.map} +1 -1
  25. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-B4LtCcVL.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-NYvLlI_7.mjs} +2 -2
  26. package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-B4LtCcVL.mjs.map → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-NYvLlI_7.mjs.map} +1 -1
  27. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog.mjs +1 -1
  28. package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-personal-info.command-B6GjEK6C.mjs → acorex-platform-module-human-capital-management-client-edit-personal-info.command-Ddf1quqk.mjs} +2 -2
  29. package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-personal-info.command-B6GjEK6C.mjs.map → acorex-platform-module-human-capital-management-client-edit-personal-info.command-Ddf1quqk.mjs.map} +1 -1
  30. package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-signature.command-B-XH1P1-.mjs → acorex-platform-module-human-capital-management-client-edit-signature.command-CPHVtOwv.mjs} +2 -2
  31. package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-signature.command-B-XH1P1-.mjs.map → acorex-platform-module-human-capital-management-client-edit-signature.command-CPHVtOwv.mjs.map} +1 -1
  32. package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component-YvZyK6Y9.mjs → acorex-platform-module-human-capital-management-client-profile-documents-panel.component-BeHIU0Em.mjs} +2 -2
  33. package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component-YvZyK6Y9.mjs.map → acorex-platform-module-human-capital-management-client-profile-documents-panel.component-BeHIU0Em.mjs.map} +1 -1
  34. package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DkM1NHzm.mjs → acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DHamm55f.mjs} +3 -3
  35. package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DkM1NHzm.mjs.map → acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DHamm55f.mjs.map} +1 -1
  36. package/fesm2022/{acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-CkJjBkth.mjs → acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-Bm0LVRB9.mjs} +4 -1
  37. package/fesm2022/acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-Bm0LVRB9.mjs.map +1 -0
  38. package/fesm2022/{acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-CIHvo2QS.mjs → acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-aGyEvdvc.mjs} +4 -1
  39. package/fesm2022/acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-aGyEvdvc.mjs.map +1 -0
  40. package/fesm2022/acorex-platform-module-human-capital-management-client.mjs +1 -1
  41. package/package.json +2 -2
  42. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-CmPHaE8E.mjs.map +0 -1
  43. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-CjskJQbk.mjs.map +0 -1
  44. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-iNPV_Bg-.mjs.map +0 -1
  45. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-DwZOUYjX.mjs.map +0 -1
  46. package/fesm2022/acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-CkJjBkth.mjs.map +0 -1
  47. package/fesm2022/acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-CIHvo2QS.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-B4LtCcVL.mjs","sources":["../../../../libs/modules/human-capital-management/contracts/src/entities/position-assignment/position-assignment.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { AXPHumanCapitalManagementCommandKeys } from '../../commands.keys';\nimport { RootConfig } from '../../root-config';\n\nexport async function factoryPositionAssignment(): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.positionAssignment.name,\n icon: 'fa-light fa-user-tie-hair',\n searchTags: [\n 'position-assignment',\n 'position-assignments',\n 'job-assignment',\n 'org-chart',\n 'reporting-structure',\n 'employee-position',\n 'role-assignment',\n 'واگذاری سمت',\n 'واگذاری‌های سمت',\n 'سمت',\n 'کارمند',\n 'ساختار سازمانی',\n 'منابع انسانی',\n 'مدیریت منابع انسانی',\n ],\n plugins: [\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'human-capital-management.status.position-assignment',\n },\n },\n ],\n title: RootConfig.entities.positionAssignment.title,\n formats: {\n individual: RootConfig.entities.positionAssignment.title,\n plural: RootConfig.entities.positionAssignment.titlePlural,\n searchResult: { title: '{{ position.title }}', description: RootConfig.module.title },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'assignment',\n title: '@human-capital-management:position-assignments.entities.position-assignment.groups.assignment',\n },\n { id: 'period', title: '@general:terms.datetime.period' },\n { id: 'additional', title: '@general:terms.interface.additional-info' },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'assignment',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'employeeId',\n title: '@general:terms.people.employee',\n groupId: 'assignment',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `HumanCapitalManagement.Employee`,\n textField: 'person.fullName',\n valueField: 'id',\n columns: ['person.fullName', 'employeeCode'],\n expose: [\n { source: 'id', target: 'employee.id' },\n { source: 'person.fullName', target: 'employee.person.fullName' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'businessUnitId',\n title: '@organization-management:business-units.terms.individual-title',\n groupId: 'assignment',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `OrganizationManagement.BusinessUnit`,\n textField: 'title',\n valueField: 'id',\n look: 'lookup',\n columns: ['code', 'title', { name: 'positionIds', visible: false }],\n expose: [\n { source: 'id', target: 'businessUnit.id' },\n { source: 'title', target: 'businessUnit.title' },\n { source: 'positionIds', target: 'businessUnit.positionIds' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'positionId',\n title: '@general:terms.organizations.position',\n groupId: 'assignment',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `OrganizationManagement.Position`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n columns: ['title'],\n disabled: '{{ !context.eval(\"businessUnitId\") }}',\n expose: [\n { source: 'id', target: 'position.id' },\n { source: 'title', target: 'position.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'id',\n operator: { type: 'in' },\n value: '{{ context.eval(\"businessUnit.positionIds\") || [] }}',\n },\n ],\n },\n },\n triggers: [\n {\n event: \"{{ events.context('businessUnitId') }}\",\n action: `{{ widget.setValue(null); context.set('position.id', null); context.set('position.title', null); widget.refresh(); }}`,\n },\n ],\n },\n },\n validations: [{ rule: 'required' }],\n },\n\n {\n name: 'startDate',\n title: '@general:terms.datetime.start-date',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'endDate',\n title: '@general:terms.datetime.end-date',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'isPrimary',\n title: '@general:terms.status.states.is-primary',\n groupId: 'additional',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'boolean', interface: { type: AXPWidgetsCatalog.toggle } },\n },\n {\n name: 'notes',\n title: '@general:terms.common.notes',\n groupId: 'additional',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n ],\n columns: [\n { name: 'employeeId', options: { dataPath: 'employee.person.fullName' } },\n { name: 'businessUnitId', options: { dataPath: 'businessUnit.title' } },\n { name: 'positionId', options: { dataPath: 'position.title' } },\n { name: 'startDate' },\n { name: 'endDate' },\n { name: 'isPrimary' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'assignment' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'businessUnitId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isPrimary', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [{ id: 'assignment' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'businessUnitId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isPrimary', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: `{{position.title}}`,\n sections: [{ id: 'assignment' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'businessUnitId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isPrimary', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.revoke.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n },\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.assign.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Assign,\n },\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.revoke.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n },\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.revoke.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n },\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ...entityMasterCrudActions({ create: false, delete: false, view: true, edit: false }),\n ],\n views: [createAllQueryView({ sorts: [{ name: 'startDate', dir: 'desc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-NYvLlI_7.mjs","sources":["../../../../libs/modules/human-capital-management/contracts/src/entities/position-assignment/position-assignment.entity.ts"],"sourcesContent":["import { AXPWidgetsCatalog } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, AXPEntityCommandScope, createAllQueryView, entityMasterCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { AXPHumanCapitalManagementCommandKeys } from '../../commands.keys';\nimport { RootConfig } from '../../root-config';\n\nexport async function factoryPositionAssignment(): Promise<AXPEntity | null> {\n\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.positionAssignment.name,\n icon: 'fa-light fa-user-tie-hair',\n searchTags: [\n 'position-assignment',\n 'position-assignments',\n 'job-assignment',\n 'org-chart',\n 'reporting-structure',\n 'employee-position',\n 'role-assignment',\n 'واگذاری سمت',\n 'واگذاری‌های سمت',\n 'سمت',\n 'کارمند',\n 'ساختار سازمانی',\n 'منابع انسانی',\n 'مدیریت منابع انسانی',\n ],\n plugins: [\n { name: 'history' },\n { name: 'lock' },\n { name: 'compare' },\n {\n name: 'status',\n options: {\n field: 'statusId',\n definition: 'human-capital-management.status.position-assignment',\n },\n },\n ],\n title: RootConfig.entities.positionAssignment.title,\n formats: {\n individual: RootConfig.entities.positionAssignment.title,\n plural: RootConfig.entities.positionAssignment.titlePlural,\n searchResult: { title: '{{ position.title }}', description: RootConfig.module.title },\n },\n relatedEntities: [],\n groups: [\n {\n id: 'assignment',\n title: '@human-capital-management:position-assignments.entities.position-assignment.groups.assignment',\n },\n { id: 'period', title: '@general:terms.datetime.period' },\n { id: 'additional', title: '@general:terms.interface.additional-info' },\n ],\n properties: [\n {\n name: 'id',\n title: '@general:terms.common.id',\n groupId: 'assignment',\n schema: { dataType: 'uuid', visible: false, nullable: false, readonly: true, unique: { enabled: true } },\n },\n {\n name: 'employeeId',\n title: '@general:terms.people.employee',\n groupId: 'assignment',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `HumanCapitalManagement.Employee`,\n textField: 'person.fullName',\n valueField: 'id',\n columns: ['person.fullName', 'employeeCode'],\n expose: [\n { source: 'id', target: 'employee.id' },\n { source: 'person.fullName', target: 'employee.person.fullName' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'businessUnitId',\n title: '@organization-management:business-units.terms.individual-title',\n groupId: 'assignment',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'object',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `OrganizationManagement.BusinessUnit`,\n textField: 'title',\n valueField: 'id',\n look: 'lookup',\n columns: ['code', 'title', { name: 'positionIds', visible: false }],\n expose: [\n { source: 'id', target: 'businessUnit.id' },\n { source: 'title', target: 'businessUnit.title' },\n { source: 'positionIds', target: 'businessUnit.positionIds' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'positionId',\n title: '@general:terms.organizations.position',\n groupId: 'assignment',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsCatalog.lookup,\n options: {\n entity: `OrganizationManagement.Position`,\n textField: 'title',\n valueField: 'id',\n look: 'select',\n columns: ['title'],\n disabled: '{{ !context.eval(\"businessUnitId\") }}',\n expose: [\n { source: 'id', target: 'position.id' },\n { source: 'title', target: 'position.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'id',\n operator: { type: 'in' },\n value: '{{ context.eval(\"businessUnit.positionIds\") || [] }}',\n },\n ],\n },\n },\n triggers: [\n {\n event: \"{{ events.context('businessUnitId') }}\",\n action: `{{ widget.setValue(null); context.set('position.id', null); context.set('position.title', null); widget.refresh(); }}`,\n },\n ],\n },\n },\n validations: [{ rule: 'required' }],\n },\n\n {\n name: 'startDate',\n title: '@general:terms.datetime.start-date',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'endDate',\n title: '@general:terms.datetime.end-date',\n groupId: 'period',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'date', interface: { type: AXPWidgetsCatalog.dateTime } },\n },\n {\n name: 'isPrimary',\n title: '@general:terms.status.states.is-primary',\n groupId: 'additional',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: { dataType: 'boolean', interface: { type: AXPWidgetsCatalog.toggle } },\n },\n {\n name: 'notes',\n title: '@general:terms.common.notes',\n groupId: 'additional',\n schema: { dataType: 'string', interface: { type: AXPWidgetsCatalog.largeText } },\n },\n ],\n columns: [\n { name: 'employeeId', options: { dataPath: 'employee.person.fullName' } },\n { name: 'businessUnitId', options: { dataPath: 'businessUnit.title' } },\n { name: 'positionId', options: { dataPath: 'position.title' } },\n { name: 'startDate' },\n { name: 'endDate' },\n { name: 'isPrimary' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'assignment' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'businessUnitId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isPrimary', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n update: {\n sections: [{ id: 'assignment' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'businessUnitId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isPrimary', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n },\n single: {\n title: `{{position.title}}`,\n sections: [{ id: 'assignment' }, { id: 'period' }, { id: 'additional' }],\n properties: [\n { name: 'employeeId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'positionId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'businessUnitId', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'startDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'endDate', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'isPrimary', layout: { positions: { lg: { colSpan: 6 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n actions: [\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.revoke.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n },\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ],\n },\n list: {\n actions: [\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.assign.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Assign,\n },\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n },\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.revoke.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n },\n priority: 'primary',\n type: 'delete',\n scope: AXPEntityCommandScope.Selected,\n },\n {\n title: '@human-capital-management:position-assignments.entities.position-assignment.actions.revoke.title',\n command: {\n name: AXPHumanCapitalManagementCommandKeys.PositionAssignment.Revoke,\n },\n priority: 'secondary',\n type: 'delete',\n scope: AXPEntityCommandScope.Individual,\n },\n ...entityMasterCrudActions({ create: false, delete: false, view: true, edit: false }),\n ],\n views: [createAllQueryView({ sorts: [{ name: 'startDate', dir: 'desc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n"],"names":[],"mappings":";;;;;AAKO,eAAe,yBAAyB,GAAA;AAE7C,IAAA,MAAM,SAAS,GAAc;AAC3B,QAAA,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC9B,QAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI;AACjD,QAAA,IAAI,EAAE,2BAA2B;AACjC,QAAA,UAAU,EAAE;YACV,qBAAqB;YACrB,sBAAsB;YACtB,gBAAgB;YAChB,WAAW;YACX,qBAAqB;YACrB,mBAAmB;YACnB,iBAAiB;YACjB,aAAa;YACb,iBAAiB;YACjB,KAAK;YACL,QAAQ;YACR,gBAAgB;YAChB,cAAc;YACd,qBAAqB;AACtB,SAAA;AACD,QAAA,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,MAAM,EAAE;YAChB,EAAE,IAAI,EAAE,SAAS,EAAE;AACnB,YAAA;AACE,gBAAA,IAAI,EAAE,QAAQ;AACd,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,UAAU;AACjB,oBAAA,UAAU,EAAE,qDAAqD;AAClE,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK;AACnD,QAAA,OAAO,EAAE;AACP,YAAA,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK;AACxD,YAAA,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW;AAC1D,YAAA,YAAY,EAAE,EAAE,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE;AACtF,SAAA;AACD,QAAA,eAAe,EAAE,EAAE;AACnB,QAAA,MAAM,EAAE;AACN,YAAA;AACE,gBAAA,EAAE,EAAE,YAAY;AAChB,gBAAA,KAAK,EAAE,+FAA+F;AACvG,aAAA;AACD,YAAA,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,gCAAgC,EAAE;AACzD,YAAA,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,0CAA0C,EAAE;AACxE,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA;AACE,gBAAA,IAAI,EAAE,IAAI;AACV,gBAAA,KAAK,EAAE,0BAA0B;AACjC,gBAAA,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AACzG,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,KAAK,EAAE,gCAAgC;AACvC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAClE,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,wBAAA,OAAO,EAAE;AACP,4BAAA,MAAM,EAAE,CAAA,+BAAA,CAAiC;AACzC,4BAAA,SAAS,EAAE,iBAAiB;AAC5B,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,OAAO,EAAE,CAAC,iBAAiB,EAAE,cAAc,CAAC;AAC5C,4BAAA,MAAM,EAAE;AACN,gCAAA,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE;AACvC,gCAAA,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,0BAA0B,EAAE;AAClE,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,gBAAgB;AACtB,gBAAA,KAAK,EAAE,gEAAgE;AACvE,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAClE,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,wBAAA,OAAO,EAAE;AACP,4BAAA,MAAM,EAAE,CAAA,mCAAA,CAAqC;AAC7C,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,IAAI,EAAE,QAAQ;AACd,4BAAA,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACnE,4BAAA,MAAM,EAAE;AACN,gCAAA,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE;AAC3C,gCAAA,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE;AACjD,gCAAA,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,0BAA0B,EAAE;AAC9D,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,KAAK,EAAE,uCAAuC;AAC9C,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAClE,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,SAAS,EAAE;wBACT,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,wBAAA,OAAO,EAAE;AACP,4BAAA,MAAM,EAAE,CAAA,+BAAA,CAAiC;AACzC,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,UAAU,EAAE,IAAI;AAChB,4BAAA,IAAI,EAAE,QAAQ;4BACd,OAAO,EAAE,CAAC,OAAO,CAAC;AAClB,4BAAA,QAAQ,EAAE,uCAAuC;AACjD,4BAAA,MAAM,EAAE;AACN,gCAAA,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE;AACvC,gCAAA,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE;AAC9C,6BAAA;AACD,4BAAA,MAAM,EAAE;AACN,gCAAA,KAAK,EAAE,KAAK;AACZ,gCAAA,OAAO,EAAE;AACP,oCAAA;AACE,wCAAA,KAAK,EAAE,IAAI;AACX,wCAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;AACxB,wCAAA,KAAK,EAAE,sDAAsD;AAC9D,qCAAA;AACF,iCAAA;AACF,6BAAA;AACF,yBAAA;AACD,wBAAA,QAAQ,EAAE;AACR,4BAAA;AACE,gCAAA,KAAK,EAAE,wCAAwC;AAC/C,gCAAA,MAAM,EAAE,CAAA,qHAAA,CAAuH;AAChI,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,aAAA;AAED,YAAA;AACE,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,KAAK,EAAE,oCAAoC;AAC3C,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAClE,iBAAA;AACD,gBAAA,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,EAAE;AAC7E,gBAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,KAAK,EAAE,kCAAkC;AACzC,gBAAA,OAAO,EAAE,QAAQ;AACjB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAClE,iBAAA;AACD,gBAAA,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,EAAE;AAC9E,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,WAAW;AACjB,gBAAA,KAAK,EAAE,yCAAyC;AAChD,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,OAAO,EAAE;AACP,oBAAA,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;AACvB,oBAAA,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AAClE,iBAAA;AACD,gBAAA,MAAM,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,MAAM,EAAE,EAAE;AAC/E,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,KAAK,EAAE,6BAA6B;AACpC,gBAAA,OAAO,EAAE,YAAY;AACrB,gBAAA,MAAM,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,CAAC,SAAS,EAAE,EAAE;AACjF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,0BAA0B,EAAE,EAAE;YACzE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,EAAE;YACvE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE;YAC/D,EAAE,IAAI,EAAE,WAAW,EAAE;YACrB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,WAAW,EAAE;AACtB,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,MAAM,EAAE;AACN,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AACxE,oBAAA,UAAU,EAAE;AACV,wBAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACzE,wBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACrE,wBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AAClE,wBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAClE,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AACxE,oBAAA,UAAU,EAAE;AACV,wBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACrE,wBAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACzE,wBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AAClE,wBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAClE,qBAAA;AACF,iBAAA;AACD,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,CAAA,kBAAA,CAAoB;AAC3B,oBAAA,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;AACxE,oBAAA,UAAU,EAAE;AACV,wBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACrE,wBAAA,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACrE,wBAAA,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACzE,wBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AAClE,wBAAA,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE;AACpE,wBAAA,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;AAClE,qBAAA;AACD,oBAAA,OAAO,EAAE;AACP,wBAAA;AACE,4BAAA,KAAK,EAAE,kGAAkG;AACzG,4BAAA,OAAO,EAAE;AACP,gCAAA,IAAI,EAAE,oCAAoC,CAAC,kBAAkB,CAAC,MAAM;AACrE,6BAAA;AACD,4BAAA,QAAQ,EAAE,WAAW;AACrB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACxC,yBAAA;AACF,qBAAA;AACF,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE;AACP,wBAAA;AACE,4BAAA,KAAK,EAAE,kGAAkG;AACzG,4BAAA,OAAO,EAAE;AACP,gCAAA,IAAI,EAAE,oCAAoC,CAAC,kBAAkB,CAAC,MAAM;AACrE,6BAAA;AACD,4BAAA,QAAQ,EAAE,SAAS;AACnB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,SAAS;AACvC,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,kGAAkG;AACzG,4BAAA,OAAO,EAAE;AACP,gCAAA,IAAI,EAAE,oCAAoC,CAAC,kBAAkB,CAAC,MAAM;AACrE,6BAAA;AACD,4BAAA,QAAQ,EAAE,SAAS;AACnB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,QAAQ;AACtC,yBAAA;AACD,wBAAA;AACE,4BAAA,KAAK,EAAE,kGAAkG;AACzG,4BAAA,OAAO,EAAE;AACP,gCAAA,IAAI,EAAE,oCAAoC,CAAC,kBAAkB,CAAC,MAAM;AACrE,6BAAA;AACD,4BAAA,QAAQ,EAAE,WAAW;AACrB,4BAAA,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,qBAAqB,CAAC,UAAU;AACxC,yBAAA;AACD,wBAAA,GAAG,uBAAuB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;AACtF,qBAAA;oBACD,KAAK,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7E,iBAAA;AACF,aAAA;AACF,SAAA;KACF;AAED,IAAA,OAAO,SAAS;AAClB;;"}
@@ -1,2 +1,2 @@
1
- export { h as humanCapitalManagementLocalEntityCatalog } from './acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-BfyBSWhl.mjs';
1
+ export { h as humanCapitalManagementLocalEntityCatalog } from './acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-G4FFIMvd.mjs';
2
2
  //# sourceMappingURL=acorex-platform-module-human-capital-management-client-contracts-entity-catalog.mjs.map
@@ -7,7 +7,7 @@ import { AXPEntityService } from '@acorex-platform/framework-client/layout/entit
7
7
  import * as i0 from '@angular/core';
8
8
  import { inject, Injectable } from '@angular/core';
9
9
  import { trim, isNil, isEmpty, defaultTo, cloneDeep, isArray, isString, isObject } from 'lodash';
10
- import { A as AXMHcmProfileContextService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs';
10
+ import { A as AXMHcmProfileContextService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs';
11
11
  import { AXPUserProfileIdentityService } from '@acorex-platform/framework-client/auth';
12
12
  import { RootConfig } from '@acorex-platform/module-security-management-client/contracts';
13
13
 
@@ -330,4 +330,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
330
330
  }] });
331
331
 
332
332
  export { AXMHcmEditPersonalInfoCommand };
333
- //# sourceMappingURL=acorex-platform-module-human-capital-management-client-edit-personal-info.command-B6GjEK6C.mjs.map
333
+ //# sourceMappingURL=acorex-platform-module-human-capital-management-client-edit-personal-info.command-Ddf1quqk.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-personal-info.command-B6GjEK6C.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/sync-user-from-person.service.ts","../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/commands/edit-personal-info.command.ts"],"sourcesContent":["import { AXPUserProfileIdentityService } from '@acorex-platform/framework-client/auth';\nimport {RootConfig as SecurityManagementRootConfig} from '@acorex-platform/module-security-management-client/contracts';\nimport {AXMSecurityManagementUsersEntityModel} from '@acorex-platform/module-security-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { trim } from 'lodash';\n\n//#region ---- Sync payload ----\n\nexport interface AXMHcmSyncUserFromPersonInput {\n firstName: string;\n lastName: string;\n}\n\n//#endregion\n\n//#region ---- Sync user from person service ----\n\n/**\n * Keeps the application user record and session display fields aligned with person identity updates.\n * Avatar sync is handled server-side by HCM avatar middleware when Person.image changes.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMHcmSyncUserFromPersonService {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly identityService = inject(AXPUserProfileIdentityService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n async sync(userId: string, person: AXMHcmSyncUserFromPersonInput): Promise<void> {\n const displayName = trim(`${person.firstName} ${person.lastName}`);\n if (!displayName) {\n return;\n }\n\n const userData = this.entityService\n .withEntity(\n SecurityManagementRootConfig.module.name,\n SecurityManagementRootConfig.entities.users.name,\n )\n .data<string, AXMSecurityManagementUsersEntityModel>();\n\n await userData.update(userId, { displayName });\n\n await this.identityService.applySessionPatch({\n title: displayName,\n });\n }\n\n //#endregion\n}\n\n//#endregion\n","import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport type { AXPopupSizeType } from '@acorex/components/popup';\n\nimport {RootConfig as PersonCoreRootConfig} from '@acorex-platform/module-person-core-client/contracts'\nimport {AXMPersonCorePersonEntityModel} from '@acorex-platform/module-person-core-client/contracts';\n\nimport {\n AXPLayoutBuilderService,\n resolveLayoutBuilderDialogResult,\n type LookupBoxOptions,\n} from '@acorex-platform/framework-client/layout/builder';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { inject, Injectable } from '@angular/core';\nimport { cloneDeep, defaultTo, isArray, isEmpty, isNil, isObject, isString, trim } from 'lodash';\n\nimport { AXMHcmProfileContextService } from '../profile-context.service';\nimport { AXMHcmSyncUserFromPersonService } from '../sync-user-from-person.service';\n\n//#region ---- Repeater children (aligned with Person entity) ----\n\nconst PHONES_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.ContactBox,\n mode: 'edit' as const,\n options: {\n type: 'phone',\n placeholder: '@person-core:persons.entities.person.fields.phone.placeholder',\n },\n },\n];\n\nconst EMAILS_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.ContactBox,\n mode: 'edit' as const,\n options: {\n type: 'email',\n placeholder: '@person-core:persons.entities.person.fields.email.placeholder',\n },\n },\n];\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst PERSON_CORE_MODULE = PersonCoreRootConfig.module.name;\n\n//#endregion\n\n//#region ---- Form context ----\n\ninterface AXMHcmEditPersonalInfoFormContext {\n personTitleId?: string;\n personTitle?: { id: string; title?: unknown };\n firstName: string;\n lastName: string;\n birthDate?: string;\n genderId?: string;\n gender?: { id: string; title?: unknown };\n identityNumber?: string;\n maritalStatusId?: string;\n maritalStatus?: { id: string; title?: unknown };\n educationLevelId?: string;\n educationLevel?: { id: string; title?: unknown };\n phones: Array<{ value: string; label?: string }>;\n emails: Array<{ value: string; label?: string }>;\n}\n\n//#endregion\n\n//#region ---- Edit personal info command ----\n\n/** Opens a self-service dialog to update the linked person record and sync user display fields. */\n@Injectable({ providedIn: 'root' })\nexport class AXMHcmEditPersonalInfoCommand implements AXPCommand {\n //#region ---- Services & Dependencies ----\n\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly entityService = inject(AXPEntityService);\n private readonly profileContextService = inject(AXMHcmProfileContextService);\n private readonly syncUserService = inject(AXMHcmSyncUserFromPersonService);\n private readonly toastService = inject(AXToastService);\n private readonly translateService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(): AXPCommandExecuteResultPromise<void> {\n const profileContext = await this.profileContextService.resolve();\n if (isNil(profileContext)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.no-employee',\n ),\n },\n };\n }\n\n const personData = this.entityService\n .withEntity(PersonCoreRootConfig.module.name, PersonCoreRootConfig.entities.person.name)\n .data<string, AXMPersonCorePersonEntityModel>();\n\n const person = await personData.byKey(profileContext.personId);\n if (isNil(person)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.person-not-found',\n ),\n },\n };\n }\n\n const dialogTitle = await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.dialog.title',\n );\n\n const result = await this.layoutBuilder\n .create()\n .dialog<AXPRuntimeCommandResult<void> | null>((dialog) => {\n dialog\n .setTitle(dialogTitle)\n .setSize(this.resolveDialogSize())\n .setCloseButton(true)\n .setContext(this.buildFormContext(person))\n .content((layout) => {\n layout.mode('edit');\n layout.flex((flex) => {\n flex.setDirection('column').setGap('1rem');\n\n flex.fieldset((profileSection) => {\n profileSection\n .setLook('fieldset')\n .setTitle('@person-core:persons.entities.person.groups.profile')\n .setCols(12)\n .formField('@person-core:persons.entities.person.fields.person-title.title', (field) => {\n field.path('personTitleId');\n field.layout({ positions: { lg: { colSpan: 4, order: 0 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('personTitle', 'personTitle'));\n })\n .formField('@general:terms.contact.first-name', (field) => {\n field.path('firstName');\n field.layout({ positions: { lg: { colSpan: 4, order: 1 } } });\n field.textBox({\n placeholder: '@general:terms.contact.first-name',\n validations: [{ rule: 'required' }],\n });\n })\n .formField('@general:terms.contact.last-name', (field) => {\n field.path('lastName');\n field.layout({ positions: { lg: { colSpan: 4, order: 2 } } });\n field.textBox({\n placeholder: '@general:terms.contact.last-name',\n validations: [{ rule: 'required' }],\n });\n })\n .formField('@person-core:persons.entities.person.fields.birth-date.title', (field) => {\n field.path('birthDate');\n field.layout({ positions: { lg: { colSpan: 4, order: 3 } } });\n field.dateTimeBox({ format: 'date' });\n })\n .formField('@person-core:persons.entities.person.fields.gender.title', (field) => {\n field.path('genderId');\n field.layout({ positions: { lg: { colSpan: 4, order: 4 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('gender', 'gender'));\n })\n .formField('@person-core:persons.entities.person.fields.identity-number.title', (field) => {\n field.path('identityNumber');\n field.layout({ positions: { lg: { colSpan: 4, order: 5 } } });\n field.textBox({\n placeholder: '@person-core:persons.entities.person.fields.identity-number.placeholder',\n });\n })\n .formField('@person-core:persons.entities.person.fields.marital-status.title', (field) => {\n field.path('maritalStatusId');\n field.layout({ positions: { lg: { colSpan: 6, order: 6 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('maritalStatus', 'maritalStatus'));\n })\n .formField('@person-core:persons.entities.person.fields.education-level.title', (field) => {\n field.path('educationLevelId');\n field.layout({ positions: { lg: { colSpan: 6, order: 7 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('educationLevel', 'educationLevel'));\n });\n });\n\n flex.fieldset((phonesSection) => {\n phonesSection\n .setLook('fieldset')\n .setTitle('@person-core:persons.entities.person.groups.phones')\n .setCols(1)\n .formField('@person-core:persons.entities.person.groups.phones', (field) => {\n field.path('phones');\n field.setShowLabel(false);\n field.customWidget(AXPWidgetsList.Layouts.RepeaterLayout, {\n hasControls: true,\n children: PHONES_REPEATER_CHILDREN,\n });\n });\n });\n\n flex.fieldset((emailsSection) => {\n emailsSection\n .setLook('fieldset')\n .setTitle('@person-core:persons.entities.person.groups.emails')\n .setCols(1)\n .formField('@person-core:persons.entities.person.groups.emails', (field) => {\n field.path('emails');\n field.setShowLabel(false);\n field.customWidget(AXPWidgetsList.Layouts.RepeaterLayout, {\n hasControls: true,\n children: EMAILS_REPEATER_CHILDREN,\n });\n });\n });\n });\n })\n .setActions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.save.title');\n })\n .onAction(async (dialogRef) => {\n if (dialogRef.action() === 'cancel') {\n return null;\n }\n\n const form = dialogRef.context() as AXMHcmEditPersonalInfoFormContext;\n const firstName = trim(form.firstName);\n const lastName = trim(form.lastName);\n\n if (isEmpty(firstName) || isEmpty(lastName)) {\n throw new Error(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.required-name',\n );\n }\n\n dialogRef.setLoading(true);\n try {\n const phones = this.normalizeContactItems(form.phones);\n const emails = this.normalizeContactItems(form.emails);\n const identityNumber = trim(defaultTo(form.identityNumber, ''));\n\n await personData.update(profileContext.personId, {\n personTitleId: form.personTitleId,\n firstName,\n lastName,\n birthDate: form.birthDate,\n genderId: form.genderId,\n identityNumber: isEmpty(identityNumber) ? undefined : identityNumber,\n maritalStatusId: form.maritalStatusId,\n educationLevelId: form.educationLevelId,\n phones,\n emails,\n });\n\n await this.syncUserService.sync(profileContext.userId, {\n firstName,\n lastName,\n });\n\n const successTitle = await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.success',\n );\n this.toastService.show({ color: 'success', title: successTitle });\n return { success: true, kind: 'object', data: undefined };\n } finally {\n dialogRef.setLoading(false);\n }\n });\n })\n .show();\n\n const commandResult = resolveLayoutBuilderDialogResult<AXPRuntimeCommandResult<void>>(result);\n if (!commandResult) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n return commandResult;\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n /** Desktop widths (including 1440) need lg for the 3-column profile grid; smaller viewports use xl. */\n private resolveDialogSize(): AXPopupSizeType {\n const width = window.innerWidth;\n if (width <= 1024) {\n return 'xl';\n }\n\n return 'lg';\n }\n\n private buildFormContext(person: AXMPersonCorePersonEntityModel): AXMHcmEditPersonalInfoFormContext {\n return {\n personTitleId: person.personTitleId,\n personTitle: cloneDeep(person.personTitle),\n firstName: defaultTo(person.firstName, ''),\n lastName: defaultTo(person.lastName, ''),\n birthDate: person.birthDate,\n genderId: person.genderId,\n gender: cloneDeep(person.gender),\n identityNumber: defaultTo(person.identityNumber, ''),\n maritalStatusId: person.maritalStatusId,\n maritalStatus: cloneDeep(person.maritalStatus),\n educationLevelId: person.educationLevelId,\n educationLevel: cloneDeep(person.educationLevel),\n phones: cloneDeep(defaultTo(person.phones, [])),\n emails: cloneDeep(defaultTo(person.emails, [])),\n };\n }\n\n /** Lookup options aligned with Person entity profile catalogs (quick-create enabled). */\n private buildPersonCatalogLookupOptions(\n entityKey: 'personTitle' | 'gender' | 'maritalStatus' | 'educationLevel',\n exposeTarget: 'personTitle' | 'gender' | 'maritalStatus' | 'educationLevel',\n ): Omit<LookupBoxOptions, 'path'> {\n return {\n entity: `${PERSON_CORE_MODULE}.${PersonCoreRootConfig.entities[entityKey].name}`,\n valueField: 'id',\n textField: 'title',\n look: 'select',\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: `${exposeTarget}.id` },\n { source: 'title', target: `${exposeTarget}.title` },\n ],\n } as Omit<LookupBoxOptions, 'path'>;\n }\n\n /** Normalizes repeater contact rows to `{ value: string }[]`, matching Person entity storage. */\n private normalizeContactItems(items: unknown): Array<{ value: string }> {\n if (!isArray(items)) {\n return [];\n }\n\n return items\n .map((entry) => this.normalizeContactEntry(entry))\n .filter((entry) => !isEmpty(entry.value));\n }\n\n private normalizeContactEntry(entry: unknown): { value: string } {\n if (isString(entry)) {\n return { value: trim(entry) };\n }\n\n if (!isObject(entry) || isNil(entry)) {\n return { value: '' };\n }\n\n const record = entry as { value?: unknown; label?: string };\n const inner = record.value;\n\n if (isObject(inner) && !isNil(inner) && 'value' in inner) {\n const nested = inner as { value?: unknown };\n return { value: trim(String(nested.value ?? '')) };\n }\n\n return { value: trim(String(record.value ?? '')) };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":["SecurityManagementRootConfig","PersonCoreRootConfig"],"mappings":";;;;;;;;;;;;;AAcA;AAEA;AAEA;;;AAGG;MAEU,+BAA+B,CAAA;AAD5C,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,6BAA6B,CAAC;AA2BzE,IAAA;;;AArBC,IAAA,MAAM,IAAI,CAAC,MAAc,EAAE,MAAqC,EAAA;AAC9D,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAA,CAAA,EAAI,MAAM,CAAC,QAAQ,CAAA,CAAE,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE;YAChB;QACF;AAEA,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC;AACnB,aAAA,UAAU,CACTA,UAA4B,CAAC,MAAM,CAAC,IAAI,EACxCA,UAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AAEjD,aAAA,IAAI,EAAiD;QAExD,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC;AAE9C,QAAA,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;AAC3C,YAAA,KAAK,EAAE,WAAW;AACnB,SAAA,CAAC;IACJ;8GA5BW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,+BAA+B,cADlB,MAAM,EAAA,CAAA,CAAA;;2FACnB,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACAlC;AAEA,MAAM,wBAAwB,GAAG;AAC/B,IAAA;AACE,QAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU;AACvC,QAAA,IAAI,EAAE,MAAe;AACrB,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,WAAW,EAAE,+DAA+D;AAC7E,SAAA;AACF,KAAA;CACF;AAED,MAAM,wBAAwB,GAAG;AAC/B,IAAA;AACE,QAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,UAAU;AACvC,QAAA,IAAI,EAAE,MAAe;AACrB,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,WAAW,EAAE,+DAA+D;AAC7E,SAAA;AACF,KAAA;CACF;AAED;AAEA;AAEA,MAAM,kBAAkB,GAAGC,YAAoB,CAAC,MAAM,CAAC,IAAI;AAuB3D;AAEA;AAEA;MAEa,6BAA6B,CAAA;AAD1C,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAC/C,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,qBAAqB,GAAG,MAAM,CAAC,2BAA2B,CAAC;AAC3D,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,+BAA+B,CAAC;AACzD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AA4RjE,IAAA;;;AAtRC,IAAA,MAAM,OAAO,GAAA;QACX,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE;AACjE,QAAA,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;YACzB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC9C,yFAAyF,CAC1F;AACF,iBAAA;aACF;QACH;AAEA,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC;AACrB,aAAA,UAAU,CAACA,YAAoB,CAAC,MAAM,CAAC,IAAI,EAAEA,YAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;AACtF,aAAA,IAAI,EAA0C;QAEjD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;AAC9D,QAAA,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE;YACjB,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC9C,8FAA8F,CAC/F;AACF,iBAAA;aACF;QACH;QAEA,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC5D,iFAAiF,CAClF;AAED,QAAA,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;AACvB,aAAA,MAAM;AACN,aAAA,MAAM,CAAuC,CAAC,MAAM,KAAI;YACvD;iBACG,QAAQ,CAAC,WAAW;AACpB,iBAAA,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;iBAChC,cAAc,CAAC,IAAI;AACnB,iBAAA,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;AACxC,iBAAA,OAAO,CAAC,CAAC,MAAM,KAAI;AAClB,gBAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACnB,gBAAA,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,KAAI;oBACnB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;AAE1C,oBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,cAAc,KAAI;wBAC/B;6BACG,OAAO,CAAC,UAAU;6BAClB,QAAQ,CAAC,qDAAqD;6BAC9D,OAAO,CAAC,EAAE;AACV,6BAAA,SAAS,CAAC,gEAAgE,EAAE,CAAC,KAAK,KAAI;AACrF,4BAAA,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;4BAC3B,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7D,4BAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AACrF,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,mCAAmC,EAAE,CAAC,KAAK,KAAI;AACxD,4BAAA,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;4BACvB,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;4BAC7D,KAAK,CAAC,OAAO,CAAC;AACZ,gCAAA,WAAW,EAAE,mCAAmC;AAChD,gCAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,6BAAA,CAAC;AACJ,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,kCAAkC,EAAE,CAAC,KAAK,KAAI;AACvD,4BAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;4BACtB,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;4BAC7D,KAAK,CAAC,OAAO,CAAC;AACZ,gCAAA,WAAW,EAAE,kCAAkC;AAC/C,gCAAA,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AACpC,6BAAA,CAAC;AACJ,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,8DAA8D,EAAE,CAAC,KAAK,KAAI;AACnF,4BAAA,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;4BACvB,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;4BAC7D,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACvC,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,0DAA0D,EAAE,CAAC,KAAK,KAAI;AAC/E,4BAAA,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;4BACtB,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7D,4BAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC3E,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,mEAAmE,EAAE,CAAC,KAAK,KAAI;AACxF,4BAAA,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;4BAC5B,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;4BAC7D,KAAK,CAAC,OAAO,CAAC;AACZ,gCAAA,WAAW,EAAE,yEAAyE;AACvF,6BAAA,CAAC;AACJ,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,kEAAkE,EAAE,CAAC,KAAK,KAAI;AACvF,4BAAA,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;4BAC7B,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7D,4BAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;AACzF,wBAAA,CAAC;AACA,6BAAA,SAAS,CAAC,mEAAmE,EAAE,CAAC,KAAK,KAAI;AACxF,4BAAA,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;4BAC9B,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AAC7D,4BAAA,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,+BAA+B,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAC3F,wBAAA,CAAC,CAAC;AACN,oBAAA,CAAC,CAAC;AAEF,oBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,KAAI;wBAC9B;6BACG,OAAO,CAAC,UAAU;6BAClB,QAAQ,CAAC,oDAAoD;6BAC7D,OAAO,CAAC,CAAC;AACT,6BAAA,SAAS,CAAC,oDAAoD,EAAE,CAAC,KAAK,KAAI;AACzE,4BAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpB,4BAAA,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;4BACzB,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE;AACxD,gCAAA,WAAW,EAAE,IAAI;AACjB,gCAAA,QAAQ,EAAE,wBAAwB;AACnC,6BAAA,CAAC;AACJ,wBAAA,CAAC,CAAC;AACN,oBAAA,CAAC,CAAC;AAEF,oBAAA,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,KAAI;wBAC9B;6BACG,OAAO,CAAC,UAAU;6BAClB,QAAQ,CAAC,oDAAoD;6BAC7D,OAAO,CAAC,CAAC;AACT,6BAAA,SAAS,CAAC,oDAAoD,EAAE,CAAC,KAAK,KAAI;AACzE,4BAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpB,4BAAA,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC;4BACzB,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE;AACxD,gCAAA,WAAW,EAAE,IAAI;AACjB,gCAAA,QAAQ,EAAE,wBAAwB;AACnC,6BAAA,CAAC;AACJ,wBAAA,CAAC,CAAC;AACN,oBAAA,CAAC,CAAC;AACJ,gBAAA,CAAC,CAAC;AACJ,YAAA,CAAC;AACA,iBAAA,UAAU,CAAC,CAAC,OAAO,KAAI;AACtB,gBAAA,OAAO,CAAC,MAAM,CAAC,+BAA+B,CAAC;AAC/C,gBAAA,OAAO,CAAC,MAAM,CAAC,6BAA6B,CAAC;AAC/C,YAAA,CAAC;AACA,iBAAA,QAAQ,CAAC,OAAO,SAAS,KAAI;AAC5B,gBAAA,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,QAAQ,EAAE;AACnC,oBAAA,OAAO,IAAI;gBACb;AAEA,gBAAA,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAuC;gBACrE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAEpC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;AAC3C,oBAAA,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F;gBACH;AAEA,gBAAA,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;AAC1B,gBAAA,IAAI;oBACF,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;AACtD,oBAAA,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAE/D,oBAAA,MAAM,UAAU,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE;wBAC/C,aAAa,EAAE,IAAI,CAAC,aAAa;wBACjC,SAAS;wBACT,QAAQ;wBACR,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,wBAAA,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,cAAc;wBACpE,eAAe,EAAE,IAAI,CAAC,eAAe;wBACrC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;wBACvC,MAAM;wBACN,MAAM;AACP,qBAAA,CAAC;oBAEF,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;wBACrD,SAAS;wBACT,QAAQ;AACT,qBAAA,CAAC;oBAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAC7D,qFAAqF,CACtF;AACD,oBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;AACjE,oBAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC3D;wBAAU;AACR,oBAAA,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;gBAC7B;AACF,YAAA,CAAC,CAAC;AACN,QAAA,CAAC;AACA,aAAA,IAAI,EAAE;AAET,QAAA,MAAM,aAAa,GAAG,gCAAgC,CAAgC,MAAM,CAAC;QAC7F,IAAI,CAAC,aAAa,EAAE;AAClB,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;AAEA,QAAA,OAAO,aAAa;IACtB;;;;IAOQ,iBAAiB,GAAA;AACvB,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU;AAC/B,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,IAAI;QACb;AAEA,QAAA,OAAO,IAAI;IACb;AAEQ,IAAA,gBAAgB,CAAC,MAAsC,EAAA;QAC7D,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;AACnC,YAAA,WAAW,EAAE,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;YAC1C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1C,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;YACxC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;AACzB,YAAA,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;YAChC,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;YACpD,eAAe,EAAE,MAAM,CAAC,eAAe;AACvC,YAAA,aAAa,EAAE,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;AACzC,YAAA,cAAc,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC;YAChD,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC/C,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;SAChD;IACH;;IAGQ,+BAA+B,CACrC,SAAwE,EACxE,YAA2E,EAAA;QAE3E,OAAO;AACL,YAAA,MAAM,EAAE,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAIA,YAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAA,CAAE;AAChF,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,SAAS,EAAE,OAAO;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,WAAW,EAAE,OAAO;AACpB,YAAA,MAAM,EAAE;gBACN,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA,EAAG,YAAY,CAAA,GAAA,CAAK,EAAE;gBAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA,EAAG,YAAY,CAAA,MAAA,CAAQ,EAAE;AACrD,aAAA;SACgC;IACrC;;AAGQ,IAAA,qBAAqB,CAAC,KAAc,EAAA;AAC1C,QAAA,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,OAAO,EAAE;QACX;AAEA,QAAA,OAAO;AACJ,aAAA,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;AAChD,aAAA,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7C;AAEQ,IAAA,qBAAqB,CAAC,KAAc,EAAA;AAC1C,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;QAC/B;QAEA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;AACpC,YAAA,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE;QACtB;QAEA,MAAM,MAAM,GAAG,KAA4C;AAC3D,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;AAE1B,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,EAAE;YACxD,MAAM,MAAM,GAAG,KAA4B;AAC3C,YAAA,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE;QACpD;AAEA,QAAA,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE;IACpD;8GAjSW,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cADhB,MAAM,EAAA,CAAA,CAAA;;2FACnB,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-personal-info.command-Ddf1quqk.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/sync-user-from-person.service.ts","../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/commands/edit-personal-info.command.ts"],"sourcesContent":["import { AXPUserProfileIdentityService } from '@acorex-platform/framework-client/auth';\nimport {RootConfig as SecurityManagementRootConfig} from '@acorex-platform/module-security-management-client/contracts';\nimport {AXMSecurityManagementUsersEntityModel} from '@acorex-platform/module-security-management-client/contracts';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { Injectable, inject } from '@angular/core';\nimport { trim } from 'lodash';\n\n//#region ---- Sync payload ----\n\nexport interface AXMHcmSyncUserFromPersonInput {\n firstName: string;\n lastName: string;\n}\n\n//#endregion\n\n//#region ---- Sync user from person service ----\n\n/**\n * Keeps the application user record and session display fields aligned with person identity updates.\n * Avatar sync is handled server-side by HCM avatar middleware when Person.image changes.\n */\n@Injectable({ providedIn: 'root' })\nexport class AXMHcmSyncUserFromPersonService {\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly identityService = inject(AXPUserProfileIdentityService);\n\n //#endregion\n\n //#region ---- Public API ----\n\n async sync(userId: string, person: AXMHcmSyncUserFromPersonInput): Promise<void> {\n const displayName = trim(`${person.firstName} ${person.lastName}`);\n if (!displayName) {\n return;\n }\n\n const userData = this.entityService\n .withEntity(\n SecurityManagementRootConfig.module.name,\n SecurityManagementRootConfig.entities.users.name,\n )\n .data<string, AXMSecurityManagementUsersEntityModel>();\n\n await userData.update(userId, { displayName });\n\n await this.identityService.applySessionPatch({\n title: displayName,\n });\n }\n\n //#endregion\n}\n\n//#endregion\n","import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPRuntimeCommandResult, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport type { AXPopupSizeType } from '@acorex/components/popup';\n\nimport {RootConfig as PersonCoreRootConfig} from '@acorex-platform/module-person-core-client/contracts'\nimport {AXMPersonCorePersonEntityModel} from '@acorex-platform/module-person-core-client/contracts';\n\nimport {\n AXPLayoutBuilderService,\n resolveLayoutBuilderDialogResult,\n type LookupBoxOptions,\n} from '@acorex-platform/framework-client/layout/builder';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { inject, Injectable } from '@angular/core';\nimport { cloneDeep, defaultTo, isArray, isEmpty, isNil, isObject, isString, trim } from 'lodash';\n\nimport { AXMHcmProfileContextService } from '../profile-context.service';\nimport { AXMHcmSyncUserFromPersonService } from '../sync-user-from-person.service';\n\n//#region ---- Repeater children (aligned with Person entity) ----\n\nconst PHONES_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.ContactBox,\n mode: 'edit' as const,\n options: {\n type: 'phone',\n placeholder: '@person-core:persons.entities.person.fields.phone.placeholder',\n },\n },\n];\n\nconst EMAILS_REPEATER_CHILDREN = [\n {\n type: AXPWidgetsList.Editors.ContactBox,\n mode: 'edit' as const,\n options: {\n type: 'email',\n placeholder: '@person-core:persons.entities.person.fields.email.placeholder',\n },\n },\n];\n\n//#endregion\n\n//#region ---- Constants ----\n\nconst PERSON_CORE_MODULE = PersonCoreRootConfig.module.name;\n\n//#endregion\n\n//#region ---- Form context ----\n\ninterface AXMHcmEditPersonalInfoFormContext {\n personTitleId?: string;\n personTitle?: { id: string; title?: unknown };\n firstName: string;\n lastName: string;\n birthDate?: string;\n genderId?: string;\n gender?: { id: string; title?: unknown };\n identityNumber?: string;\n maritalStatusId?: string;\n maritalStatus?: { id: string; title?: unknown };\n educationLevelId?: string;\n educationLevel?: { id: string; title?: unknown };\n phones: Array<{ value: string; label?: string }>;\n emails: Array<{ value: string; label?: string }>;\n}\n\n//#endregion\n\n//#region ---- Edit personal info command ----\n\n/** Opens a self-service dialog to update the linked person record and sync user display fields. */\n@Injectable({ providedIn: 'root' })\nexport class AXMHcmEditPersonalInfoCommand implements AXPCommand {\n //#region ---- Services & Dependencies ----\n\n private readonly layoutBuilder = inject(AXPLayoutBuilderService);\n private readonly entityService = inject(AXPEntityService);\n private readonly profileContextService = inject(AXMHcmProfileContextService);\n private readonly syncUserService = inject(AXMHcmSyncUserFromPersonService);\n private readonly toastService = inject(AXToastService);\n private readonly translateService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(): AXPCommandExecuteResultPromise<void> {\n const profileContext = await this.profileContextService.resolve();\n if (isNil(profileContext)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.no-employee',\n ),\n },\n };\n }\n\n const personData = this.entityService\n .withEntity(PersonCoreRootConfig.module.name, PersonCoreRootConfig.entities.person.name)\n .data<string, AXMPersonCorePersonEntityModel>();\n\n const person = await personData.byKey(profileContext.personId);\n if (isNil(person)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.person-not-found',\n ),\n },\n };\n }\n\n const dialogTitle = await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.dialog.title',\n );\n\n const result = await this.layoutBuilder\n .create()\n .dialog<AXPRuntimeCommandResult<void> | null>((dialog) => {\n dialog\n .setTitle(dialogTitle)\n .setSize(this.resolveDialogSize())\n .setCloseButton(true)\n .setContext(this.buildFormContext(person))\n .content((layout) => {\n layout.mode('edit');\n layout.flex((flex) => {\n flex.setDirection('column').setGap('1rem');\n\n flex.fieldset((profileSection) => {\n profileSection\n .setLook('fieldset')\n .setTitle('@person-core:persons.entities.person.groups.profile')\n .setCols(12)\n .formField('@person-core:persons.entities.person.fields.person-title.title', (field) => {\n field.path('personTitleId');\n field.layout({ positions: { lg: { colSpan: 4, order: 0 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('personTitle', 'personTitle'));\n })\n .formField('@general:terms.contact.first-name', (field) => {\n field.path('firstName');\n field.layout({ positions: { lg: { colSpan: 4, order: 1 } } });\n field.textBox({\n placeholder: '@general:terms.contact.first-name',\n validations: [{ rule: 'required' }],\n });\n })\n .formField('@general:terms.contact.last-name', (field) => {\n field.path('lastName');\n field.layout({ positions: { lg: { colSpan: 4, order: 2 } } });\n field.textBox({\n placeholder: '@general:terms.contact.last-name',\n validations: [{ rule: 'required' }],\n });\n })\n .formField('@person-core:persons.entities.person.fields.birth-date.title', (field) => {\n field.path('birthDate');\n field.layout({ positions: { lg: { colSpan: 4, order: 3 } } });\n field.dateTimeBox({ format: 'date' });\n })\n .formField('@person-core:persons.entities.person.fields.gender.title', (field) => {\n field.path('genderId');\n field.layout({ positions: { lg: { colSpan: 4, order: 4 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('gender', 'gender'));\n })\n .formField('@person-core:persons.entities.person.fields.identity-number.title', (field) => {\n field.path('identityNumber');\n field.layout({ positions: { lg: { colSpan: 4, order: 5 } } });\n field.textBox({\n placeholder: '@person-core:persons.entities.person.fields.identity-number.placeholder',\n });\n })\n .formField('@person-core:persons.entities.person.fields.marital-status.title', (field) => {\n field.path('maritalStatusId');\n field.layout({ positions: { lg: { colSpan: 6, order: 6 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('maritalStatus', 'maritalStatus'));\n })\n .formField('@person-core:persons.entities.person.fields.education-level.title', (field) => {\n field.path('educationLevelId');\n field.layout({ positions: { lg: { colSpan: 6, order: 7 } } });\n field.lookupBox(this.buildPersonCatalogLookupOptions('educationLevel', 'educationLevel'));\n });\n });\n\n flex.fieldset((phonesSection) => {\n phonesSection\n .setLook('fieldset')\n .setTitle('@person-core:persons.entities.person.groups.phones')\n .setCols(1)\n .formField('@person-core:persons.entities.person.groups.phones', (field) => {\n field.path('phones');\n field.setShowLabel(false);\n field.customWidget(AXPWidgetsList.Layouts.RepeaterLayout, {\n hasControls: true,\n children: PHONES_REPEATER_CHILDREN,\n });\n });\n });\n\n flex.fieldset((emailsSection) => {\n emailsSection\n .setLook('fieldset')\n .setTitle('@person-core:persons.entities.person.groups.emails')\n .setCols(1)\n .formField('@person-core:persons.entities.person.groups.emails', (field) => {\n field.path('emails');\n field.setShowLabel(false);\n field.customWidget(AXPWidgetsList.Layouts.RepeaterLayout, {\n hasControls: true,\n children: EMAILS_REPEATER_CHILDREN,\n });\n });\n });\n });\n })\n .setActions((actions) => {\n actions.cancel('@general:actions.cancel.title');\n actions.submit('@general:actions.save.title');\n })\n .onAction(async (dialogRef) => {\n if (dialogRef.action() === 'cancel') {\n return null;\n }\n\n const form = dialogRef.context() as AXMHcmEditPersonalInfoFormContext;\n const firstName = trim(form.firstName);\n const lastName = trim(form.lastName);\n\n if (isEmpty(firstName) || isEmpty(lastName)) {\n throw new Error(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.required-name',\n );\n }\n\n dialogRef.setLoading(true);\n try {\n const phones = this.normalizeContactItems(form.phones);\n const emails = this.normalizeContactItems(form.emails);\n const identityNumber = trim(defaultTo(form.identityNumber, ''));\n\n await personData.update(profileContext.personId, {\n personTitleId: form.personTitleId,\n firstName,\n lastName,\n birthDate: form.birthDate,\n genderId: form.genderId,\n identityNumber: isEmpty(identityNumber) ? undefined : identityNumber,\n maritalStatusId: form.maritalStatusId,\n educationLevelId: form.educationLevelId,\n phones,\n emails,\n });\n\n await this.syncUserService.sync(profileContext.userId, {\n firstName,\n lastName,\n });\n\n const successTitle = await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-personal-info.messages.success',\n );\n this.toastService.show({ color: 'success', title: successTitle });\n return { success: true, kind: 'object', data: undefined };\n } finally {\n dialogRef.setLoading(false);\n }\n });\n })\n .show();\n\n const commandResult = resolveLayoutBuilderDialogResult<AXPRuntimeCommandResult<void>>(result);\n if (!commandResult) {\n return { success: true, kind: 'object', data: undefined };\n }\n\n return commandResult;\n }\n\n //#endregion\n\n //#region ---- Utility Methods ----\n\n /** Desktop widths (including 1440) need lg for the 3-column profile grid; smaller viewports use xl. */\n private resolveDialogSize(): AXPopupSizeType {\n const width = window.innerWidth;\n if (width <= 1024) {\n return 'xl';\n }\n\n return 'lg';\n }\n\n private buildFormContext(person: AXMPersonCorePersonEntityModel): AXMHcmEditPersonalInfoFormContext {\n return {\n personTitleId: person.personTitleId,\n personTitle: cloneDeep(person.personTitle),\n firstName: defaultTo(person.firstName, ''),\n lastName: defaultTo(person.lastName, ''),\n birthDate: person.birthDate,\n genderId: person.genderId,\n gender: cloneDeep(person.gender),\n identityNumber: defaultTo(person.identityNumber, ''),\n maritalStatusId: person.maritalStatusId,\n maritalStatus: cloneDeep(person.maritalStatus),\n educationLevelId: person.educationLevelId,\n educationLevel: cloneDeep(person.educationLevel),\n phones: cloneDeep(defaultTo(person.phones, [])),\n emails: cloneDeep(defaultTo(person.emails, [])),\n };\n }\n\n /** Lookup options aligned with Person entity profile catalogs (quick-create enabled). */\n private buildPersonCatalogLookupOptions(\n entityKey: 'personTitle' | 'gender' | 'maritalStatus' | 'educationLevel',\n exposeTarget: 'personTitle' | 'gender' | 'maritalStatus' | 'educationLevel',\n ): Omit<LookupBoxOptions, 'path'> {\n return {\n entity: `${PERSON_CORE_MODULE}.${PersonCoreRootConfig.entities[entityKey].name}`,\n valueField: 'id',\n textField: 'title',\n look: 'select',\n allowCreate: 'quick',\n expose: [\n { source: 'id', target: `${exposeTarget}.id` },\n { source: 'title', target: `${exposeTarget}.title` },\n ],\n } as Omit<LookupBoxOptions, 'path'>;\n }\n\n /** Normalizes repeater contact rows to `{ value: string }[]`, matching Person entity storage. */\n private normalizeContactItems(items: unknown): Array<{ value: string }> {\n if (!isArray(items)) {\n return [];\n }\n\n return items\n .map((entry) => this.normalizeContactEntry(entry))\n .filter((entry) => !isEmpty(entry.value));\n }\n\n private normalizeContactEntry(entry: unknown): { value: string } {\n if (isString(entry)) {\n return { value: trim(entry) };\n }\n\n if (!isObject(entry) || isNil(entry)) {\n return { value: '' };\n }\n\n const record = entry as { value?: unknown; label?: string };\n const inner = record.value;\n\n if (isObject(inner) && !isNil(inner) && 'value' in inner) {\n const nested = inner as { value?: unknown };\n return { value: trim(String(nested.value ?? '')) };\n }\n\n return { value: trim(String(record.value ?? '')) };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":["SecurityManagementRootConfig","PersonCoreRootConfig"],"mappings":"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"}
@@ -6,7 +6,7 @@ import * as i0 from '@angular/core';
6
6
  import { inject, Injectable } from '@angular/core';
7
7
  import { isNil, defaultTo, isEmpty, trim } from 'lodash';
8
8
  import { RootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';
9
- import { A as AXMHcmProfileContextService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs';
9
+ import { A as AXMHcmProfileContextService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs';
10
10
 
11
11
  //#region ---- Edit signature command ----
12
12
  /** Opens the shared signature editor for the current employee record. */
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
73
73
  }] });
74
74
 
75
75
  export { AXMHcmEditSignatureCommand };
76
- //# sourceMappingURL=acorex-platform-module-human-capital-management-client-edit-signature.command-B-XH1P1-.mjs.map
76
+ //# sourceMappingURL=acorex-platform-module-human-capital-management-client-edit-signature.command-CPHVtOwv.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-signature.command-B-XH1P1-.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/commands/edit-signature.command.ts"],"sourcesContent":["import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPSignatureEditorService } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, isEmpty, isNil, trim } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXMHumanCapitalManagementEmployeeEntityModel } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXMHcmProfileContextService } from '../profile-context.service';\n\n//#region ---- Edit signature command ----\n\n/** Opens the shared signature editor for the current employee record. */\n@Injectable({ providedIn: 'root' })\nexport class AXMHcmEditSignatureCommand implements AXPCommand {\n //#region ---- Services & Dependencies ----\n\n private readonly signatureEditorService = inject(AXPSignatureEditorService);\n private readonly entityService = inject(AXPEntityService);\n private readonly profileContextService = inject(AXMHcmProfileContextService);\n private readonly toastService = inject(AXToastService);\n private readonly translateService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(): AXPCommandExecuteResultPromise<void> {\n const profileContext = await this.profileContextService.resolve();\n if (isNil(profileContext)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-signature.messages.no-employee',\n ),\n },\n };\n }\n\n const employeeData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.employee.name)\n .data<string, AXMHumanCapitalManagementEmployeeEntityModel>();\n\n const employee = await employeeData.byKey(profileContext.employeeId);\n if (isNil(employee)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-signature.messages.employee-not-found',\n ),\n },\n };\n }\n\n const existingSignature = defaultTo(employee.signature, '');\n const submitActionKey = isEmpty(existingSignature)\n ? '@general:actions.save.title'\n : '@general:actions.update.title';\n\n const dialogTitle = await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-signature.dialog.title',\n );\n\n const result = await this.signatureEditorService.open({\n title: dialogTitle,\n value: existingSignature,\n submitActionKey,\n });\n\n if (result.action === 'cancel') {\n return { success: false };\n }\n\n const signature = trim(defaultTo(result.value, ''));\n await employeeData.update(profileContext.employeeId, { signature });\n\n const successTitle = await this.translateService.translateAsync(\n isEmpty(signature)\n ? '@human-capital-management:profile-page.commands.edit-signature.messages.removed'\n : '@human-capital-management:profile-page.commands.edit-signature.messages.success',\n );\n this.toastService.show({ color: 'success', title: successTitle });\n return { success: true, kind: 'object', data: undefined };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-signature.command-CPHVtOwv.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/commands/edit-signature.command.ts"],"sourcesContent":["import { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPSignatureEditorService } from '@acorex-platform/framework-client/layout/components';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { inject, Injectable } from '@angular/core';\nimport { defaultTo, isEmpty, isNil, trim } from 'lodash';\n\nimport { RootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXMHumanCapitalManagementEmployeeEntityModel } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXMHcmProfileContextService } from '../profile-context.service';\n\n//#region ---- Edit signature command ----\n\n/** Opens the shared signature editor for the current employee record. */\n@Injectable({ providedIn: 'root' })\nexport class AXMHcmEditSignatureCommand implements AXPCommand {\n //#region ---- Services & Dependencies ----\n\n private readonly signatureEditorService = inject(AXPSignatureEditorService);\n private readonly entityService = inject(AXPEntityService);\n private readonly profileContextService = inject(AXMHcmProfileContextService);\n private readonly toastService = inject(AXToastService);\n private readonly translateService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(): AXPCommandExecuteResultPromise<void> {\n const profileContext = await this.profileContextService.resolve();\n if (isNil(profileContext)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-signature.messages.no-employee',\n ),\n },\n };\n }\n\n const employeeData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.employee.name)\n .data<string, AXMHumanCapitalManagementEmployeeEntityModel>();\n\n const employee = await employeeData.byKey(profileContext.employeeId);\n if (isNil(employee)) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-signature.messages.employee-not-found',\n ),\n },\n };\n }\n\n const existingSignature = defaultTo(employee.signature, '');\n const submitActionKey = isEmpty(existingSignature)\n ? '@general:actions.save.title'\n : '@general:actions.update.title';\n\n const dialogTitle = await this.translateService.translateAsync(\n '@human-capital-management:profile-page.commands.edit-signature.dialog.title',\n );\n\n const result = await this.signatureEditorService.open({\n title: dialogTitle,\n value: existingSignature,\n submitActionKey,\n });\n\n if (result.action === 'cancel') {\n return { success: false };\n }\n\n const signature = trim(defaultTo(result.value, ''));\n await employeeData.update(profileContext.employeeId, { signature });\n\n const successTitle = await this.translateService.translateAsync(\n isEmpty(signature)\n ? '@human-capital-management:profile-page.commands.edit-signature.messages.removed'\n : '@human-capital-management:profile-page.commands.edit-signature.messages.success',\n );\n this.toastService.show({ color: 'success', title: successTitle });\n return { success: true, kind: 'object', data: undefined };\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import { AsyncPipe } from '@angular/common';
9
9
  import * as i0 from '@angular/core';
10
10
  import { input, inject, signal, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
11
11
  import { AXPHumanCapitalManagementQueryKeys } from '@acorex-platform/module-human-capital-management-client/contracts';
12
- import { D as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs';
12
+ import { D as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs';
13
13
 
14
14
  //#region ----- Imports -----
15
15
  //#endregion
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
84
84
  }], propDecorators: { rootContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "rootContext", required: false }] }], pageConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageConfig", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }] } });
85
85
 
86
86
  export { AXMHcmProfileDocumentsPanelComponent };
87
- //# sourceMappingURL=acorex-platform-module-human-capital-management-client-profile-documents-panel.component-YvZyK6Y9.mjs.map
87
+ //# sourceMappingURL=acorex-platform-module-human-capital-management-client-profile-documents-panel.component-BeHIU0Em.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component-YvZyK6Y9.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/profile-documents-panel.component.ts","../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/profile-documents-panel.component.html"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXPQueryService } from '@acorex-platform/framework-client/runtime';\nimport {\n AXPPageComponentRendererDirective,\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n} from '@acorex-platform/framework-client/layout/views';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { runtimeQueryPayloadData } from '@acorex-platform/framework-shared/core';\nimport { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXPHumanCapitalManagementQueryKeys,\n type AXMHcmProfileDocumentDriveContext,\n} from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { DOCUMENT_DRIVE_PAGE_COMPONENT_KEY } from './profile-documents-panel.constants';\n\n//#endregion\n\n//#region ----- Component -----\n\n/** Fetches the employee document-drive context, then mounts the EDMS page. */\n@Component({\n selector: 'axm-hcm-profile-documents-panel',\n imports: [AsyncPipe, AXLoadingModule, AXTranslationModule, AXPPageComponentRendererDirective],\n templateUrl: './profile-documents-panel.component.html',\n styleUrl: './profile-documents-panel.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'axm-hcm-profile-documents-panel' },\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMHcmProfileDocumentsPanelComponent,\n },\n ],\n})\nexport class AXMHcmProfileDocumentsPanelComponent extends AXPPageLayoutBaseComponent {\n //#region ----- Inputs -----\n\n rootContext = input<Record<string, unknown>>({});\n pageConfig = input<Record<string, unknown>>();\n options = input<Record<string, unknown>>({});\n\n //#endregion\n\n //#region ----- Services & Dependencies -----\n\n private readonly queryService = inject(AXPQueryService);\n\n //#endregion\n\n //#region ----- State Signals -----\n\n protected readonly isLoading = signal(true);\n protected readonly drivePageConfig = signal<Record<string, unknown> | null>(null);\n protected readonly driveComponentKey = DOCUMENT_DRIVE_PAGE_COMPONENT_KEY;\n\n //#endregion\n\n //#region ----- Lifecycle -----\n\n override async ngOnInit(): Promise<void> {\n await this.loadDriveContext();\n }\n\n protected override getPageTitle(): string {\n return '';\n }\n\n //#endregion\n\n //#region ----- Data Loading -----\n\n private async loadDriveContext(): Promise<void> {\n this.isLoading.set(true);\n try {\n const result = await this.queryService.fetch<void, AXMHcmProfileDocumentDriveContext | null>(\n AXPHumanCapitalManagementQueryKeys.Profile.GetMyDocumentDriveContext,\n undefined as void,\n );\n const context = runtimeQueryPayloadData(result);\n if (!context?.refType || !context?.refId) {\n this.drivePageConfig.set(null);\n return;\n }\n\n this.drivePageConfig.set({\n refType: context.refType,\n refId: context.refId,\n allowedDocumentTypeNames: context.documentTypeNames,\n });\n } finally {\n this.isLoading.set(false);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","@if (isLoading()) {\n <div class=\"__loading\">\n <ax-loading></ax-loading>\n </div>\n} @else if (drivePageConfig(); as config) {\n <div\n axp-page-component-renderer\n [componentKey]=\"driveComponentKey\"\n [pageConfig]=\"config\"\n [rootContext]=\"rootContext()\"\n [options]=\"options()\"\n ></div>\n} @else {\n <p class=\"__empty\">{{ '@human-capital-management:profile-page.groups.documents.empty' | translate | async }}</p>\n}\n"],"names":["i2"],"mappings":"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"}
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component-BeHIU0Em.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/profile-documents-panel.component.ts","../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/profile-documents-panel.component.html"],"sourcesContent":["//#region ----- Imports -----\n\nimport { AXPQueryService } from '@acorex-platform/framework-client/runtime';\nimport {\n AXPPageComponentRendererDirective,\n AXPPageLayoutBase,\n AXPPageLayoutBaseComponent,\n} from '@acorex-platform/framework-client/layout/views';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { runtimeQueryPayloadData } from '@acorex-platform/framework-shared/core';\nimport { AsyncPipe } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n AXPHumanCapitalManagementQueryKeys,\n type AXMHcmProfileDocumentDriveContext,\n} from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { DOCUMENT_DRIVE_PAGE_COMPONENT_KEY } from './profile-documents-panel.constants';\n\n//#endregion\n\n//#region ----- Component -----\n\n/** Fetches the employee document-drive context, then mounts the EDMS page. */\n@Component({\n selector: 'axm-hcm-profile-documents-panel',\n imports: [AsyncPipe, AXLoadingModule, AXTranslationModule, AXPPageComponentRendererDirective],\n templateUrl: './profile-documents-panel.component.html',\n styleUrl: './profile-documents-panel.component.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { class: 'axm-hcm-profile-documents-panel' },\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXMHcmProfileDocumentsPanelComponent,\n },\n ],\n})\nexport class AXMHcmProfileDocumentsPanelComponent extends AXPPageLayoutBaseComponent {\n //#region ----- Inputs -----\n\n rootContext = input<Record<string, unknown>>({});\n pageConfig = input<Record<string, unknown>>();\n options = input<Record<string, unknown>>({});\n\n //#endregion\n\n //#region ----- Services & Dependencies -----\n\n private readonly queryService = inject(AXPQueryService);\n\n //#endregion\n\n //#region ----- State Signals -----\n\n protected readonly isLoading = signal(true);\n protected readonly drivePageConfig = signal<Record<string, unknown> | null>(null);\n protected readonly driveComponentKey = DOCUMENT_DRIVE_PAGE_COMPONENT_KEY;\n\n //#endregion\n\n //#region ----- Lifecycle -----\n\n override async ngOnInit(): Promise<void> {\n await this.loadDriveContext();\n }\n\n protected override getPageTitle(): string {\n return '';\n }\n\n //#endregion\n\n //#region ----- Data Loading -----\n\n private async loadDriveContext(): Promise<void> {\n this.isLoading.set(true);\n try {\n const result = await this.queryService.fetch<void, AXMHcmProfileDocumentDriveContext | null>(\n AXPHumanCapitalManagementQueryKeys.Profile.GetMyDocumentDriveContext,\n undefined as void,\n );\n const context = runtimeQueryPayloadData(result);\n if (!context?.refType || !context?.refId) {\n this.drivePageConfig.set(null);\n return;\n }\n\n this.drivePageConfig.set({\n refType: context.refType,\n refId: context.refId,\n allowedDocumentTypeNames: context.documentTypeNames,\n });\n } finally {\n this.isLoading.set(false);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n","@if (isLoading()) {\n <div class=\"__loading\">\n <ax-loading></ax-loading>\n </div>\n} @else if (drivePageConfig(); as config) {\n <div\n axp-page-component-renderer\n [componentKey]=\"driveComponentKey\"\n [pageConfig]=\"config\"\n [rootContext]=\"rootContext()\"\n [options]=\"options()\"\n ></div>\n} @else {\n <p class=\"__empty\">{{ '@human-capital-management:profile-page.groups.documents.empty' | translate | async }}</p>\n}\n"],"names":["i2"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable } from '@angular/core';
3
- import { P as PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs';
3
+ import { P as PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs';
4
4
 
5
5
  //#region ----- Profile documents panel provider -----
6
6
  class AXMHcmProfileDocumentsPanelComponentProvider {
@@ -8,7 +8,7 @@ class AXMHcmProfileDocumentsPanelComponentProvider {
8
8
  return [
9
9
  {
10
10
  key: PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY,
11
- loader: () => import('./acorex-platform-module-human-capital-management-client-profile-documents-panel.component-YvZyK6Y9.mjs').then((module) => module.AXMHcmProfileDocumentsPanelComponent),
11
+ loader: () => import('./acorex-platform-module-human-capital-management-client-profile-documents-panel.component-BeHIU0Em.mjs').then((module) => module.AXMHcmProfileDocumentsPanelComponent),
12
12
  },
13
13
  ];
14
14
  }
@@ -20,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
20
20
  }] });
21
21
 
22
22
  export { AXMHcmProfileDocumentsPanelComponentProvider };
23
- //# sourceMappingURL=acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DkM1NHzm.mjs.map
23
+ //# sourceMappingURL=acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DHamm55f.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DkM1NHzm.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/profile-documents-panel.component.provider.ts"],"sourcesContent":["import {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\nimport { PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY } from './profile-documents-panel.constants';\n\n//#region ----- Profile documents panel provider -----\n\n@Injectable()\nexport class AXMHcmProfileDocumentsPanelComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY,\n loader: () =>\n import('./profile-documents-panel.component').then((module) => module.AXMHcmProfileDocumentsPanelComponent),\n },\n ];\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAOA;MAGa,4CAA4C,CAAA;AACvD,IAAA,MAAM,UAAU,GAAA;QACd,OAAO;AACL,YAAA;AACE,gBAAA,GAAG,EAAE,qCAAqC;AAC1C,gBAAA,MAAM,EAAE,MACN,OAAO,yGAAqC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,oCAAoC,CAAC;AAC9G,aAAA;SACF;IACH;8GATW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5C,4CAA4C,EAAA,CAAA,CAAA;;2FAA5C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBADxD;;;"}
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DHamm55f.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/profile-page/profile-documents-panel.component.provider.ts"],"sourcesContent":["import {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\nimport { PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY } from './profile-documents-panel.constants';\n\n//#region ----- Profile documents panel provider -----\n\n@Injectable()\nexport class AXMHcmProfileDocumentsPanelComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY,\n loader: () =>\n import('./profile-documents-panel.component').then((module) => module.AXMHcmProfileDocumentsPanelComponent),\n },\n ];\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;AAOA;MAGa,4CAA4C,CAAA;AACvD,IAAA,MAAM,UAAU,GAAA;QACd,OAAO;AACL,YAAA;AACE,gBAAA,GAAG,EAAE,qCAAqC;AAC1C,gBAAA,MAAM,EAAE,MACN,OAAO,yGAAqC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,oCAAoC,CAAC;AAC9G,aAAA;SACF;IACH;8GATW,4CAA4C,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA5C,4CAA4C,EAAA,CAAA,CAAA;;2FAA5C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBADxD;;;"}
@@ -83,6 +83,9 @@ class StartLeaveRequestFlowCommand {
83
83
  });
84
84
  return { success: false, message: { text: startResult.error ?? 'Unknown error' } };
85
85
  }
86
+ if (startResult.dismissed) {
87
+ return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };
88
+ }
86
89
  return { success: true, kind: 'object', data: undefined };
87
90
  }
88
91
  catch (error) {
@@ -248,4 +251,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
248
251
  }] });
249
252
 
250
253
  export { StartLeaveRequestFlowCommand };
251
- //# sourceMappingURL=acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-CkJjBkth.mjs.map
254
+ //# sourceMappingURL=acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-Bm0LVRB9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-Bm0LVRB9.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/leave-request/commands/start-leave-request-flow.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport {\n AXPRuntimeCommandResult,\n AXPSystemStatusType,\n runtimeQueryCollectionData,\n} from '@acorex-platform/framework-shared/core';\nimport { getRecordWorkflowInstanceId } from '@acorex-platform/framework-shared/entity';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXMultiLanguageString, AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommandService, AXPQueryService } from '@acorex-platform/framework-client/runtime';\nimport { ENTITY_QUERY_DEFAULT, ENTITY_UPDATE_DEFAULT } from '@acorex-platform/framework-shared/runtime';\n\nimport {\n AXP_WORKFLOW_ENGINE,\n AXPWorkflowEngine,\n AXPWorkflowManager,\n} from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport { AXMLeaveRequestOpenStatusIds } from '@acorex-platform/module-human-capital-management-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface StartLeaveRequestFlowInput {\n workflowId?: string;\n employeeId?: string;\n employeeDisplayName?: string;\n leaveTypeId?: string;\n leaveTypeTitle?: AXMultiLanguageString | string;\n options?: StartLeaveRequestFlowOptions;\n}\n\nexport interface StartLeaveRequestFlowOptions {\n workflowId: string;\n input: {\n employeeId?: string;\n employeeDisplayName?: string;\n leaveTypeId: string;\n leaveTypeTitle?: AXMultiLanguageString | string;\n };\n}\n\ninterface OpenLeaveRequestRow {\n id: string;\n workflowInfo?: { instanceId?: string | null; correlationId?: string | null };\n leaveType?: { title?: AXMultiLanguageString | string };\n}\n\n//#endregion\n\n/**\n * Starts the leave request workflow after ensuring at most one pending request per employee and leave type.\n */\n@Injectable({ providedIn: 'root' })\nexport class StartLeaveRequestFlowCommand implements AXPCommand<StartLeaveRequestFlowInput, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly dialogService = inject(AXDialogService);\n private readonly translationService = inject(AXTranslationService);\n private readonly toastService = inject(AXToastService);\n private readonly entityService = inject(AXPEntityService);\n private readonly queryService = inject(AXPQueryService);\n private readonly commandService = inject(AXPCommandService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE, { optional: true });\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: StartLeaveRequestFlowInput): AXPCommandExecuteResultPromise<void> {\n const options = (input?.options ?? input) as StartLeaveRequestFlowOptions;\n const flowInput = options.input;\n const workflowId = options.workflowId?.trim();\n const leaveTypeId = flowInput?.leaveTypeId?.trim();\n const employeeId = this.resolveFlowText(flowInput?.employeeId);\n const employeeDisplayName = this.resolveFlowText(flowInput?.employeeDisplayName);\n const leaveTypeTitleForWorkflow = this.coerceLeaveTypeTitleForWorkflow(flowInput?.leaveTypeTitle);\n const leaveTypeTitleDisplay = this.resolveFlowText(flowInput?.leaveTypeTitle);\n\n if (!workflowId || !leaveTypeId) {\n return {\n success: false,\n message: { text: '@human-capital-management:leave-requests.messages.missing-workflow-context' },\n };\n }\n\n try {\n const openRequests = employeeId\n ? await this.findOpenLeaveRequests(employeeId, leaveTypeId)\n : [];\n const orphanInstanceIds = employeeId\n ? await this.findOrphanRunningWorkflowInstanceIds(\n employeeId,\n leaveTypeId,\n workflowId,\n openRequests,\n )\n : [];\n\n if (openRequests.length > 0 || orphanInstanceIds.length > 0) {\n const confirmed = await this.confirmReplace(leaveTypeTitleDisplay);\n if (!confirmed) {\n return { success: false };\n }\n await this.closeOpenRuns(openRequests, orphanInstanceIds);\n }\n\n const correlationId = employeeId\n ? this.buildCorrelationId(employeeId, leaveTypeId, workflowId)\n : undefined;\n\n const startResult = await this.workflowManager.start(workflowId, {\n leaveTypeId,\n ...(leaveTypeTitleForWorkflow != null ? { leaveTypeTitle: leaveTypeTitleForWorkflow } : {}),\n ...(employeeId ? { employeeId, employeeDisplayName } : {}),\n ...(employeeId\n ? {\n refId: employeeId,\n refType: `${RootConfig.module.name}.Employee`,\n correlationId,\n }\n : {}),\n });\n\n if (!startResult.success) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(\n '@human-capital-management:leave-requests.messages.workflow-failed-title',\n ),\n content: startResult.error ?? 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: startResult.error ?? 'Unknown error' } };\n }\n\n if (startResult.dismissed) {\n return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };\n }\n\n return { success: true, kind: 'object', data: undefined };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n console.error('[StartLeaveRequestFlowCommand]', error);\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(\n '@human-capital-management:leave-requests.messages.workflow-error-title',\n ),\n content: message,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: message } };\n }\n }\n\n //#endregion\n\n //#region ---- Open-run detection ----\n\n private async findOpenLeaveRequests(\n employeeId: string,\n leaveTypeId: string,\n ): Promise<OpenLeaveRequestRow[]> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data()\n .query({\n skip: 0,\n take: 10,\n filter: {\n logic: 'and',\n filters: [\n { field: 'employeeId', operator: { type: 'equal' }, value: employeeId },\n { field: 'leaveTypeId', operator: { type: 'equal' }, value: leaveTypeId },\n {\n field: 'statusId',\n operator: { type: 'in' },\n value: [...AXMLeaveRequestOpenStatusIds],\n },\n ],\n },\n });\n\n return (page.items ?? []) as OpenLeaveRequestRow[];\n }\n\n private async findOrphanRunningWorkflowInstanceIds(\n employeeId: string,\n leaveTypeId: string,\n workflowId: string,\n openRequests: OpenLeaveRequestRow[],\n ): Promise<string[]> {\n const linkedInstanceIds = new Set(\n openRequests\n .map((row) => getRecordWorkflowInstanceId(row))\n .filter((id): id is string => !!id),\n );\n\n try {\n const result = await this.queryService.fetch(ENTITY_QUERY_DEFAULT, {\n entity: 'WorkflowManagement.WorkflowInstance',\n skip: 0,\n take: 50,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'definitionId',\n operator: { type: 'equal' },\n value: workflowId,\n },\n { field: 'status', operator: { type: 'equal' }, value: 'Running' },\n ],\n },\n });\n\n const items = (runtimeQueryCollectionData(result)?.items ?? []) as Array<{\n id?: string;\n workflowInstance?: { workflowState?: { input?: Record<string, unknown> } };\n }>;\n\n return items\n .filter((row) => {\n const id = row.id?.trim();\n if (!id || linkedInstanceIds.has(id)) {\n return false;\n }\n const runInput = row.workflowInstance?.workflowState?.input ?? {};\n return runInput['employeeId'] === employeeId && runInput['leaveTypeId'] === leaveTypeId;\n })\n .map((row) => row.id as string);\n } catch {\n return [];\n }\n }\n\n //#endregion\n\n //#region ---- Close and replace ----\n\n private async confirmReplace(leaveTypeTitle: string | undefined): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@human-capital-management:leave-requests.messages.replace-open.confirm.title',\n );\n const message = await this.translationService.translateAsync(\n '@human-capital-management:leave-requests.messages.replace-open.confirm.message',\n {\n params: {\n leaveTypeTitle: String(leaveTypeTitle ?? '').trim() || '—',\n },\n },\n );\n const result = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n return result.result === true;\n }\n\n private async closeOpenRuns(\n openRequests: OpenLeaveRequestRow[],\n orphanInstanceIds: string[],\n ): Promise<void> {\n const data = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.leaveRequest.name)\n .data();\n\n const supersedeNote = 'Closed to start a new leave request run.';\n\n for (const request of openRequests) {\n await data.update(request.id, {\n statusId: AXPSystemStatusType.Cancelled,\n reason: supersedeNote,\n } as never);\n\n const instanceId = getRecordWorkflowInstanceId(request);\n if (instanceId) {\n await this.cancelWorkflowInstance(instanceId);\n }\n }\n\n for (const instanceId of orphanInstanceIds) {\n await this.cancelWorkflowInstance(instanceId);\n }\n }\n\n private async cancelWorkflowInstance(instanceId: string): Promise<void> {\n const engine = this.workflowEngine as AXPWorkflowEngine | null;\n if (engine?.cancelInstance) {\n await engine.cancelInstance(instanceId, 'superseded');\n return;\n }\n\n const now = new Date().toISOString();\n try {\n await this.commandService.execute(ENTITY_UPDATE_DEFAULT, {\n entity: 'WorkflowManagement.WorkflowInstance',\n id: instanceId,\n status: 'Finished',\n subStatus: 'Cancelled',\n finishedAt: now,\n updatedAt: now,\n });\n } catch (error: unknown) {\n console.warn('[StartLeaveRequestFlowCommand] Failed to cancel workflow instance:', instanceId, error);\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private resolveFlowText(value: unknown): string {\n if (value == null || value === false) {\n return '';\n }\n if (typeof value === 'string') {\n return value.trim();\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value).trim();\n }\n return resolveMultiLanguageString(value as never, this.translationService.getActiveLang()).trim();\n }\n\n /** Preserves multi-language leave type titles on the workflow instance for locale-aware task labels. */\n private coerceLeaveTypeTitleForWorkflow(\n value: AXMultiLanguageString | string | undefined,\n ): AXMultiLanguageString | string | undefined {\n if (value == null) {\n return undefined;\n }\n if (typeof value === 'object') {\n return value;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n }\n\n private buildCorrelationId(employeeId: string, leaveTypeId: string, workflowId: string): string {\n return `${RootConfig.module.name}.Employee:${employeeId}:${leaveTypeId}:${workflowId}`;\n }\n\n //#endregion\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAuDA;AAEA;;AAEG;MAEU,4BAA4B,CAAA;AADzC,IAAA,WAAA,GAAA;;AAImB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AACvC,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACjD,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACrC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,eAAe,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,kBAAkB,CAAC;QAC5C,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAyRlF,IAAA;;;IAnRC,MAAM,OAAO,CAAC,KAAiC,EAAA;QAC7C,MAAM,OAAO,IAAI,KAAK,EAAE,OAAO,IAAI,KAAK,CAAiC;AACzE,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK;QAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE;QAC7C,MAAM,WAAW,GAAG,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,mBAAmB,CAAC;QAChF,MAAM,yBAAyB,GAAG,IAAI,CAAC,+BAA+B,CAAC,SAAS,EAAE,cAAc,CAAC;QACjG,MAAM,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,cAAc,CAAC;AAE7E,QAAA,IAAI,CAAC,UAAU,IAAI,CAAC,WAAW,EAAE;YAC/B,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,EAAE,IAAI,EAAE,4EAA4E,EAAE;aAChG;QACH;AAEA,QAAA,IAAI;YACF,MAAM,YAAY,GAAG;kBACjB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,WAAW;kBACxD,EAAE;YACN,MAAM,iBAAiB,GAAG;AACxB,kBAAE,MAAM,IAAI,CAAC,oCAAoC,CAC7C,UAAU,EACV,WAAW,EACX,UAAU,EACV,YAAY;kBAEd,EAAE;AAEN,YAAA,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC;gBAClE,IAAI,CAAC,SAAS,EAAE;AACd,oBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;gBAC3B;gBACA,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC;YAC3D;YAEA,MAAM,aAAa,GAAG;kBAClB,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,UAAU;kBAC3D,SAAS;YAEb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE;gBAC/D,WAAW;AACX,gBAAA,IAAI,yBAAyB,IAAI,IAAI,GAAG,EAAE,cAAc,EAAE,yBAAyB,EAAE,GAAG,EAAE,CAAC;AAC3F,gBAAA,IAAI,UAAU,GAAG,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAAG,EAAE,CAAC;AAC1D,gBAAA,IAAI;AACF,sBAAE;AACE,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,OAAO,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,SAAA,CAAW;wBAC7C,aAAa;AACd;sBACD,EAAE,CAAC;AACR,aAAA,CAAC;AAEF,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AACxB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,oBAAA,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACjD,yEAAyE,CAC1E;AACD,oBAAA,OAAO,EAAE,WAAW,CAAC,KAAK,IAAI,eAAe;AAC7C,oBAAA,WAAW,EAAE,IAAI;AACjB,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA,CAAC;AACF,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,IAAI,eAAe,EAAE,EAAE;YACpF;AAEA,YAAA,IAAI,WAAW,CAAC,SAAS,EAAE;gBACzB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;YACzF;AAEA,YAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3D;QAAE,OAAO,KAAc,EAAE;AACvB,YAAA,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,eAAe;AACxE,YAAA,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC;AACtD,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,gBAAA,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACjD,wEAAwE,CACzE;AACD,gBAAA,OAAO,EAAE,OAAO;AAChB,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,OAAO,EAAE,IAAI;AACd,aAAA,CAAC;AACF,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;QACvD;IACF;;;AAMQ,IAAA,MAAM,qBAAqB,CACjC,UAAkB,EAClB,WAAmB,EAAA;AAEnB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;AACrB,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI;AACxE,aAAA,IAAI;AACJ,aAAA,KAAK,CAAC;AACL,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,IAAI,EAAE,EAAE;AACR,YAAA,MAAM,EAAE;AACN,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,OAAO,EAAE;AACP,oBAAA,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;AACvE,oBAAA,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;AACzE,oBAAA;AACE,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;AACxB,wBAAA,KAAK,EAAE,CAAC,GAAG,4BAA4B,CAAC;AACzC,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA,CAAC;AAEJ,QAAA,QAAQ,IAAI,CAAC,KAAK,IAAI,EAAE;IAC1B;IAEQ,MAAM,oCAAoC,CAChD,UAAkB,EAClB,WAAmB,EACnB,UAAkB,EAClB,YAAmC,EAAA;AAEnC,QAAA,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAC/B;aACG,GAAG,CAAC,CAAC,GAAG,KAAK,2BAA2B,CAAC,GAAG,CAAC;aAC7C,MAAM,CAAC,CAAC,EAAE,KAAmB,CAAC,CAAC,EAAE,CAAC,CACtC;AAED,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,oBAAoB,EAAE;AACjE,gBAAA,MAAM,EAAE,qCAAqC;AAC7C,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,EAAE;AACR,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,KAAK;AACZ,oBAAA,OAAO,EAAE;AACP,wBAAA;AACE,4BAAA,KAAK,EAAE,cAAc;AACrB,4BAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AAC3B,4BAAA,KAAK,EAAE,UAAU;AAClB,yBAAA;AACD,wBAAA,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;AACnE,qBAAA;AACF,iBAAA;AACF,aAAA,CAAC;AAEF,YAAA,MAAM,KAAK,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,EAAE,CAG5D;AAEF,YAAA,OAAO;AACJ,iBAAA,MAAM,CAAC,CAAC,GAAG,KAAI;gBACd,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE;gBACzB,IAAI,CAAC,EAAE,IAAI,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;AACpC,oBAAA,OAAO,KAAK;gBACd;gBACA,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE;AACjE,gBAAA,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,WAAW;AACzF,YAAA,CAAC;iBACA,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,EAAY,CAAC;QACnC;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,EAAE;QACX;IACF;;;IAMQ,MAAM,cAAc,CAAC,cAAkC,EAAA;QAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACxD,8EAA8E,CAC/E;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAC1D,gFAAgF,EAChF;AACE,YAAA,MAAM,EAAE;gBACN,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG;AAC3D,aAAA;AACF,SAAA,CACF;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC;AACzG,QAAA,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI;IAC/B;AAEQ,IAAA,MAAM,aAAa,CACzB,YAAmC,EACnC,iBAA2B,EAAA;AAE3B,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC;AACf,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI;AACxE,aAAA,IAAI,EAAE;QAET,MAAM,aAAa,GAAG,0CAA0C;AAEhE,QAAA,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE;AAClC,YAAA,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;gBAC5B,QAAQ,EAAE,mBAAmB,CAAC,SAAS;AACvC,gBAAA,MAAM,EAAE,aAAa;AACb,aAAA,CAAC;AAEX,YAAA,MAAM,UAAU,GAAG,2BAA2B,CAAC,OAAO,CAAC;YACvD,IAAI,UAAU,EAAE;AACd,gBAAA,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;YAC/C;QACF;AAEA,QAAA,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE;AAC1C,YAAA,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC;QAC/C;IACF;IAEQ,MAAM,sBAAsB,CAAC,UAAkB,EAAA;AACrD,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAA0C;AAC9D,QAAA,IAAI,MAAM,EAAE,cAAc,EAAE;YAC1B,MAAM,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC;YACrD;QACF;QAEA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;AACpC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE;AACvD,gBAAA,MAAM,EAAE,qCAAqC;AAC7C,gBAAA,EAAE,EAAE,UAAU;AACd,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,SAAS,EAAE,WAAW;AACtB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,SAAS,EAAE,GAAG;AACf,aAAA,CAAC;QACJ;QAAE,OAAO,KAAc,EAAE;YACvB,OAAO,CAAC,IAAI,CAAC,oEAAoE,EAAE,UAAU,EAAE,KAAK,CAAC;QACvG;IACF;;;AAMQ,IAAA,eAAe,CAAC,KAAc,EAAA;QACpC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,KAAK,EAAE;AACpC,YAAA,OAAO,EAAE;QACX;AACA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,OAAO,KAAK,CAAC,IAAI,EAAE;QACrB;QACA,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC3D,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;QAC7B;AACA,QAAA,OAAO,0BAA0B,CAAC,KAAc,EAAE,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE;IACnG;;AAGQ,IAAA,+BAA+B,CACrC,KAAiD,EAAA;AAEjD,QAAA,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,OAAO,SAAS;QAClB;AACA,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,YAAA,OAAO,KAAK;QACd;AACA,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE;AAC5B,QAAA,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS;IACjD;AAEQ,IAAA,kBAAkB,CAAC,UAAkB,EAAE,WAAmB,EAAE,UAAkB,EAAA;AACpF,QAAA,OAAO,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,UAAA,EAAa,UAAU,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,UAAU,EAAE;IACxF;8GAhSW,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,4BAA4B,cADf,MAAM,EAAA,CAAA,CAAA;;2FACnB,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
@@ -78,6 +78,9 @@ class StartLifecycleEventFlowCommand {
78
78
  });
79
79
  return { success: false, message: { text: startResult.error ?? 'Unknown error' } };
80
80
  }
81
+ if (startResult.dismissed) {
82
+ return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };
83
+ }
81
84
  return { success: true, kind: 'object', data: undefined };
82
85
  }
83
86
  catch (error) {
@@ -250,4 +253,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
250
253
  }] });
251
254
 
252
255
  export { StartLifecycleEventFlowCommand };
253
- //# sourceMappingURL=acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-CIHvo2QS.mjs.map
256
+ //# sourceMappingURL=acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-aGyEvdvc.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-aGyEvdvc.mjs","sources":["../../../../libs/modules/human-capital-management/client/src/lib/features/lifecycle-event/commands/start-lifecycle-event-flow.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport {\n AXPRuntimeCommandResult,\n AXPSystemStatusType,\n runtimeQueryCollectionData,\n} from '@acorex-platform/framework-shared/core';\nimport { getRecordWorkflowInstanceId } from '@acorex-platform/framework-shared/entity';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXToastService } from '@acorex/components/toast';\nimport { AXTranslationService, resolveMultiLanguageString, type AXMultiLanguageString } from '@acorex/core/translation';\n\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommandService, AXPQueryService } from '@acorex-platform/framework-client/runtime';\nimport { ENTITY_QUERY_DEFAULT, ENTITY_UPDATE_DEFAULT } from '@acorex-platform/framework-shared/runtime';\n\nimport {\n AXP_WORKFLOW_ENGINE,\n AXPWorkflowEngine,\n AXPWorkflowManager,\n} from '@acorex-platform/framework-client/workflow';\nimport { inject, Injectable } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-human-capital-management-client/contracts';\nimport {\n AXMLifecycleEventOpenStatusIds,\n} from '@acorex-platform/module-human-capital-management-client/contracts';\n\n//#endregion\n\n//#region ---- Types ----\n\nexport interface StartLifecycleEventFlowInput {\n workflowId?: string;\n employeeId?: string;\n employeeDisplayName?: string;\n eventTypeId?: string;\n eventTypeTitle?: AXMultiLanguageString | string;\n questionnaireId?: string;\n targetEmployeeStatusId?: string;\n effectiveDate?: string;\n options?: StartLifecycleEventFlowOptions;\n}\n\nexport interface StartLifecycleEventFlowOptions {\n workflowId: string;\n input: {\n employeeId: string;\n employeeDisplayName: string;\n eventTypeId: string;\n eventTypeTitle?: AXMultiLanguageString | string;\n questionnaireId: string;\n effectiveDate?: string;\n /** Precomposed case/popup title; computed by StartFlow when omitted. */\n assessmentCaseTitle?: string;\n };\n}\n\ninterface OpenLifecycleEventRow {\n id: string;\n workflowInfo?: { instanceId?: string | null; correlationId?: string | null };\n eventType?: { title?: unknown };\n}\n\n//#endregion\n\n/**\n * Starts the guided lifecycle workflow after ensuring at most one in-progress event per employee and event type.\n */\n@Injectable({ providedIn: 'root' })\nexport class StartLifecycleEventFlowCommand implements AXPCommand<StartLifecycleEventFlowInput, void> {\n //#region ---- Services & Dependencies ----\n\n private readonly dialogService = inject(AXDialogService);\n private readonly translationService = inject(AXTranslationService);\n private readonly toastService = inject(AXToastService);\n private readonly entityService = inject(AXPEntityService);\n private readonly queryService = inject(AXPQueryService);\n private readonly commandService = inject(AXPCommandService);\n private readonly workflowManager = inject(AXPWorkflowManager);\n private readonly workflowEngine = inject(AXP_WORKFLOW_ENGINE, { optional: true });\n\n //#endregion\n\n //#region ---- Command Implementation ----\n\n async execute(input: StartLifecycleEventFlowInput): AXPCommandExecuteResultPromise<void> {\n const options = (input?.options ?? input) as StartLifecycleEventFlowOptions;\n const flowInput = options.input;\n const workflowId = options.workflowId?.trim();\n const employeeId = this.resolveFlowText(flowInput?.employeeId);\n const eventTypeId = flowInput?.eventTypeId?.trim();\n const employeeDisplayName = this.resolveFlowText(flowInput?.employeeDisplayName);\n const eventTypeTitleForWorkflow = this.coerceEventTypeTitleForWorkflow(flowInput?.eventTypeTitle);\n const eventTypeTitleDisplay = this.resolveFlowText(flowInput?.eventTypeTitle);\n const assessmentCaseTitle =\n this.resolveFlowText(flowInput?.assessmentCaseTitle) ||\n this.buildAssessmentCaseTitle(eventTypeTitleDisplay, employeeDisplayName);\n\n if (!workflowId || !employeeId || !eventTypeId) {\n return {\n success: false,\n message: { text: '@human-capital-management:lifecycle-events.messages.missing-workflow-context' },\n };\n }\n\n try {\n const openEvents = await this.findOpenLifecycleEvents(employeeId, eventTypeId);\n const orphanInstanceIds = await this.findOrphanRunningWorkflowInstanceIds(\n employeeId,\n eventTypeId,\n workflowId,\n openEvents,\n );\n\n if (openEvents.length > 0 || orphanInstanceIds.length > 0) {\n const confirmed = await this.confirmReplace(eventTypeTitleDisplay);\n if (!confirmed) {\n return { success: false };\n }\n await this.closeOpenRuns(openEvents, orphanInstanceIds);\n }\n\n const startResult = await this.workflowManager.start(workflowId, {\n employeeId,\n employeeDisplayName,\n eventTypeId: flowInput.eventTypeId,\n ...(eventTypeTitleForWorkflow != null ? { eventTypeTitle: eventTypeTitleForWorkflow } : {}),\n assessmentCaseTitle,\n questionnaireId: flowInput.questionnaireId,\n ...(flowInput.effectiveDate ? { effectiveDate: flowInput.effectiveDate } : {}),\n refId: employeeId,\n refType: `${RootConfig.module.name}.Employee`,\n correlationId: this.buildCorrelationId(employeeId, eventTypeId, workflowId),\n });\n\n if (!startResult.success) {\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(\n '@human-capital-management:lifecycle-events.messages.workflow-failed-title',\n ),\n content: startResult.error ?? 'Unknown error',\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: startResult.error ?? 'Unknown error' } };\n }\n\n if (startResult.dismissed) {\n return { success: true, kind: 'object', data: undefined, metadata: { refresh: false } };\n }\n\n return { success: true, kind: 'object', data: undefined };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Unknown error';\n console.error('[StartLifecycleEventFlowCommand]', error);\n this.toastService.show({\n color: 'danger',\n title: await this.translationService.translateAsync(\n '@human-capital-management:lifecycle-events.messages.workflow-error-title',\n ),\n content: message,\n closeButton: true,\n timeOut: 5000,\n });\n return { success: false, message: { text: message } };\n }\n }\n\n //#endregion\n\n //#region ---- Open-run detection ----\n\n private async findOpenLifecycleEvents(\n employeeId: string,\n eventTypeId: string,\n ): Promise<OpenLifecycleEventRow[]> {\n const page = await this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.lifecycleEvent.name)\n .data()\n .query({\n skip: 0,\n take: 10,\n filter: {\n logic: 'and',\n filters: [\n { field: 'employeeId', operator: { type: 'equal' }, value: employeeId },\n { field: 'eventTypeId', operator: { type: 'equal' }, value: eventTypeId },\n {\n field: 'statusId',\n operator: { type: 'in' },\n value: [...AXMLifecycleEventOpenStatusIds],\n },\n ],\n },\n });\n\n return (page.items ?? []) as OpenLifecycleEventRow[];\n }\n\n private async findOrphanRunningWorkflowInstanceIds(\n employeeId: string,\n eventTypeId: string,\n workflowId: string,\n openEvents: OpenLifecycleEventRow[],\n ): Promise<string[]> {\n const linkedInstanceIds = new Set(\n openEvents\n .map((row) => getRecordWorkflowInstanceId(row))\n .filter((id): id is string => !!id),\n );\n\n try {\n const result = await this.queryService.fetch(ENTITY_QUERY_DEFAULT, {\n entity: 'WorkflowManagement.WorkflowInstance',\n skip: 0,\n take: 50,\n filter: {\n logic: 'and',\n filters: [\n {\n field: 'definitionId',\n operator: { type: 'equal' },\n value: workflowId,\n },\n { field: 'status', operator: { type: 'equal' }, value: 'Running' },\n ],\n },\n });\n\n const items = (runtimeQueryCollectionData(result)?.items ?? []) as Array<{\n id?: string;\n workflowInstance?: { workflowState?: { input?: Record<string, unknown> } };\n }>;\n\n return items\n .filter((row) => {\n const id = row.id?.trim();\n if (!id || linkedInstanceIds.has(id)) {\n return false;\n }\n const runInput = row.workflowInstance?.workflowState?.input ?? {};\n return runInput['employeeId'] === employeeId && runInput['eventTypeId'] === eventTypeId;\n })\n .map((row) => row.id as string);\n } catch {\n return [];\n }\n }\n\n //#endregion\n\n //#region ---- Close and replace ----\n\n private async confirmReplace(eventTypeTitle: string | undefined): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@human-capital-management:lifecycle-events.messages.replace-open.confirm.title',\n );\n const message = await this.translationService.translateAsync(\n '@human-capital-management:lifecycle-events.messages.replace-open.confirm.message',\n {\n params: {\n eventTypeTitle: String(eventTypeTitle ?? '').trim() || '—',\n },\n },\n );\n const result = await this.dialogService.confirm(title, message, 'warning', 'horizontal', false, 'cancel');\n return result.result === true;\n }\n\n private async closeOpenRuns(\n openEvents: OpenLifecycleEventRow[],\n orphanInstanceIds: string[],\n ): Promise<void> {\n const data = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.lifecycleEvent.name)\n .data();\n\n const supersedeNote = 'Closed to start a new lifecycle run.';\n\n for (const event of openEvents) {\n await data.update(event.id, {\n statusId: AXPSystemStatusType.Cancelled,\n notes: supersedeNote,\n } as never);\n\n const instanceId = getRecordWorkflowInstanceId(event);\n if (instanceId) {\n await this.cancelWorkflowInstance(instanceId);\n }\n }\n\n for (const instanceId of orphanInstanceIds) {\n await this.cancelWorkflowInstance(instanceId);\n }\n }\n\n private async cancelWorkflowInstance(instanceId: string): Promise<void> {\n const engine = this.workflowEngine as AXPWorkflowEngine | null;\n if (engine?.cancelInstance) {\n await engine.cancelInstance(instanceId, 'superseded');\n return;\n }\n\n const now = new Date().toISOString();\n try {\n await this.commandService.execute(ENTITY_UPDATE_DEFAULT, {\n entity: 'WorkflowManagement.WorkflowInstance',\n id: instanceId,\n status: 'Finished',\n subStatus: 'Cancelled',\n finishedAt: now,\n updatedAt: now,\n });\n } catch (error: unknown) {\n console.warn('[StartLifecycleEventFlowCommand] Failed to cancel workflow instance:', instanceId, error);\n }\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n /** Normalizes workflow start input that may be plain text, ML, or a failed expression (`false`). */\n private resolveFlowText(value: unknown): string {\n if (value == null || value === false) {\n return '';\n }\n if (typeof value === 'string') {\n return value.trim();\n }\n if (typeof value === 'number' || typeof value === 'boolean') {\n return String(value).trim();\n }\n return resolveMultiLanguageString(value as never, this.translationService.getActiveLang()).trim();\n }\n\n /** Preserves multi-language event type titles on the workflow instance for locale-aware task labels. */\n private coerceEventTypeTitleForWorkflow(\n value: AXMultiLanguageString | string | undefined,\n ): AXMultiLanguageString | string | undefined {\n if (value == null) {\n return undefined;\n }\n if (typeof value === 'object') {\n return value;\n }\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n }\n\n private buildAssessmentCaseTitle(eventTypeTitle: string, employeeDisplayName: string): string {\n if (eventTypeTitle && employeeDisplayName) {\n return `${eventTypeTitle} — ${employeeDisplayName}`;\n }\n return eventTypeTitle || employeeDisplayName;\n }\n\n private buildCorrelationId(employeeId: string, eventTypeId: string, workflowId: string): string {\n return `${RootConfig.module.name}.Employee:${employeeId}:${eventTypeId}:${workflowId}`;\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { a as AXMHumanCapitalManagementModule, b as AXMLeaveRequestBadgeProvider, c as AXMLeaveRequestResourceAppointmentProvider, d as AXMLeaveRequestTaskPopoverComponent, e as AXPHumanCapitalManagementFeatureDefinitionProvider, f as AXPLeaveRequestDialogService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-CUzVvgPy.mjs';
1
+ export { a as AXMHumanCapitalManagementModule, b as AXMLeaveRequestBadgeProvider, c as AXMLeaveRequestResourceAppointmentProvider, d as AXMLeaveRequestTaskPopoverComponent, e as AXPHumanCapitalManagementFeatureDefinitionProvider, f as AXPLeaveRequestDialogService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-2NzXGCVk.mjs';
2
2
  export { HumanCapitalManagementManifest } from '@acorex-platform/module-human-capital-management-client/contracts';
3
3
  //# sourceMappingURL=acorex-platform-module-human-capital-management-client.mjs.map
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@acorex-platform/module-human-capital-management-client",
3
- "version": "0.0.56",
3
+ "version": "0.0.58",
4
4
  "sideEffects": false,
5
5
  "peerDependencies": {
6
- "@acorex-platform/module-data-management-client": "0.0.56",
6
+ "@acorex-platform/module-data-management-client": "0.0.58",
7
7
  "@angular/common": "^21.0.0 || ^22.0.0",
8
8
  "@angular/core": "^21.0.0 || ^22.0.0"
9
9
  },