@acorex-platform/module-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.
Files changed (31) hide show
  1. package/fesm2022/acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-DlWna0Lz.mjs +2297 -0
  2. package/fesm2022/acorex-platform-module-human-capital-management-client-acorex-platform-module-human-capital-management-client-DlWna0Lz.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-module-human-capital-management-client-approve-leave-request.command-Om_S0k9L.mjs +58 -0
  4. package/fesm2022/acorex-platform-module-human-capital-management-client-approve-leave-request.command-Om_S0k9L.mjs.map +1 -0
  5. package/fesm2022/acorex-platform-module-human-capital-management-client-assign-position-assignment.command-2iHIogn6.mjs +111 -0
  6. package/fesm2022/acorex-platform-module-human-capital-management-client-assign-position-assignment.command-2iHIogn6.mjs.map +1 -0
  7. package/fesm2022/acorex-platform-module-human-capital-management-client-cancel-leave-request.command-DGriRFiQ.mjs +58 -0
  8. package/fesm2022/acorex-platform-module-human-capital-management-client-cancel-leave-request.command-DGriRFiQ.mjs.map +1 -0
  9. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts.mjs +193 -0
  10. package/fesm2022/acorex-platform-module-human-capital-management-client-contracts.mjs.map +1 -0
  11. package/fesm2022/acorex-platform-module-human-capital-management-client-edit-personal-info.command-DK947cW5.mjs +241 -0
  12. package/fesm2022/acorex-platform-module-human-capital-management-client-edit-personal-info.command-DK947cW5.mjs.map +1 -0
  13. package/fesm2022/acorex-platform-module-human-capital-management-client-edit-signature.command-CKrcMxqr.mjs +76 -0
  14. package/fesm2022/acorex-platform-module-human-capital-management-client-edit-signature.command-CKrcMxqr.mjs.map +1 -0
  15. package/fesm2022/acorex-platform-module-human-capital-management-client-profile-documents-panel.component-DrRuKQ6Q.mjs +87 -0
  16. package/fesm2022/acorex-platform-module-human-capital-management-client-profile-documents-panel.component-DrRuKQ6Q.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DPH0YiDP.mjs +23 -0
  18. package/fesm2022/acorex-platform-module-human-capital-management-client-profile-documents-panel.component.provider-DPH0YiDP.mjs.map +1 -0
  19. package/fesm2022/acorex-platform-module-human-capital-management-client-reject-leave-request.command-O9gipd8g.mjs +61 -0
  20. package/fesm2022/acorex-platform-module-human-capital-management-client-reject-leave-request.command-O9gipd8g.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-module-human-capital-management-client-revoke-position-assignment.command-DmVlDQ8_.mjs +108 -0
  22. package/fesm2022/acorex-platform-module-human-capital-management-client-revoke-position-assignment.command-DmVlDQ8_.mjs.map +1 -0
  23. package/fesm2022/acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-BcyCI_vr.mjs +248 -0
  24. package/fesm2022/acorex-platform-module-human-capital-management-client-start-leave-request-flow.command-BcyCI_vr.mjs.map +1 -0
  25. package/fesm2022/acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-Cp_7ZyWU.mjs +250 -0
  26. package/fesm2022/acorex-platform-module-human-capital-management-client-start-lifecycle-event-flow.command-Cp_7ZyWU.mjs.map +1 -0
  27. package/fesm2022/acorex-platform-module-human-capital-management-client.mjs +2 -0
  28. package/fesm2022/acorex-platform-module-human-capital-management-client.mjs.map +1 -0
  29. package/package.json +28 -0
  30. package/types/acorex-platform-module-human-capital-management-client-contracts.d.ts +331 -0
  31. package/types/acorex-platform-module-human-capital-management-client.d.ts +114 -0
