@acorex-platform/extension-health-human-capital-management-client 0.0.21
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-extension-health-human-capital-management-client-acorex-platform-extension-health-human-capital-management-client-C6Xgmw5Z.mjs +598 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-acorex-platform-extension-health-human-capital-management-client-C6Xgmw5Z.mjs.map +1 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-contracts.mjs +16 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-edit-my-health-profile.command-Xmbl54L5.mjs +141 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-edit-my-health-profile.command-Xmbl54L5.mjs.map +1 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-manage-my-health-conditions.command-Dkvx6R-w.mjs +78 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-manage-my-health-conditions.command-Dkvx6R-w.mjs.map +1 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-manage-my-health-entity-list-dialog.service-DqmxkgFo.mjs +108 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-manage-my-health-entity-list-dialog.service-DqmxkgFo.mjs.map +1 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-manage-my-health-events.command-CI2pOceW.mjs +111 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client-manage-my-health-events.command-CI2pOceW.mjs.map +1 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client.mjs +2 -0
- package/fesm2022/acorex-platform-extension-health-human-capital-management-client.mjs.map +1 -0
- package/package.json +28 -0
- package/types/acorex-platform-extension-health-human-capital-management-client-contracts.d.ts +9 -0
- package/types/acorex-platform-extension-health-human-capital-management-client.d.ts +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-health-human-capital-management-client-manage-my-health-events.command-CI2pOceW.mjs","sources":["../../../../libs/extensions/health/human-capital-management/client/src/lib/profile-page/commands/manage-my-health-events.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXPEntityAction, AXPEntityCommandScope, entityDetailsCrudActions } from '@acorex-platform/framework-shared/entity';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport {\n HEALTH_PERSON_SUBJECT_TYPE,\n RootConfig as HealthCoreRootConfig,\n} from '@acorex-platform/module-health-core-client/contracts';\n\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPExpressionEvaluatorService } from '@acorex-platform/framework-client/core';\nimport { AXPExpressionEvaluatorScope } from '@acorex-platform/framework-shared/core';\n\nimport { inject, Injectable } from '@angular/core';\nimport { get } from 'lodash-es';\n\nimport { AXEHealthSubjectResolverService } from '../../health-subject-resolver.service';\nimport { AXEManageMyHealthEntityListDialogService } from '../services/manage-my-health-entity-list-dialog.service';\n\n//#endregion\n\n//#region ---- Manage my health events command ----\n\n/** Opens an editable popup listing health records (events) for the current user's person subject. */\n@Injectable({ providedIn: 'root' })\nexport class AXEManageMyHealthEventsCommand implements AXPCommand {\n //#region ---- Services & Dependencies ----\n\n private readonly dialogService = inject(AXEManageMyHealthEntityListDialogService);\n private readonly expressionEvaluator = inject(AXPExpressionEvaluatorService);\n private readonly subjectResolver = inject(AXEHealthSubjectResolverService);\n private readonly translateService = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Constants ----\n\n private readonly entityKey = `${HealthCoreRootConfig.module.name}.${HealthCoreRootConfig.entities.healthEvent.name}`;\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(): AXPCommandExecuteResultPromise<unknown> {\n const subjects = await this.subjectResolver.resolveForCurrentUser();\n const personSubject = subjects.personSubject;\n\n if (!personSubject?.id || !personSubject.type) {\n return {\n success: false,\n message: {\n text: await this.translateService.translateAsync(\n '@health-core:profile-page.commands.manage-health-profile.messages.no-subject',\n ),\n },\n };\n }\n\n const personContext = {\n id: personSubject.id,\n personId: personSubject.id,\n fullName: personSubject.title,\n };\n\n const startActions = await this.buildHealthEventStartActions(personContext);\n\n return this.dialogService.open({\n sectionTitleKey: '@health-core:health-events.entities.health-event.plural',\n subjectName: personSubject.title ?? '',\n entityKey: this.entityKey,\n personContext,\n filters: [\n {\n field: 'subject.type',\n operator: { type: 'equal' },\n value: HEALTH_PERSON_SUBJECT_TYPE,\n hidden: true,\n },\n {\n field: 'subject.id',\n operator: { type: 'equal' },\n value: personSubject.id,\n hidden: true,\n },\n ],\n actions: [\n ...startActions,\n ...entityDetailsCrudActions('subject.id', { create: false, edit: false, delete: false, view: false }),\n ],\n excludeProperties: ['subject.id'],\n includeColumns: ['recordTypeId', 'occurredDate', 'endDate', 'provider', 'statusId'],\n });\n }\n\n //#endregion\n\n //#region ---- Private Methods ----\n\n private async buildHealthEventStartActions(\n personContext: Record<string, unknown>,\n ): Promise<AXPEntityAction[]> {\n const scope: AXPExpressionEvaluatorScope = {\n context: {\n eval: (path: string) => get(personContext, path),\n },\n };\n\n const items = (await this.expressionEvaluator.evaluate(\n `{{ await ${HealthCoreRootConfig.module.name}.HealthEvents('${HEALTH_PERSON_SUBJECT_TYPE}') }}`,\n scope,\n )) as AXPEntityAction[];\n\n return [\n {\n name: 'start-health-event',\n title: '@health-core:health-events.actions.start.title',\n icon: 'fa-light fa-play',\n command: {\n name: 'Entity:Create',\n options: {\n process: {\n redirect: false,\n canCreateNewOne: true,\n data: {},\n },\n },\n },\n priority: 'primary',\n type: 'create',\n scope: AXPEntityCommandScope.TypeLevel,\n items,\n },\n ];\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":["HealthCoreRootConfig"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { a as AXEHealthHumanCapitalManagementExtensionModule, A as AXEHealthSubjectResolverService } from './acorex-platform-extension-health-human-capital-management-client-acorex-platform-extension-health-human-capital-management-client-C6Xgmw5Z.mjs';
|
|
2
|
+
//# sourceMappingURL=acorex-platform-extension-health-human-capital-management-client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-extension-health-human-capital-management-client.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/package.json
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@acorex-platform/extension-health-human-capital-management-client",
|
|
3
|
+
"version": "0.0.21",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"peerDependencies": {
|
|
6
|
+
"@angular/common": "^21.0.0",
|
|
7
|
+
"@angular/core": "^21.0.0"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"tslib": "^2.3.0"
|
|
11
|
+
},
|
|
12
|
+
"module": "fesm2022/acorex-platform-extension-health-human-capital-management-client.mjs",
|
|
13
|
+
"typings": "types/acorex-platform-extension-health-human-capital-management-client.d.ts",
|
|
14
|
+
"exports": {
|
|
15
|
+
"./package.json": {
|
|
16
|
+
"default": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./types/acorex-platform-extension-health-human-capital-management-client.d.ts",
|
|
20
|
+
"default": "./fesm2022/acorex-platform-extension-health-human-capital-management-client.mjs"
|
|
21
|
+
},
|
|
22
|
+
"./contracts": {
|
|
23
|
+
"types": "./types/acorex-platform-extension-health-human-capital-management-client-contracts.d.ts",
|
|
24
|
+
"default": "./fesm2022/acorex-platform-extension-health-human-capital-management-client-contracts.mjs"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"type": "module"
|
|
28
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const AXEHealthCoreProfileCommandKeys: {
|
|
2
|
+
readonly Profile: {
|
|
3
|
+
readonly EditMyHealthProfile: "HealthCore.Profile:EditMyHealthProfile";
|
|
4
|
+
readonly ManageMyHealthConditions: "HealthCore.Profile:ManageMyHealthConditions";
|
|
5
|
+
readonly ManageMyHealthEvents: "HealthCore.Profile:ManageMyHealthEvents";
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { AXEHealthCoreProfileCommandKeys };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@acorex-platform/module-health-core-client';
|
|
3
|
+
import * as i2 from '@acorex-platform/module-human-capital-management-client';
|
|
4
|
+
import { AXPEntityReference } from '@acorex-platform/framework-shared/core';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Bridges HealthCore health records with HCM Employee detail and My Profile Health tab.
|
|
8
|
+
*/
|
|
9
|
+
declare class AXEHealthHumanCapitalManagementExtensionModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXEHealthHumanCapitalManagementExtensionModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXEHealthHumanCapitalManagementExtensionModule, never, [typeof i1.AXMHealthCoreModule, typeof i2.AXMHumanCapitalManagementModule], never>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<AXEHealthHumanCapitalManagementExtensionModule>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
type AXEHealthSubjectContext = {
|
|
16
|
+
personSubject: AXPEntityReference | null;
|
|
17
|
+
employeeSubject: AXPEntityReference | null;
|
|
18
|
+
};
|
|
19
|
+
/** Resolves polymorphic health subjects from the current user's HCM employee (includes person). */
|
|
20
|
+
declare class AXEHealthSubjectResolverService {
|
|
21
|
+
private readonly sessionService;
|
|
22
|
+
private readonly entityService;
|
|
23
|
+
private cachedUserId;
|
|
24
|
+
private cachedContext;
|
|
25
|
+
private inflight;
|
|
26
|
+
resolveForCurrentUser(): Promise<AXEHealthSubjectContext>;
|
|
27
|
+
clearCache(): void;
|
|
28
|
+
private loadContext;
|
|
29
|
+
private findEmployeeByUserId;
|
|
30
|
+
private toEmployeeSubject;
|
|
31
|
+
private toPersonSubjectFromEmployee;
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXEHealthSubjectResolverService, never>;
|
|
33
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXEHealthSubjectResolverService>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { AXEHealthHumanCapitalManagementExtensionModule, AXEHealthSubjectResolverService };
|