@acorex-platform/module-learning-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-module-learning-management-client-contracts.mjs +321 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-learning-management-client.mjs +1097 -0
- package/fesm2022/acorex-platform-module-learning-management-client.mjs.map +1 -0
- package/package.json +28 -0
- package/types/acorex-platform-module-learning-management-client-contracts.d.ts +532 -0
- package/types/acorex-platform-module-learning-management-client.d.ts +209 -0
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
import { AXPMenuProvider, AXPMenuProviderContext, AXPSearchCommandProvider, AXPSearchResult } from '@acorex-platform/framework-client/common';
|
|
2
|
+
import { AXPPermissionDefinitionProvider, AXPPermissionDefinitionProviderContext } from '@acorex-platform/framework-client/auth';
|
|
3
|
+
import * as _angular_core from '@angular/core';
|
|
4
|
+
import * as i1 from '@acorex-platform/framework-client/layout/widget-core';
|
|
5
|
+
import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
|
|
6
|
+
import { AXPSpreadsheetItem, AXPSpreadsheetData, AXPSpreadsheetCellChangeEvent, AXPSpreadsheetColumn, AXPSpreadsheetRowChangeEvent } from '@acorex-platform/framework-client/layout/components';
|
|
7
|
+
import { AXMLearningManagementSkillEntityModel } from '@acorex-platform/module-learning-management-client/contracts';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Learning Management Module Menu Provider.
|
|
11
|
+
* - Root "Learning": Skills, Courses, Trainings, Enrollments, Certificates, Licenses, Learning Paths (operational)
|
|
12
|
+
* - Configuration/Learning: Skill Levels, Course Types, Training Definitions/Types, Certificate Definitions/Types, License Types, Mandatory Training Rules (reference)
|
|
13
|
+
*/
|
|
14
|
+
declare class AXMLearningManagementMenuProvider implements AXPMenuProvider {
|
|
15
|
+
private readonly entityService;
|
|
16
|
+
provide(context: AXPMenuProviderContext): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Registers learning capabilities into the shared Learning group.
|
|
21
|
+
*/
|
|
22
|
+
declare class AXMLearningManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {
|
|
23
|
+
define(context: AXPPermissionDefinitionProviderContext): Promise<void>;
|
|
24
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMLearningManagementPermissionDefinitionProvider, never>;
|
|
25
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AXMLearningManagementPermissionDefinitionProvider>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
declare class AXMLearningManagementSearchCommandProvider extends AXPSearchCommandProvider {
|
|
29
|
+
commands: AXPSearchResult[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
declare class AXMLearningManagementModule {
|
|
33
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMLearningManagementModule, never>;
|
|
34
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXMLearningManagementModule, never, [typeof i1.AXPWidgetCoreModule], never>;
|
|
35
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXMLearningManagementModule>;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare class AXMLearningManagementSkillMatrixComponent {
|
|
39
|
+
private readonly entityService;
|
|
40
|
+
private readonly skillLevelDataAccessor;
|
|
41
|
+
private readonly skillDataAccessor;
|
|
42
|
+
private readonly skillCategoryDataAccessor;
|
|
43
|
+
private readonly entityDataSelectorService;
|
|
44
|
+
private readonly entityResolver;
|
|
45
|
+
private readonly translationService;
|
|
46
|
+
private readonly destroyRef;
|
|
47
|
+
private readonly activeLocale;
|
|
48
|
+
/**
|
|
49
|
+
* Array of job titles/positions to display as columns (e.g., Senior, Manager, Director)
|
|
50
|
+
*/
|
|
51
|
+
titles: _angular_core.InputSignal<AXPSpreadsheetItem[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Initial matrix data: { [skillId]: { [title.id]: skillLevelId } }
|
|
54
|
+
*/
|
|
55
|
+
value: _angular_core.InputSignal<AXPSpreadsheetData>;
|
|
56
|
+
/**
|
|
57
|
+
* Whether the matrix is in readonly mode
|
|
58
|
+
*/
|
|
59
|
+
readonly: _angular_core.InputSignal<boolean>;
|
|
60
|
+
/**
|
|
61
|
+
* Initial skill IDs (for syncing with parent entity)
|
|
62
|
+
*/
|
|
63
|
+
skillIds: _angular_core.InputSignal<string[]>;
|
|
64
|
+
/**
|
|
65
|
+
* Emitted when the matrix value changes
|
|
66
|
+
*/
|
|
67
|
+
valueChange: _angular_core.OutputEmitterRef<AXPSpreadsheetData>;
|
|
68
|
+
/**
|
|
69
|
+
* Emitted when a single cell value changes
|
|
70
|
+
*/
|
|
71
|
+
cellChange: _angular_core.OutputEmitterRef<AXPSpreadsheetCellChangeEvent>;
|
|
72
|
+
/**
|
|
73
|
+
* Emitted when selected skills change (skill IDs array)
|
|
74
|
+
*/
|
|
75
|
+
skillIdsChange: _angular_core.OutputEmitterRef<string[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Skill levels loaded from the service
|
|
78
|
+
*/
|
|
79
|
+
private skillLevels;
|
|
80
|
+
/**
|
|
81
|
+
* Selected skills (internal state)
|
|
82
|
+
*/
|
|
83
|
+
protected selectedSkills: _angular_core.WritableSignal<AXMLearningManagementSkillEntityModel[]>;
|
|
84
|
+
/**
|
|
85
|
+
* Skill entity definition
|
|
86
|
+
*/
|
|
87
|
+
private skillEntityDef;
|
|
88
|
+
/**
|
|
89
|
+
* Loading state
|
|
90
|
+
*/
|
|
91
|
+
protected isLoading: _angular_core.WritableSignal<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* Loading state for skill entity
|
|
94
|
+
*/
|
|
95
|
+
protected isLoadingSkillEntity: _angular_core.WritableSignal<boolean>;
|
|
96
|
+
/**
|
|
97
|
+
* Vertical titles (skills) - rows of the matrix
|
|
98
|
+
*/
|
|
99
|
+
protected verticalTitles: _angular_core.Signal<AXPSpreadsheetItem[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Horizontal titles (job titles/positions) - columns of the matrix
|
|
102
|
+
*/
|
|
103
|
+
protected horizontalTitles: _angular_core.Signal<AXPSpreadsheetItem[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Cell options (skill levels) - dropdown options for each cell, loaded from service
|
|
106
|
+
*/
|
|
107
|
+
protected cellOptions: _angular_core.Signal<AXPSpreadsheetItem[]>;
|
|
108
|
+
/**
|
|
109
|
+
* Spreadsheet columns - converted from horizontalTitles (job titles/positions)
|
|
110
|
+
*/
|
|
111
|
+
protected spreadsheetColumns: _angular_core.Signal<AXPSpreadsheetColumn[]>;
|
|
112
|
+
/**
|
|
113
|
+
* Spreadsheet rows - converted from matrix data and vertical titles
|
|
114
|
+
*/
|
|
115
|
+
protected spreadsheetRows: _angular_core.Signal<Record<string, any>[]>;
|
|
116
|
+
constructor();
|
|
117
|
+
/**
|
|
118
|
+
* Load skill levels from the service
|
|
119
|
+
*/
|
|
120
|
+
private loadSkillLevels;
|
|
121
|
+
/**
|
|
122
|
+
* Load skill entity definition
|
|
123
|
+
*/
|
|
124
|
+
private loadSkillEntityDef;
|
|
125
|
+
/**
|
|
126
|
+
* Load skills by IDs
|
|
127
|
+
*/
|
|
128
|
+
private loadSkillsByIds;
|
|
129
|
+
/**
|
|
130
|
+
* Convert spreadsheet rows back to matrix data format
|
|
131
|
+
*/
|
|
132
|
+
private convertSpreadsheetRowsToMatrixData;
|
|
133
|
+
/**
|
|
134
|
+
* Handle spreadsheet change event - convert to matrix format
|
|
135
|
+
*/
|
|
136
|
+
protected handleSpreadsheetChange(rows: Record<string, any>[]): void;
|
|
137
|
+
/**
|
|
138
|
+
* Handle cell change event from spreadsheet
|
|
139
|
+
*/
|
|
140
|
+
protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void;
|
|
141
|
+
/**
|
|
142
|
+
* Open skill selector dialog with category filter
|
|
143
|
+
*/
|
|
144
|
+
protected handleSelectSkills(): Promise<void>;
|
|
145
|
+
/**
|
|
146
|
+
* Remove a skill from selection
|
|
147
|
+
*/
|
|
148
|
+
protected handleRemoveSkill(skillId: string): void;
|
|
149
|
+
/**
|
|
150
|
+
* Handle row change event from spreadsheet (add/remove)
|
|
151
|
+
*/
|
|
152
|
+
protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void;
|
|
153
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXMLearningManagementSkillMatrixComponent, never>;
|
|
154
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXMLearningManagementSkillMatrixComponent, "axm-skill-matrix", never, { "titles": { "alias": "titles"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "skillIds": { "alias": "skillIds"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; "cellChange": "cellChange"; "skillIdsChange": "skillIdsChange"; }, never, never, true, never>;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
declare class AXLSkillMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {
|
|
158
|
+
/**
|
|
159
|
+
* Titles from context - reactively reads from context data signal
|
|
160
|
+
* This ensures the titles update immediately when requiredLevels changes in context
|
|
161
|
+
*/
|
|
162
|
+
protected titles: _angular_core.Signal<AXPSpreadsheetItem[]>;
|
|
163
|
+
/**
|
|
164
|
+
* Readonly mode from options - properly tracks options signal changes
|
|
165
|
+
*/
|
|
166
|
+
protected readonly: _angular_core.Signal<boolean>;
|
|
167
|
+
/**
|
|
168
|
+
* Current matrix value - tracks getValue signal changes
|
|
169
|
+
*/
|
|
170
|
+
protected matrixValue: _angular_core.Signal<AXPSpreadsheetData>;
|
|
171
|
+
/**
|
|
172
|
+
* Skill IDs extracted from matrix data keys or from options
|
|
173
|
+
*/
|
|
174
|
+
protected skillIds: _angular_core.Signal<string[]>;
|
|
175
|
+
/**
|
|
176
|
+
* Handle value change from skill-matrix component
|
|
177
|
+
*/
|
|
178
|
+
protected handleValueChange(data: AXPSpreadsheetData): void;
|
|
179
|
+
/**
|
|
180
|
+
* Handle skill IDs change from skill-matrix component
|
|
181
|
+
* Skill IDs are stored as keys in the matrix data, so this is mainly for tracking
|
|
182
|
+
*/
|
|
183
|
+
protected handleSkillIdsChange(skillIds: string[]): void;
|
|
184
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLSkillMatrixWidgetEditComponent, never>;
|
|
185
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLSkillMatrixWidgetEditComponent, "axm-skill-matrix-widget-edit", never, {}, {}, never, never, true, never>;
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
declare class AXLSkillMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {
|
|
189
|
+
/**
|
|
190
|
+
* Skill IDs from options
|
|
191
|
+
*/
|
|
192
|
+
protected skills: _angular_core.Signal<{
|
|
193
|
+
id: string;
|
|
194
|
+
title: string;
|
|
195
|
+
description?: string;
|
|
196
|
+
}[]>;
|
|
197
|
+
/**
|
|
198
|
+
* Current matrix value
|
|
199
|
+
*/
|
|
200
|
+
protected matrixValue: _angular_core.Signal<AXPSpreadsheetData>;
|
|
201
|
+
/**
|
|
202
|
+
* Handle value change from skill-matrix component
|
|
203
|
+
*/
|
|
204
|
+
protected handleValueChange(data: AXPSpreadsheetData): void;
|
|
205
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXLSkillMatrixWidgetViewComponent, never>;
|
|
206
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXLSkillMatrixWidgetViewComponent, "axm-skill-matrix-widget-view", never, {}, {}, never, never, true, never>;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
export { AXLSkillMatrixWidgetEditComponent, AXLSkillMatrixWidgetViewComponent, AXMLearningManagementMenuProvider, AXMLearningManagementModule, AXMLearningManagementPermissionDefinitionProvider, AXMLearningManagementSearchCommandProvider, AXMLearningManagementSkillMatrixComponent };
|