@@ -0,0 +1,331 @@
1
+ import { AXPSystemStatusType, AXPIntegrationReference, AXPMultiLanguageString, AXPSystemStatuses } from '@acorex-platform/framework-shared/core';
2
+ import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
3
+ import { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-contracts';
4
+
5
+ /** HR catalog scope for questionnaires, question bank items, and workflow definitions. */
6
+ declare const HCM_CATALOG_SCOPE_HR = "human-capital-management.hr";
7
+
8
+ declare const AXPHumanCapitalManagementCommandKeys: {
9
+ readonly PositionAssignment: {
10
+ readonly Assign: "HumanCapitalManagement.PositionAssignment:Assign";
11
+ readonly Revoke: "HumanCapitalManagement.PositionAssignment:Revoke";
12
+ };
13
+ readonly LifecycleEvent: {
14
+ readonly StartFlow: "HumanCapitalManagement.LifecycleEvent:StartFlow";
15
+ };
16
+ readonly LeaveRequest: {
17
+ readonly StartFlow: "HumanCapitalManagement.LeaveRequest:StartFlow";
18
+ };
19
+ readonly Profile: {
20
+ readonly EditPersonalInfo: "HumanCapitalManagement.Profile:EditPersonalInfo";
21
+ readonly EditSignature: "HumanCapitalManagement.Profile:EditSignature";
22
+ };
23
+ };
24
+
25
+ declare const AXPHumanCapitalManagementFeatureKeys: {
26
+ readonly EmployeeManagement: "HumanCapitalManagement:Feature:Employee.Management";
27
+ readonly LeaveManagement: "HumanCapitalManagement:Feature:Leave.Management";
28
+ readonly LifecycleManagement: "HumanCapitalManagement:Feature:Lifecycle.Management";
29
+ };
30
+
31
+ /** Statuses that block starting another run for the same employee and leave type. */
32
+ declare const AXMLeaveRequestOpenStatusIds: readonly [AXPSystemStatusType.WaitingApproval];
33
+
34
+ /** Statuses that block starting another run for the same employee and event type. */
35
+ declare const AXMLifecycleEventOpenStatusIds: readonly [AXPSystemStatusType.InProgress, AXPSystemStatusType.WaitingSignOff];
36
+
37
+ declare const AXPHumanCapitalManagementMenuKeys: {
38
+ readonly Root: "HumanCapitalManagement:Menu";
39
+ readonly Employees: "HumanCapitalManagement:Menu:Employees";
40
+ readonly EmploymentTypes: "HumanCapitalManagement:Menu:EmploymentTypes";
41
+ readonly Divider1: "HumanCapitalManagement:Menu:Divider1";
42
+ readonly PositionAssignments: "HumanCapitalManagement:Menu:PositionAssignments";
43
+ readonly Divider2: "HumanCapitalManagement:Menu:Divider2";
44
+ readonly LeaveTypes: "HumanCapitalManagement:Menu:LeaveTypes";
45
+ readonly LeaveRequests: "HumanCapitalManagement:Menu:LeaveRequests";
46
+ readonly LeaveRequestBoard: "HumanCapitalManagement:Menu:LeaveRequestBoard";
47
+ readonly LifecycleEventTypes: "HumanCapitalManagement:Menu:LifecycleEventTypes";
48
+ };
49
+
50
+ /**
51
+ * People & Organization capabilities used by this module.
52
+ * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).
53
+ */
54
+ declare const AXPPeopleOrganizationPermissionKeys: {
55
+ readonly Access: "PeopleOrganization:Permission:Access";
56
+ readonly ViewOrganization: "PeopleOrganization:Permission:ViewOrganization";
57
+ readonly MaintainOrganization: "PeopleOrganization:Permission:MaintainOrganization";
58
+ readonly MaintainTeams: "PeopleOrganization:Permission:MaintainTeams";
59
+ readonly MaintainEmployees: "PeopleOrganization:Permission:MaintainEmployees";
60
+ readonly ManageEmployeeActions: "PeopleOrganization:Permission:ManageEmployeeActions";
61
+ readonly MaintainPersons: "PeopleOrganization:Permission:MaintainPersons";
62
+ readonly MaintainAttendance: "PeopleOrganization:Permission:MaintainAttendance";
63
+ readonly ManageAttendanceActions: "PeopleOrganization:Permission:ManageAttendanceActions";
64
+ readonly DesignJobs: "PeopleOrganization:Permission:DesignJobs";
65
+ readonly Setup: "PeopleOrganization:Permission:Setup";
66
+ };
67
+
68
+ declare const AXM_POSITION_ASSIGNMENT_STATUS: {
69
+ readonly active: AXPSystemStatusType.Active;
70
+ readonly scheduled: "scheduled";
71
+ readonly expired: "expired";
72
+ readonly revoked: "revoked";
73
+ };
74
+ type AXMPositionAssignmentStatusId = (typeof AXM_POSITION_ASSIGNMENT_STATUS)[keyof typeof AXM_POSITION_ASSIGNMENT_STATUS];
75
+ /**
76
+ * Statuses that still occupy the employee / manager seat for overlap and revoke resolution.
77
+ * Keep in sync with position-assignment duplicate-seat validation (mock and future API rules).
78
+ */
79
+ declare const AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS: readonly AXMPositionAssignmentStatusId[];
80
+
81
+ /** Result of resolving the current session user's employee EDMS folder ref. */
82
+ interface AXMHcmProfileDocumentDriveContext {
83
+ employeeId: string;
84
+ /** e.g. `HumanCapitalManagement.Employee` */
85
+ refType: string;
86
+ /** Employee record id used as folder `refId`. */
87
+ refId: string;
88
+ /** Allowed document type names for create/upload (matches Employee documents plugin). */
89
+ documentTypeNames: string[];
90
+ }
91
+
92
+ declare const AXPHumanCapitalManagementQueryKeys: {
93
+ readonly Profile: {
94
+ readonly GetMyDocumentDriveContext: "HumanCapitalManagement:Profile:GetMyDocumentDriveContext";
95
+ };
96
+ };
97
+
98
+ declare const RootConfig: {
99
+ readonly config: {
100
+ i18n: string;
101
+ module: string;
102
+ };
103
+ readonly module: {
104
+ readonly route: "human-capital-management";
105
+ readonly name: string;
106
+ readonly title: "@human-capital-management:module.title";
107
+ readonly icon: "fa-light fa-users";
108
+ };
109
+ readonly entities: {
110
+ readonly employee: {
111
+ readonly name: "Employee";
112
+ readonly source: `${string}.Employee`;
113
+ readonly title: "@human-capital-management:employees.entities.employee.title";
114
+ readonly titlePlural: "@human-capital-management:employees.entities.employee.plural";
115
+ readonly icon: "fa-light fa-address-card";
116
+ };
117
+ readonly employmentType: {
118
+ readonly name: "EmploymentType";
119
+ readonly source: `${string}.EmploymentType`;
120
+ readonly title: "@human-capital-management:employment-types.entities.employment-type.title";
121
+ readonly titlePlural: "@human-capital-management:employment-types.entities.employment-type.plural";
122
+ readonly icon: "fa-light fa-file-signature";
123
+ };
124
+ readonly positionAssignment: {
125
+ readonly name: "PositionAssignment";
126
+ readonly source: `${string}.PositionAssignment`;
127
+ readonly title: "@human-capital-management:position-assignments.entities.position-assignment.title";
128
+ readonly titlePlural: "@human-capital-management:position-assignments.entities.position-assignment.plural";
129
+ readonly icon: "fa-light fa-user-tie-hair";
130
+ };
131
+ readonly leaveType: {
132
+ readonly name: "LeaveType";
133
+ readonly source: `${string}.LeaveType`;
134
+ readonly title: "@human-capital-management:leave-types.entities.leave-type.title";
135
+ readonly titlePlural: "@human-capital-management:leave-types.entities.leave-type.plural";
136
+ readonly icon: "fa-light fa-calendar-days";
137
+ };
138
+ readonly leaveRequest: {
139
+ readonly name: "LeaveRequest";
140
+ readonly source: `${string}.LeaveRequest`;
141
+ readonly title: "@human-capital-management:leave-requests.entities.leave-request.title";
142
+ readonly titlePlural: "@human-capital-management:leave-requests.entities.leave-request.plural";
143
+ readonly icon: "fa-light fa-plane-departure";
144
+ };
145
+ readonly lifecycleEventType: {
146
+ readonly name: "LifecycleEventType";
147
+ readonly source: `${string}.LifecycleEventType`;
148
+ readonly title: "@human-capital-management:lifecycle-event-types.entities.lifecycle-event-type.title";
149
+ readonly titlePlural: "@human-capital-management:lifecycle-event-types.entities.lifecycle-event-type.plural";
150
+ readonly icon: "fa-light fa-diagram-next";
151
+ };
152
+ readonly lifecycleEvent: {
153
+ readonly name: "LifecycleEvent";
154
+ readonly source: `${string}.LifecycleEvent`;
155
+ readonly title: "@human-capital-management:lifecycle-events.entities.lifecycle-event.title";
156
+ readonly titlePlural: "@human-capital-management:lifecycle-events.entities.lifecycle-event.plural";
157
+ readonly icon: "fa-light fa-clipboard-list-check";
158
+ };
159
+ };
160
+ readonly pages: {
161
+ readonly appointmentBoard: {
162
+ readonly path: "Boards/ResourceAppointment";
163
+ readonly title: "@human-capital-management:leave-requests.menus.appointment-board.title";
164
+ readonly icon: "fa-light fa-calendar-lines";
165
+ };
166
+ };
167
+ readonly queries: {
168
+ readonly dashboard: {
169
+ readonly employeesKpi: `${string}:Dashboard:EmployeesKpi`;
170
+ };
171
+ readonly reports: {
172
+ readonly getHeadcountByDepartment: `${string}:Reports:GetHeadcountByDepartment`;
173
+ readonly getLeaveUsageByType: `${string}:Reports:GetLeaveUsageByType`;
174
+ };
175
+ };
176
+ };
177
+
178
+ interface AXMHumanCapitalManagementEmployeeEntityModel extends AXPEntityModel<string> {
179
+ statusId?: string;
180
+ employeeCode: string;
181
+ signature?: string;
182
+ jobDefinitionId: string;
183
+ positionId: string;
184
+ employmentTypeId: string;
185
+ hireDate: Date;
186
+ contactId?: string;
187
+ userId?: string;
188
+ managerId?: string;
189
+ manager?: AXMHumanCapitalManagementEmployeeEntityModel;
190
+ /** Denormalized from position assignments (mock: synced via distributed listener + seeder). */
191
+ activePrimaryPositionId?: string | null;
192
+ activePrimaryPosition?: {
193
+ id: string;
194
+ title?: unknown;
195
+ };
196
+ /** Business unit of the same primary assignment as {@link activePrimaryPositionId}. */
197
+ activePrimaryBusinessUnitId?: string | null;
198
+ activePrimaryBusinessUnit?: {
199
+ id: string;
200
+ title?: unknown;
201
+ };
202
+ personId?: string;
203
+ person?: {
204
+ id: string;
205
+ fullName?: string;
206
+ };
207
+ /** Link to an external HRIS employee (e.g. BambooHR). */
208
+ integrationRef?: AXPIntegrationReference | null;
209
+ }
210
+
211
+ interface AXMHumanCapitalManagementEmploymentTypeEntityModel {
212
+ id: string;
213
+ title: AXPMultiLanguageString;
214
+ description?: AXPMultiLanguageString;
215
+ }
216
+
217
+ type AXMHumanCapitalManagementLeaveRequestStatus = typeof AXPSystemStatuses.WaitingApproval.name | typeof AXPSystemStatuses.Approved.name | typeof AXPSystemStatuses.Rejected.name | typeof AXPSystemStatuses.Cancelled.name;
218
+ interface AXMHumanCapitalManagementLeaveRequestEntityModel extends AXPEntityModel<string> {
219
+ employeeId: string;
220
+ employee?: AXMHumanCapitalManagementEmployeeEntityModel;
221
+ leaveTypeId: string;
222
+ leaveType?: {
223
+ id: string;
224
+ title: string;
225
+ };
226
+ startDate: Date;
227
+ endDate: Date;
228
+ durationDays?: number;
229
+ reason?: string;
230
+ statusId?: AXMHumanCapitalManagementLeaveRequestStatus;
231
+ status?: {
232
+ id: AXMHumanCapitalManagementLeaveRequestStatus;
233
+ title?: string;
234
+ };
235
+ }
236
+
237
+ /** Workflow template binding and admin-configured default inputs for leave types. */
238
+ interface AXMHumanCapitalManagementLeaveTypeWorkflowConfig {
239
+ workflowDefinitionId: string;
240
+ workflowName: string;
241
+ defaultInput?: Record<string, unknown>;
242
+ }
243
+ interface AXMHumanCapitalManagementLeaveTypeEntityModel extends AXPEntityModel<string> {
244
+ title: AXPMultiLanguageString;
245
+ description: AXPMultiLanguageString;
246
+ color: string;
247
+ /** Selected workflow and template-time input defaults for this leave type. */
248
+ workflowConfig?: AXMHumanCapitalManagementLeaveTypeWorkflowConfig | null;
249
+ }
250
+
251
+ type AXMHumanCapitalManagementLifecycleEventStatus = AXPSystemStatusType.InProgress | AXPSystemStatusType.WaitingSignOff | AXPSystemStatusType.Completed | AXPSystemStatusType.Cancelled;
252
+ /**
253
+ * One employee lifecycle event (onboarding, separation, …), driven by {@link AXMHumanCapitalManagementLifecycleEventTypeEntityModel}.
254
+ */
255
+ interface AXMHumanCapitalManagementLifecycleEventEntityModel extends AXPEntityModel<string> {
256
+ employeeId: string;
257
+ employee?: AXMHumanCapitalManagementEmployeeEntityModel;
258
+ eventTypeId: string;
259
+ eventType?: {
260
+ id: string;
261
+ title: AXPMultiLanguageString;
262
+ };
263
+ /**
264
+ * Platform user currently assigned the active workflow step (human task / cartable assignee).
265
+ * Populate from workflow engine or middleware when tasks are created or claimed.
266
+ */
267
+ assignedToUserId?: string | null;
268
+ assignedToUser?: {
269
+ id: string;
270
+ displayName?: string;
271
+ };
272
+ effectiveDate?: Date;
273
+ notes?: string;
274
+ statusId?: AXMHumanCapitalManagementLifecycleEventStatus;
275
+ status?: {
276
+ id: AXMHumanCapitalManagementLifecycleEventStatus;
277
+ title?: string;
278
+ };
279
+ }
280
+
281
+ /** Workflow template binding and admin-configured default inputs for lifecycle event types. */
282
+ interface AXMHumanCapitalManagementLifecycleEventTypeWorkflowConfig {
283
+ workflowDefinitionId: string;
284
+ workflowName: string;
285
+ defaultInput?: Record<string, unknown>;
286
+ }
287
+ /**
288
+ * Defines workflow defaults, questionnaire, and metadata schema for employee lifecycle events (onboarding, separation, etc.).
289
+ */
290
+ interface AXMHumanCapitalManagementLifecycleEventTypeEntityModel extends AXPEntityModel<string> {
291
+ title: AXPMultiLanguageString;
292
+ description?: AXPMultiLanguageString;
293
+ /** Selected workflow and template-time input defaults (e.g. questionnaireId). */
294
+ workflowConfig?: AXMHumanCapitalManagementLifecycleEventTypeWorkflowConfig | null;
295
+ /** Font Awesome icon classes (e.g. `fa-light fa-user-plus`). */
296
+ icon?: string;
297
+ /** Meta-data-builder schema (`metaDataList`); drives dynamic fields on lifecycle events for this template. */
298
+ metaDataList?: AXMMetaDataBuilderValue;
299
+ }
300
+
301
+ interface AXMHumanCapitalManagementPositionAssignmentEntityModel extends AXPEntityModel<string> {
302
+ employeeId: string;
303
+ positionId: string;
304
+ businessUnitId: string;
305
+ businessUnit?: {
306
+ id: string;
307
+ title: string;
308
+ };
309
+ employee?: {
310
+ id: string;
311
+ person?: {
312
+ fullName?: string;
313
+ };
314
+ };
315
+ position?: {
316
+ id: string;
317
+ title: string;
318
+ };
319
+ startDate: Date;
320
+ endDate?: Date;
321
+ statusId?: AXMPositionAssignmentStatusId;
322
+ status?: {
323
+ id: AXMPositionAssignmentStatusId;
324
+ title?: string;
325
+ };
326
+ isPrimary?: boolean;
327
+ notes?: string;
328
+ }
329
+
330
+ export { AXMLeaveRequestOpenStatusIds, AXMLifecycleEventOpenStatusIds, AXM_POSITION_ASSIGNMENT_OVERLAPPING_STATUS_IDS, AXM_POSITION_ASSIGNMENT_STATUS, AXPHumanCapitalManagementCommandKeys, AXPHumanCapitalManagementFeatureKeys, AXPHumanCapitalManagementMenuKeys, AXPHumanCapitalManagementQueryKeys, AXPPeopleOrganizationPermissionKeys, HCM_CATALOG_SCOPE_HR, RootConfig };
331
+ export type { AXMHcmProfileDocumentDriveContext, AXMHumanCapitalManagementEmployeeEntityModel, AXMHumanCapitalManagementEmploymentTypeEntityModel, AXMHumanCapitalManagementLeaveRequestEntityModel, AXMHumanCapitalManagementLeaveRequestStatus, AXMHumanCapitalManagementLeaveTypeEntityModel, AXMHumanCapitalManagementLeaveTypeWorkflowConfig, AXMHumanCapitalManagementLifecycleEventEntityModel, AXMHumanCapitalManagementLifecycleEventStatus, AXMHumanCapitalManagementLifecycleEventTypeEntityModel, AXMHumanCapitalManagementLifecycleEventTypeWorkflowConfig, AXMHumanCapitalManagementPositionAssignmentEntityModel, AXMPositionAssignmentStatusId };
@@ -0,0 +1,114 @@
1
+ import * as i0 from '@angular/core';
2
+ import { AXPTaskBadgeProvider, AXPResourceAppointmentBoardProvider, AXPResourceAppointmentBoardFilter, AXPResourceAppointmentResource, AXPResourceAppointmentStatus, AXPResourceAppointmentItem, AXPResourceAppointmentActionMenuItem } from '@acorex-platform/framework-client/layout/components';
3
+ import { AXPExecuteCommand } from '@acorex-platform/framework-shared/core';
4
+ import { AXMHumanCapitalManagementLeaveRequestEntityModel } from '@acorex-platform/module-human-capital-management-client/contracts';
5
+ import { AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';
6
+ import { AXPTaskPopoverComponent, AXPTask } from '@acorex-platform/module-task-management-client';
7
+ import { AXPFeatureDefinitionProvider, AXPFeatureDefinitionProviderContext, AXPModuleManifest } from '@acorex-platform/framework-client/core';
8
+ import * as i1 from '@angular/common';
9
+ import * as i2 from '@acorex-platform/framework-client/runtime';
10
+
11
+ declare class AXMLeaveRequestBadgeProvider extends AXPTaskBadgeProvider {
12
+ private readonly entityService;
13
+ private readonly leaveRequestData;
14
+ private readonly commandEvents;
15
+ private readonly destroyRef;
16
+ key: string;
17
+ count: i0.WritableSignal<number>;
18
+ constructor();
19
+ /**
20
+ * Forces badge count recalculation by querying the leave request entity service.
21
+ */
22
+ refresh(): Promise<void>;
23
+ /**
24
+ * Returns true when the command event targets the leave request entity.
25
+ */
26
+ private isLeaveRequestCommandEvent;
27
+ /**
28
+ * Handles command execution events and refreshes the badge when targeted leave request commands succeed.
29
+ */
30
+ private handleCommandEvent;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMLeaveRequestBadgeProvider, never>;
32
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXMLeaveRequestBadgeProvider>;
33
+ }
34
+
35
+ declare class AXMLeaveRequestResourceAppointmentProvider extends AXPResourceAppointmentBoardProvider<AXMHumanCapitalManagementLeaveRequestEntityModel> {
36
+ private readonly entityService;
37
+ get name(): string;
38
+ get title(): string;
39
+ get icon(): string;
40
+ getList(filter?: AXPResourceAppointmentBoardFilter): Promise<AXPResourceAppointmentResource[]>;
41
+ getStatuses(): Promise<AXPResourceAppointmentStatus[]>;
42
+ getActions(context?: AXPResourceAppointmentItem): Promise<AXPResourceAppointmentActionMenuItem[]>;
43
+ executeCommand(command: AXPExecuteCommand): AXPCommandExecuteResultPromise;
44
+ }
45
+
46
+ interface LeaveRequestActionDialogResult {
47
+ reason?: string;
48
+ note?: string;
49
+ cancelled: boolean;
50
+ }
51
+ declare class AXPLeaveRequestDialogService {
52
+ private readonly layoutBuilder;
53
+ private readonly translationService;
54
+ showRejectionDialog(): Promise<LeaveRequestActionDialogResult>;
55
+ showCancellationDialog(): Promise<LeaveRequestActionDialogResult>;
56
+ showApprovalDialog(): Promise<LeaveRequestActionDialogResult>;
57
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPLeaveRequestDialogService, never>;
58
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPLeaveRequestDialogService>;
59
+ }
60
+
61
+ declare class AXMLeaveRequestTaskPopoverComponent extends AXPTaskPopoverComponent {
62
+ task: i0.InputSignal<AXPTask<Record<string, any>>>;
63
+ private readonly commandExecutor;
64
+ private readonly dialogService;
65
+ protected taskData: i0.Signal<AXMHumanCapitalManagementLeaveRequestEntityModel>;
66
+ protected employeeName: i0.Signal<string>;
67
+ protected managerName: i0.Signal<string>;
68
+ protected leaveType: i0.Signal<string>;
69
+ protected canApprove: i0.Signal<boolean>;
70
+ protected canReject: i0.Signal<boolean>;
71
+ protected canCancel: i0.Signal<boolean>;
72
+ protected formatDate(date: Date): string;
73
+ protected calculateDuration(): number;
74
+ protected handleApprove(): Promise<void>;
75
+ protected handleReject(): Promise<void>;
76
+ protected handleCancel(): Promise<void>;
77
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMLeaveRequestTaskPopoverComponent, never>;
78
+ static ɵcmp: i0.ɵɵComponentDeclaration<AXMLeaveRequestTaskPopoverComponent, "axm-leave-request-task-popover", never, { "task": { "alias": "task"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
79
+ }
80
+
81
+ /**
82
+ * Human Capital Management Feature Definition Provider.
83
+ * Provides feature definitions for the Human Capital Management module.
84
+ */
85
+ declare class AXPHumanCapitalManagementFeatureDefinitionProvider implements AXPFeatureDefinitionProvider {
86
+ provide(context: AXPFeatureDefinitionProviderContext): Promise<void>;
87
+ }
88
+
89
+ declare class AXMLeaveRequestFeatureModule {
90
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMLeaveRequestFeatureModule, never>;
91
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMLeaveRequestFeatureModule, never, [typeof i1.CommonModule, typeof i2.AXPRuntimeModule], never>;
92
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMLeaveRequestFeatureModule>;
93
+ }
94
+
95
+ declare class AXMLifecycleEventFeatureModule {
96
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMLifecycleEventFeatureModule, never>;
97
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMLifecycleEventFeatureModule, never, [typeof i2.AXPRuntimeModule], never>;
98
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMLifecycleEventFeatureModule>;
99
+ }
100
+
101
+ declare class AXMHumanCapitalManagementModule {
102
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXMHumanCapitalManagementModule, never>;
103
+ static ɵmod: i0.ɵɵNgModuleDeclaration<AXMHumanCapitalManagementModule, never, [typeof i1.CommonModule, typeof i2.AXPRuntimeModule, typeof AXMLeaveRequestFeatureModule, typeof AXMLifecycleEventFeatureModule], never>;
104
+ static ɵinj: i0.ɵɵInjectorDeclaration<AXMHumanCapitalManagementModule>;
105
+ }
106
+
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 };
114
+ export type { LeaveRequestActionDialogResult };