@acorex-platform/module-human-capital-management-client 0.0.38 → 0.0.48
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.
- package/fesm2022/{acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-YulnMbkF.mjs → acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-BGYF6PWx.mjs} +88 -57
- package/fesm2022/acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-BGYF6PWx.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employee.mjs +16 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employee.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employment-type.mjs +15 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-employment-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-request.mjs +17 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-request.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-type.mjs +17 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-leave-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-lifecycle-event-type.mjs +16 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-lifecycle-event-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-lifecycle-event.mjs +16 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-lifecycle-event.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-position-assignment.mjs +16 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entities-position-assignment.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-YSqg0InM.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-CVP3I1L7.mjs} +8 -8
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-YSqg0InM.mjs.map → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-acorex-platform-module-human-capital-management-client-contracts-entity-catalog-CVP3I1L7.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-DkVdcMBo.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-Bm2XMoMa.mjs} +18 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-Bm2XMoMa.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-DtYMx-Fh.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-BRgx5_BF.mjs} +17 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-BRgx5_BF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-0NDmiYk0.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-FBkbZ-o4.mjs} +19 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-FBkbZ-o4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-DWkv-dnA.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-BFygPrW9.mjs} +19 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-BFygPrW9.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-CDfVNrc0.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-70UYqOrV.mjs} +18 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-70UYqOrV.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-Dp-_0o-1.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-USkId1WB.mjs} +18 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-USkId1WB.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-rQe7-CDe.mjs → acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-CkSHA7Rz.mjs} +18 -2
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-CkSHA7Rz.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog.mjs +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts.mjs +29 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-personal-info.command-6VRu0_a1.mjs → acorex-platform-module-human-capital-management-client-edit-personal-info.command-BVFquL4g.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-personal-info.command-6VRu0_a1.mjs.map → acorex-platform-module-human-capital-management-client-edit-personal-info.command-BVFquL4g.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-signature.command-BT_kCp6U.mjs → acorex-platform-module-human-capital-management-client-edit-signature.command-S8EuJzkb.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-human-capital-management-client-edit-signature.command-BT_kCp6U.mjs.map → acorex-platform-module-human-capital-management-client-edit-signature.command-S8EuJzkb.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component-OTrhvB6P.mjs → acorex-platform-module-human-capital-management-client-profile-documents-panel.component-md5iBTci.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component-OTrhvB6P.mjs.map → acorex-platform-module-human-capital-management-client-profile-documents-panel.component-md5iBTci.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-Cwtz43uK.mjs → acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider--21c47Ug.mjs} +3 -3
- package/fesm2022/{acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-Cwtz43uK.mjs.map → acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider--21c47Ug.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client.mjs +2 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client.mjs.map +1 -1
- package/package.json +2 -2
- package/types/acorex-platform-module-human-capital-management-client-contracts.d.ts +8 -2
- package/types/acorex-platform-module-human-capital-management-client.d.ts +3 -8
- package/fesm2022/acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-YulnMbkF.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employee.entity-DkVdcMBo.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-employment-type.entity-DtYMx-Fh.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-request.entity-0NDmiYk0.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-leave-type.entity-DWkv-dnA.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event-type.entity-CDfVNrc0.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-lifecycle-event.entity-Dp-_0o-1.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-human-capital-management-client-contracts-entity-catalog-position-assignment.entity-rQe7-CDe.mjs.map +0 -1
|
@@ -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-
|
|
10
|
+
import { A as AXMHcmProfileContextService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-BGYF6PWx.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-
|
|
333
|
+
//# sourceMappingURL=acorex-platform-module-human-capital-management-client-edit-personal-info.command-BVFquL4g.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-personal-info.command-6VRu0_a1.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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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-personal-info.command-BVFquL4g.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-
|
|
9
|
+
import { A as AXMHcmProfileContextService } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-BGYF6PWx.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-
|
|
76
|
+
//# sourceMappingURL=acorex-platform-module-human-capital-management-client-edit-signature.command-S8EuJzkb.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-signature.command-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-human-capital-management-client-edit-signature.command-S8EuJzkb.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-
|
|
12
|
+
import { D as DOCUMENT_DRIVE_PAGE_COMPONENT_KEY } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-BGYF6PWx.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-
|
|
87
|
+
//# sourceMappingURL=acorex-platform-module-human-capital-management-client-profile-documents-panel.component-md5iBTci.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component-md5iBTci.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-
|
|
3
|
+
import { P as PROFILE_DOCUMENTS_PANEL_COMPONENT_KEY } from './acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-BGYF6PWx.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-
|
|
11
|
+
loader: () => import('./acorex-platform-module-human-capital-management-client-profile-documents-panel.component-md5iBTci.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
|
|
23
|
+
//# sourceMappingURL=acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider--21c47Ug.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider--21c47Ug.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,2 +1,3 @@
|
|
|
1
|
-
export { a as AXMHumanCapitalManagementModule, b as AXMLeaveRequestBadgeProvider, c as AXMLeaveRequestResourceAppointmentProvider, d as AXMLeaveRequestTaskPopoverComponent, e as AXPHumanCapitalManagementFeatureDefinitionProvider, f as AXPLeaveRequestDialogService
|
|
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-BGYF6PWx.mjs';
|
|
2
|
+
export { HumanCapitalManagementManifest } from '@acorex-platform/module-human-capital-management-client/contracts';
|
|
2
3
|
//# sourceMappingURL=acorex-platform-module-human-capital-management-client.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-human-capital-management-client.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-human-capital-management-client.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@acorex-platform/module-human-capital-management-client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.48",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@acorex-platform/module-data-management-client": "0.0.
|
|
6
|
+
"@acorex-platform/module-data-management-client": "0.0.48",
|
|
7
7
|
"@angular/common": "^21.0.0 || ^22.0.0",
|
|
8
8
|
"@angular/core": "^21.0.0 || ^22.0.0"
|
|
9
9
|
},
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AXPSystemStatusType, AXPIntegrationReference, AXPMultiLanguageString, AXPSystemStatuses } from '@acorex-platform/framework-shared/core';
|
|
1
|
+
import { AXPSystemStatusType, AXPModuleManifest, AXPIntegrationReference, AXPMultiLanguageString, AXPSystemStatuses } from '@acorex-platform/framework-shared/core';
|
|
2
2
|
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
3
3
|
import { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-client/contracts';
|
|
4
4
|
|
|
@@ -175,6 +175,12 @@ declare const RootConfig: {
|
|
|
175
175
|
};
|
|
176
176
|
};
|
|
177
177
|
|
|
178
|
+
/**
|
|
179
|
+
* Human Capital Management Module Manifest.
|
|
180
|
+
* Defines module metadata, features, and provider references.
|
|
181
|
+
*/
|
|
182
|
+
declare const HumanCapitalManagementManifest: AXPModuleManifest;
|
|
183
|
+
|
|
178
184
|
interface AXMHumanCapitalManagementEmployeeEntityModel extends AXPEntityModel<string> {
|
|
179
185
|
statusId?: string;
|
|
180
186
|
employeeCode: string;
|
|
@@ -327,5 +333,5 @@ interface AXMHumanCapitalManagementPositionAssignmentEntityModel extends AXPEnti
|
|
|
327
333
|
notes?: string;
|
|
328
334
|
}
|
|
329
335
|
|
|
330
|
-
export { AXMLeaveRequestOpenStatusIds, AXMLifecycleEventOpenStatusIds, AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS, AXM_POSITION_ASSIGNMENT_STATUS, AXPHumanCapitalManagementCommandKeys, AXPHumanCapitalManagementFeatureKeys, AXPHumanCapitalManagementMenuKeys, AXPHumanCapitalManagementQueryKeys, AXPPeopleOrganizationPermissionKeys, HCM_CATALOG_SCOPE_HR, RootConfig };
|
|
336
|
+
export { AXMLeaveRequestOpenStatusIds, AXMLifecycleEventOpenStatusIds, AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS, AXM_POSITION_ASSIGNMENT_STATUS, AXPHumanCapitalManagementCommandKeys, AXPHumanCapitalManagementFeatureKeys, AXPHumanCapitalManagementMenuKeys, AXPHumanCapitalManagementQueryKeys, AXPPeopleOrganizationPermissionKeys, HCM_CATALOG_SCOPE_HR, HumanCapitalManagementManifest, RootConfig };
|
|
331
337
|
export type { AXMHcmProfileDocumentDriveContext, AXMHumanCapitalManagementEmployeeEntityModel, AXMHumanCapitalManagementEmploymentTypeEntityModel, AXMHumanCapitalManagementLeaveRequestEntityModel, AXMHumanCapitalManagementLeaveRequestStatus, AXMHumanCapitalManagementLeaveTypeEntityModel, AXMHumanCapitalManagementLeaveTypeWorkflowConfig, AXMHumanCapitalManagementLifecycleEventEntityModel, AXMHumanCapitalManagementLifecycleEventStatus, AXMHumanCapitalManagementLifecycleEventTypeEntityModel, AXMHumanCapitalManagementLifecycleEventTypeWorkflowConfig, AXMHumanCapitalManagementPositionAssignmentEntityModel, AXMPositionAssignmentStatusId };
|
|
@@ -2,9 +2,10 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { AXPTaskBadgeProvider, AXPResourceAppointmentBoardProvider, AXPResourceAppointmentBoardFilter, AXPResourceAppointmentResource, AXPResourceAppointmentStatus, AXPResourceAppointmentItem, AXPResourceAppointmentActionMenuItem } from '@acorex-platform/framework-client/layout/components';
|
|
3
3
|
import { AXPExecuteCommand } from '@acorex-platform/framework-shared/core';
|
|
4
4
|
import { AXMHumanCapitalManagementLeaveRequestEntityModel } from '@acorex-platform/module-human-capital-management-client/contracts';
|
|
5
|
+
export { HumanCapitalManagementManifest } from '@acorex-platform/module-human-capital-management-client/contracts';
|
|
5
6
|
import { AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';
|
|
6
7
|
import { AXPTaskPopoverComponent, AXPTask } from '@acorex-platform/module-task-management-client';
|
|
7
|
-
import { AXPFeatureDefinitionProvider, AXPFeatureDefinitionProviderContext
|
|
8
|
+
import { AXPFeatureDefinitionProvider, AXPFeatureDefinitionProviderContext } from '@acorex-platform/framework-client/core';
|
|
8
9
|
import * as i1 from '@angular/common';
|
|
9
10
|
import * as i2 from '@acorex-platform/framework-client/runtime';
|
|
10
11
|
|
|
@@ -104,11 +105,5 @@ declare class AXMHumanCapitalManagementModule {
|
|
|
104
105
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXMHumanCapitalManagementModule>;
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
|
|
108
|
-
* Human Capital Management Module Manifest.
|
|
109
|
-
* Defines module metadata, features, and provider references.
|
|
110
|
-
*/
|
|
111
|
-
declare const HumanCapitalManagementManifest: AXPModuleManifest;
|
|
112
|
-
|
|
113
|
-
export { AXMHumanCapitalManagementModule, AXMLeaveRequestBadgeProvider, AXMLeaveRequestResourceAppointmentProvider, AXMLeaveRequestTaskPopoverComponent, AXPHumanCapitalManagementFeatureDefinitionProvider, AXPLeaveRequestDialogService, HumanCapitalManagementManifest };
|
|
108
|
+
export { AXMHumanCapitalManagementModule, AXMLeaveRequestBadgeProvider, AXMLeaveRequestResourceAppointmentProvider, AXMLeaveRequestTaskPopoverComponent, AXPHumanCapitalManagementFeatureDefinitionProvider, AXPLeaveRequestDialogService };
|
|
114
109
|
export type { LeaveRequestActionDialogResult };
|