@acorex-platform/module-learning-management-client 0.0.37 → 0.0.46
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-entities-attendance.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-attendance.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-certificate-definition.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-certificate-definition.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-certificate-type.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-certificate-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-certificate.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-certificate.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-course-type.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-course-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-course.mjs +16 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-course.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-enrollment.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-enrollment.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-learning-path-course.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-learning-path-course.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-learning-path.mjs +14 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-learning-path.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-license-type.mjs +14 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-license-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-license.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-license.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-mandatory-training-rule.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-mandatory-training-rule.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-skill-level.mjs +14 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-skill-level.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-skill.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-skill.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-training-definition.mjs +14 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-training-definition.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-training-type.mjs +13 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-training-type.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-training.mjs +15 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entities-training.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-acorex-platform-module-learning-management-client-contracts-entity-catalog-ClNS17tj.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-acorex-platform-module-learning-management-client-contracts-entity-catalog-DzZR_hEV.mjs} +18 -18
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-acorex-platform-module-learning-management-client-contracts-entity-catalog-ClNS17tj.mjs.map → acorex-platform-module-learning-management-client-contracts-entity-catalog-acorex-platform-module-learning-management-client-contracts-entity-catalog-DzZR_hEV.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-attendance.entity-Ck3M7119.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-attendance.entity-B_jurFy1.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-attendance.entity-B_jurFy1.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-definition.entity-BWLX4Ntr.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-definition.entity-CgZER5PG.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-definition.entity-CgZER5PG.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-type.entity-DP1VM7Wz.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-type.entity-DGCWok_u.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-type.entity-DGCWok_u.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate.entity-CpFZWjQD.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate.entity-63J0e-TW.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate.entity-63J0e-TW.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-course-type.entity-COvPpeuP.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-course-type.entity-Bx0-5Ufe.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-course-type.entity-Bx0-5Ufe.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-course.entity-DGV0GXOx.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-course.entity-BseVWjzf.mjs} +18 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-course.entity-BseVWjzf.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-enrollment.entity-BjMAdjP4.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-enrollment.entity-D7k24TiE.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-enrollment.entity-D7k24TiE.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path-course.entity-CnigiF4h.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path-course.entity-C1F-jlAj.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path-course.entity-C1F-jlAj.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path.entity-BvwGprqj.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path.entity-U7suUcNS.mjs} +16 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path.entity-U7suUcNS.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-license-type.entity-CIx_yEsa.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-license-type.entity-X3PGecX4.mjs} +16 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-license-type.entity-X3PGecX4.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-license.entity-Io-OsU9-.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-license.entity-BBz64622.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-license.entity-BBz64622.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-mandatory-training-rule.entity-C1K_lJO-.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-mandatory-training-rule.entity-BLYjkKQF.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-mandatory-training-rule.entity-BLYjkKQF.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-skill-level.entity-CwnxHQp0.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-skill-level.entity-C65HjfpJ.mjs} +16 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-skill-level.entity-C65HjfpJ.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-skill.entity-BssD-nXO.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-skill.entity-Be0uNB1Z.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-skill.entity-Be0uNB1Z.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-training-definition.entity-DEeDkZCy.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-training-definition.entity-DQOtrGQ5.mjs} +16 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-training-definition.entity-DQOtrGQ5.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-training-type.entity-BrWqwqm6.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-training-type.entity-5JOP-3k6.mjs} +15 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-training-type.entity-5JOP-3k6.mjs.map +1 -0
- package/fesm2022/{acorex-platform-module-learning-management-client-contracts-entity-catalog-training.entity-CFDPUTEF.mjs → acorex-platform-module-learning-management-client-contracts-entity-catalog-training.entity-CG_UVvnY.mjs} +17 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-training.entity-CG_UVvnY.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog.mjs +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts.mjs +20 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-learning-management-client.mjs +1 -33
- package/fesm2022/acorex-platform-module-learning-management-client.mjs.map +1 -1
- package/package.json +1 -1
- package/types/acorex-platform-module-learning-management-client-contracts.d.ts +8 -2
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-attendance.entity-Ck3M7119.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-definition.entity-BWLX4Ntr.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-type.entity-DP1VM7Wz.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate.entity-CpFZWjQD.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-course-type.entity-COvPpeuP.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-course.entity-DGV0GXOx.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-enrollment.entity-BjMAdjP4.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path-course.entity-CnigiF4h.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-learning-path.entity-BvwGprqj.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-license-type.entity-CIx_yEsa.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-license.entity-Io-OsU9-.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-mandatory-training-rule.entity-C1K_lJO-.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-skill-level.entity-CwnxHQp0.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-skill.entity-BssD-nXO.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-training-definition.entity-DEeDkZCy.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-training-type.entity-BrWqwqm6.mjs.map +0 -1
- package/fesm2022/acorex-platform-module-learning-management-client-contracts-entity-catalog-training.entity-CFDPUTEF.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-learning-management-client.mjs","sources":["../../../../libs/modules/learning-management/client/src/lib/menu.provider.ts","../../../../libs/modules/learning-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/learning-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/learning-management/client/src/lib/manifest.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget.config.ts","../../../../libs/modules/learning-management/client/src/lib/widget-definition.provider.ts","../../../../libs/modules/learning-management/client/src/lib/learning-management.module.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix.component.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix.component.html","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget-column.component.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget-edit.component.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget-view.component.ts","../../../../libs/modules/learning-management/client/src/acorex-platform-module-learning-management-client.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXMLearningManagementMenuKeys } from '@acorex-platform/module-learning-management-client/contracts';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n/**\n * Learning Management Module Menu Provider.\n * - Root \"Learning\": Skills, Courses, Trainings, Enrollments, Certificates, Licenses, Learning Paths (operational)\n * - Configuration/Learning: Skill Levels, Course Types, Training Definitions/Types, Certificate Definitions/Types, License Types, Mandatory Training Rules (reference)\n */\nexport class AXMLearningManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n\n // Root \"Learning\" - single level, direct links with dividers\n context.addItems([\n {\n name: AXMLearningManagementMenuKeys.Root,\n priority: 8210,\n text: '@learning-management:module.menus.root.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.Root}:skills`,\n text: RootConfig.entities.skill.titlePlural,\n icon: RootConfig.entities.skill.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skill.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:courses`,\n text: RootConfig.entities.course.titlePlural,\n icon: RootConfig.entities.course.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.course.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:trainings`,\n text: RootConfig.entities.training.titlePlural,\n icon: RootConfig.entities.training.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.training.name),\n priority: 3,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider1`, text: '', type: 'break', priority: 4 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:enrollments`,\n text: RootConfig.entities.enrollment.titlePlural,\n icon: RootConfig.entities.enrollment.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.enrollment.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:attendance`,\n text: RootConfig.entities.attendance.titlePlural,\n icon: RootConfig.entities.attendance.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.attendance.name),\n priority: 6,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider2`, text: '', type: 'break', priority: 7 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:certificates`,\n text: RootConfig.entities.certificate.titlePlural,\n icon: RootConfig.entities.certificate.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificate.name),\n priority: 8,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:licenses`,\n text: RootConfig.entities.license.titlePlural,\n icon: RootConfig.entities.license.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.license.name),\n priority: 9,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:learning-paths`,\n text: RootConfig.entities.learningPath.titlePlural,\n icon: RootConfig.entities.learningPath.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.learningPath.name),\n priority: 10,\n },\n ],\n },\n ]);\n\n // Configuration/Learning - reference data\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXMLearningManagementMenuKeys.ConfigurationRoot,\n priority: 8650,\n text: '@learning-management:module.menus.configuration.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:skill-levels`,\n text: RootConfig.entities.skillLevel.titlePlural,\n icon: RootConfig.entities.skillLevel.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skillLevel.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:course-types`,\n text: RootConfig.entities.courseType.titlePlural,\n icon: RootConfig.entities.courseType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.courseType.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-definitions`,\n text: RootConfig.entities.trainingDefinition.titlePlural,\n icon: RootConfig.entities.trainingDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingDefinition.name),\n priority: 3,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-types`,\n text: RootConfig.entities.trainingType.titlePlural,\n icon: RootConfig.entities.trainingType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingType.name),\n priority: 4,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-definitions`,\n text: RootConfig.entities.certificateDefinition.titlePlural,\n icon: RootConfig.entities.certificateDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateDefinition.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-types`,\n text: RootConfig.entities.certificateType.titlePlural,\n icon: RootConfig.entities.certificateType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateType.name),\n priority: 6,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:license-types`,\n text: RootConfig.entities.licenseType.titlePlural,\n icon: RootConfig.entities.licenseType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.licenseType.name),\n priority: 7,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:mandatory-rules`,\n text: RootConfig.entities.mandatoryTrainingRule.titlePlural,\n icon: RootConfig.entities.mandatoryTrainingRule.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.mandatoryTrainingRule.name),\n priority: 8,\n },\n ],\n },\n ]);\n }\n}\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport {\n AXPCommonPermissionGroupKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPLearningPermissionKeys\n} from '@acorex-platform/module-learning-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers learning capabilities into the shared Learning group.\n */\n@Injectable()\nexport class AXMLearningManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPLearningPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:learning.permissions';\n const G = '@common:permission-groups';\n\n context\n .addGroup(groups.Learning.Root, `${G}.learning.title`, `${G}.learning.description`, { order: 20 })\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(\n keys.MaintainLearning,\n `${P}.maintain-learning.title`,\n `${P}.maintain-learning.description`,\n )\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\n\n//#endregion\n\n//#region ---- Search Command Provider ----\n\nfunction cmd(id: string, entityKey: string, e: { name: string; title: string; icon: string }, title: string, desc: string) {\n return {\n id,\n group: 'command' as const,\n title,\n icon: e.icon,\n description: desc,\n command: {\n name: 'Entity:Create' as const,\n options: createEntityCommandOptions(entityKey, { name: e.name, module: RootConfig.module.name, title: e.title }),\n },\n };\n}\n\nexport class AXMLearningManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n cmd('create-skill', `${RootConfig.module.name}.${RootConfig.entities.skill.name}`, RootConfig.entities.skill, '@learning-management:skills.search.create-skill.title', '@learning-management:skills.search.create-skill.description'),\n cmd('create-course', `${RootConfig.module.name}.${RootConfig.entities.course.name}`, RootConfig.entities.course, '@learning-management:courses.search.create-course.title', '@learning-management:courses.search.create-course.description'),\n cmd('create-training', `${RootConfig.module.name}.${RootConfig.entities.training.name}`, RootConfig.entities.training, '@learning-management:trainings.search.schedule-training.title', '@learning-management:trainings.search.schedule-training.description'),\n cmd('create-training-definition', `${RootConfig.module.name}.${RootConfig.entities.trainingDefinition.name}`, RootConfig.entities.trainingDefinition, '@learning-management:trainings.search.create-training-definition.title', '@learning-management:trainings.search.create-training-definition.description'),\n cmd('create-enrollment', `${RootConfig.module.name}.${RootConfig.entities.enrollment.name}`, RootConfig.entities.enrollment, '@learning-management:enrollments.search.create-enrollment.title', '@learning-management:enrollments.search.create-enrollment.description'),\n cmd('create-learning-path', `${RootConfig.module.name}.${RootConfig.entities.learningPath.name}`, RootConfig.entities.learningPath, '@learning-management:learning-paths.search.create-learning-path.title', '@learning-management:learning-paths.search.create-learning-path.description'),\n cmd('create-certificate', `${RootConfig.module.name}.${RootConfig.entities.certificate.name}`, RootConfig.entities.certificate, '@learning-management:certificates.search.issue-certificate.title', '@learning-management:certificates.search.issue-certificate.description'),\n cmd('create-certificate-definition', `${RootConfig.module.name}.${RootConfig.entities.certificateDefinition.name}`, RootConfig.entities.certificateDefinition, '@learning-management:certificates.search.create-certificate-definition.title', '@learning-management:certificates.search.create-certificate-definition.description'),\n cmd('create-attendance', `${RootConfig.module.name}.${RootConfig.entities.attendance.name}`, RootConfig.entities.attendance, '@learning-management:enrollments.search.create-attendance.title', '@learning-management:enrollments.search.create-attendance.description'),\n cmd('create-skill-level', `${RootConfig.module.name}.${RootConfig.entities.skillLevel.name}`, RootConfig.entities.skillLevel, '@learning-management:skills.search.create-skill-level.title', '@learning-management:skills.search.create-skill-level.description'),\n cmd('create-course-type', `${RootConfig.module.name}.${RootConfig.entities.courseType.name}`, RootConfig.entities.courseType, '@learning-management:courses.search.create-course-type.title', '@learning-management:courses.search.create-course-type.description'),\n cmd('create-training-type', `${RootConfig.module.name}.${RootConfig.entities.trainingType.name}`, RootConfig.entities.trainingType, '@learning-management:trainings.search.create-training-type.title', '@learning-management:trainings.search.create-training-type.description'),\n cmd('create-certificate-type', `${RootConfig.module.name}.${RootConfig.entities.certificateType.name}`, RootConfig.entities.certificateType, '@learning-management:certificates.search.create-certificate-type.title', '@learning-management:certificates.search.create-certificate-type.description'),\n cmd('create-mandatory-training-rule', `${RootConfig.module.name}.${RootConfig.entities.mandatoryTrainingRule.name}`, RootConfig.entities.mandatoryTrainingRule, '@learning-management:compliance.search.create-mandatory-training-rule.title', '@learning-management:compliance.search.create-mandatory-training-rule.description'),\n ];\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-client/core';\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Learning Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const LearningManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n\n type: 'domain',\n domain: 'assessment-learning',\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';\n\nexport const AXLSkillMatrixWidget: AXPWidgetConfig<AXLSkillMatrixWidgetConfigType> = {\n name: 'skill-matrix-editor',\n title: 'Skill Matrix',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n description: 'Matrix widget for managing skill levels across different skills',\n icon: 'fa-light fa-table',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./skill-matrix-widget-view.component').then((c) => c.AXLSkillMatrixWidgetViewComponent),\n },\n edit: {\n component: () => import('./skill-matrix-widget-edit.component').then((c) => c.AXLSkillMatrixWidgetEditComponent),\n },\n column: {\n component: () => import('./skill-matrix-widget-column.component').then((c) => c.AXLSkillMatrixWidgetColumnComponent),\n },\n },\n};\n\nexport type AXLSkillMatrixWidgetConfigType = {\n type: 'editor';\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXLSkillMatrixWidget } from './features/skill-matrix/skill-matrix-widget.config';\n\n//#endregion\n\n//#region ---- Learning Management Widgets Provider ----\n\n@Injectable()\nexport class AXMLearningManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXLSkillMatrixWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { NgModule } from '@angular/core';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXP_MODULE_MANIFEST_PROVIDER } from '@acorex-platform/framework-client/core';\nimport { LearningManagementManifest } from './manifest';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXMLearningManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMLearningManagementMenuProvider } from './menu.provider';\nimport { AXMLearningManagementSearchCommandProvider } from './search-command.provider';\n\nimport { AXMLearningManagementWidgetsProvider } from './widget-definition.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n ],\n providers: [\n // Module Manifest Provider\n {\n provide: AXP_MODULE_MANIFEST_PROVIDER,\n useValue: LearningManagementManifest,\n multi: true,\n },\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMLearningManagementMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMLearningManagementSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementWidgetsProvider,\n multi: true,\n },\n ],\n})\nexport class AXMLearningManagementModule { }\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport { type AXPCategoryEntity, type AXPWidgetNode, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n AXPSpreadsheetComponent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetRowChangeEvent,\n AXPSpreadsheetItem,\n AXPSpreadsheetData,\n} from '@acorex-platform/framework-client/layout/components';\n\nimport { AXMLearningManagementSkillLevelEntityModel } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXMLearningManagementSkillEntityModel } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXPCategoryTreeDataSource } from '@acorex-platform/framework-client/layout/components';\n\n//#endregion\n\n@Component({\n selector: 'axm-skill-matrix',\n standalone: true,\n imports: [\n CommonModule,\n AXPSpreadsheetComponent,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n ],\n templateUrl: './skill-matrix.component.html',\n styleUrl: './skill-matrix.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-skill-matrix',\n },\n})\nexport class AXMLearningManagementSkillMatrixComponent {\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly skillLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillLevel.name)\n .data<string, AXMLearningManagementSkillLevelEntityModel>();\n private readonly skillDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skill.name)\n .data<string, AXMLearningManagementSkillEntityModel>();\n private readonly skillCategoryDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillCategory.name)\n .data<string, any>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly translationService = inject(AXTranslationService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly activeLocale = signal(this.translationService.getActiveLang());\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job titles/positions to display as columns (e.g., Senior, Manager, Director)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [skillId]: { [title.id]: skillLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial skill IDs (for syncing with parent entity)\n */\n skillIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected skills change (skill IDs array)\n */\n skillIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Skill levels loaded from the service\n */\n private skillLevels = signal<AXMLearningManagementSkillLevelEntityModel[]>([]);\n\n /**\n * Selected skills (internal state)\n */\n protected selectedSkills = signal<AXMLearningManagementSkillEntityModel[]>([]);\n\n /**\n * Skill entity definition\n */\n private skillEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for skill entity\n */\n protected isLoadingSkillEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (skills) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const skills = this.selectedSkills();\n const result = (skills ?? []).map((skill) => ({\n id: skill.id,\n title: resolveMultiLanguageString(skill.title, locale),\n description:\n skill.description != null ? resolveMultiLanguageString(skill.description, locale) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job titles/positions) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: title.title,\n description: title.description || undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (skill levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const levels = this.skillLevels();\n return (levels ?? []).map((level) => ({\n id: level.id,\n title: resolveMultiLanguageString(level.title, locale),\n description:\n level.description != null ? resolveMultiLanguageString(level.description, locale) : undefined,\n }));\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job titles/positions)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for skill levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map(option => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((skill) => {\n const row: Record<string, any> = {\n name: skill.id, // Required for fixed mode row identification\n _skillTitle: skill.title, // For row header display\n _skillDescription: skill.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[skill.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n this.translationService.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((lang) => this.activeLocale.set(lang));\n\n // Load skill levels and skill entity definition when component initializes\n this.loadSkillLevels();\n this.loadSkillEntityDef();\n\n // Watch for skillIds input changes and sync selected skills\n effect(() => {\n const ids = this.skillIds();\n if (ids && ids.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract skill IDs from matrix data keys\n const matrixData = this.value();\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n if (skillIdsFromMatrix.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(skillIdsFromMatrix);\n } else {\n this.selectedSkills.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract skill IDs\n effect(() => {\n const matrixData = this.value();\n const currentSkillIds = this.selectedSkills().map((s) => s.id);\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has skills that aren't in selectedSkills, load them\n const missingIds = skillIdsFromMatrix.filter((id) => !currentSkillIds.includes(id));\n if (missingIds.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load skill levels from the service\n */\n private async loadSkillLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'levelNumber', dir: 'asc' as const }],\n };\n const result = await this.skillLevelDataAccessor.query(query);\n this.skillLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading skill levels:', error);\n this.skillLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load skill entity definition\n */\n private async loadSkillEntityDef(): Promise<void> {\n try {\n this.isLoadingSkillEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.skill.name\n );\n this.skillEntityDef.set(entityDef as AXPEntity);\n } catch (error) {\n console.error('Error loading skill entity definition:', error);\n this.skillEntityDef.set(null as unknown as AXPEntity);\n } finally {\n this.isLoadingSkillEntity.set(false);\n }\n }\n\n /**\n * Load skills by IDs\n */\n private async loadSkillsByIds(ids: string[]): Promise<void> {\n try {\n const skills: AXMLearningManagementSkillEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const skill = await this.skillDataAccessor.byKey(id);\n if (skill) {\n skills.push(skill);\n }\n } catch (error) {\n console.error(`Error loading skill ${id}:`, error);\n }\n }\n\n this.selectedSkills.set(skills);\n } catch (error) {\n console.error('Error loading skills by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const skillId = row['name']; // Row identifier (skill ID)\n if (!skillId) {\n return;\n }\n\n matrixData[skillId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[skillId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract skill IDs from row names and emit\n const skillIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open skill selector dialog with category filter\n */\n protected async handleSelectSkills(): Promise<void> {\n const entityDef = this.skillEntityDef();\n if (!entityDef) {\n console.error('Skill entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected skill IDs\n const selectedItemIds = this.selectedSkills()\n .map((skill) => skill.id)\n .filter((id) => id != null);\n\n // Create category tree data source\n const categoryTreeDataSource: AXPCategoryTreeDataSource = {\n loadRootNodes: async () => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'isEmpty' },\n value: true,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n loadChildNodes: async (parentId: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'equal' },\n value: parentId,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n searchNodes: async (searchValue: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n filters: [\n {\n field: 'title',\n operator: { type: 'contains' },\n value: searchValue,\n },\n {\n field: 'name',\n operator: { type: 'contains' },\n value: searchValue,\n },\n ],\n logic: 'or',\n },\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n };\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Skills',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n columns: ['title', 'description'],\n showCategoryFilter: false,\n categoryFilter: {\n title: 'Categories',\n dataSource: categoryTreeDataSource,\n filterField: 'categoryIds',\n filterOperator: 'contains',\n width: '350px',\n },\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected skills\n this.selectedSkills.set(result.items);\n // Emit skill IDs change\n const skillIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n } catch (error) {\n console.error('Error opening skill selector:', error);\n }\n }\n\n /**\n * Remove a skill from selection\n */\n protected handleRemoveSkill(skillId: string): void {\n const currentSkills = this.selectedSkills();\n const updatedSkills = currentSkills.filter((skill) => skill.id !== skillId);\n this.selectedSkills.set(updatedSkills);\n\n // Remove skill data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[skillId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit skill IDs change\n const skillIds = updatedSkills.map((skill) => skill.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove skill from selection\n this.handleRemoveSkill(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@learning-management:skills.components.skill-matrix.actions.choose-skills.title' | translate | async\"\n (onClick)=\"handleSelectSkills()\" [disabled]=\"isLoadingSkillEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@learning-management:skills.components.skill-matrix.messages.loading-skill-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Skill / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_skillTitle'\"\n [rowDescriptionPath]=\"'_skillDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>","//#region ----- Imports -----\n\nimport { AXPColumnWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport type { AXPSpreadsheetData } from '@acorex-platform/framework-client/layout/components';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n//#endregion\n\n//#region ----- Helpers -----\n\nfunction assignedRowCount(value: unknown): number {\n if (value == null || typeof value !== 'object' || Array.isArray(value)) {\n return 0;\n }\n\n let count = 0;\n for (const row of Object.values(value as AXPSpreadsheetData)) {\n if (row == null || typeof row !== 'object') {\n continue;\n }\n const hasCell = Object.values(row).some((cell) => cell != null && String(cell).trim() !== '');\n if (hasCell) {\n count += 1;\n }\n }\n return count;\n}\n\n//#endregion\n\n//#region ----- Component -----\n\n@Component({\n selector: 'axm-skill-matrix-widget-column',\n template: `\n @if (assignedCount(); as count) {\n <!-- ----- Assigned skill rows ----- -->\n <span>{{ count }}</span>\n }\n <!-- ----- Empty matrix ----- -->\n @else {\n <span class=\"text-muted\">---</span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue', 'rowData'],\n})\nexport class AXLSkillMatrixWidgetColumnComponent extends AXPColumnWidgetComponent<AXPSpreadsheetData> {\n //#region ----- Computed Properties -----\n\n protected assignedCount(): number {\n return assignedRowCount(this.rawValue);\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex-platform/framework-client/layout/components';\nimport { get } from 'lodash';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-edit',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [skillIds]=\"skillIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (skillIdsChange)=\"handleSkillIdsChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when requiredLevels changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const requiredLevelsFromContext = get(contextData, 'jobLevelsList') as any[] | undefined;\n\n if (Array.isArray(requiredLevelsFromContext) && requiredLevelsFromContext.length > 0) {\n // Ensure each item has the required structure\n return requiredLevelsFromContext.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n // If titles is not set, return empty array\n if (!rawTitles) {\n return [];\n }\n\n // If it's already an array, return it (evaluated expression result)\n if (Array.isArray(rawTitles)) {\n // Ensure each item has the required structure\n return rawTitles.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // If it's still a string (unevaluated expression), return empty array\n // The expression will be evaluated by the widget renderer and options will update\n if (typeof rawTitles === 'string') {\n return [];\n }\n\n return [];\n });\n\n /**\n * Readonly mode from options - properly tracks options signal changes\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n const result = options?.['readonly'] ?? false;\n return result;\n });\n\n /**\n * Current matrix value - tracks getValue signal changes\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n const result = (this.getValue() as AXPSpreadsheetData) || {};\n const keysCount = Object.keys(result).length;\n return result;\n });\n\n /**\n * Skill IDs extracted from matrix data keys or from options\n */\n protected skillIds = computed<string[]>(() => {\n const options = this.options();\n const skillIdsFromOptions = options?.['skillIds'] ?? [];\n\n // If skillIds from options is an array, use it\n if (Array.isArray(skillIdsFromOptions) && skillIdsFromOptions.length > 0) {\n return skillIdsFromOptions;\n }\n\n // Otherwise, extract from matrix data keys\n const matrixData = this.matrixValue();\n return Object.keys(matrixData || {});\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n const dataKeysCount = Object.keys(data || {}).length;\n const currentKeysCount = Object.keys(this.getValue() || {}).length;\n if (data) {\n this.setValue(data);\n const afterKeysCount = Object.keys(this.getValue() || {}).length;\n } else {\n }\n }\n\n /**\n * Handle skill IDs change from skill-matrix component\n * Skill IDs are stored as keys in the matrix data, so this is mainly for tracking\n */\n protected handleSkillIdsChange(skillIds: string[]): void {\n // Skill IDs are already reflected in the matrix data keys\n // This handler is here for potential future use or side effects\n console.log('Skill IDs changed:', skillIds);\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPSpreadsheetData } from '@acorex-platform/framework-client/layout/components';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-view',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Skill IDs from options\n */\n protected skills = computed<{ id: string; title: string; description?: string }[]>(() => {\n return this.options()['skills'] || [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AASA;AAEA;AAEA;;;;AAIG;MACU,iCAAiC,CAAA;AAA9C,IAAA,WAAA,GAAA;AACqB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAqJ7D;IAnJI,MAAM,OAAO,CAAC,OAA+B,EAAA;AACzC,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM;;QAGhC,OAAO,CAAC,QAAQ,CAAC;AACb,YAAA;gBACI,IAAI,EAAE,6BAA6B,CAAC,IAAI;AACxC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE,8CAA8C;gBACpD,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1B,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACN,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,OAAA,CAAS;AACpD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW;AAC3C,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACpC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;AAChF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,QAAA,CAAU;AACrD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW;AAC5C,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;AACrC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;AACjF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,UAAA,CAAY;AACvD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW;AAC9C,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;AACvC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;AACnF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA,EAAE,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;AAChG,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,YAAA,CAAc;AACzD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;AAChD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACrF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,WAAA,CAAa;AACxD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;AAChD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACrF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA,EAAE,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE;AAChG,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,aAAA,CAAe;AAC1D,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW;AACjD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI;AAC1C,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AACtF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,SAAA,CAAW;AACtD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW;AAC7C,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI;AACtC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AAClF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,IAAI,CAAA,eAAA,CAAiB;AAC5D,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW;AAClD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI;AAC3C,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;AACvF,wBAAA,QAAQ,EAAE,EAAE;AACf,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC;;QAGF,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;AACnD,YAAA;gBACI,IAAI,EAAE,6BAA6B,CAAC,iBAAiB;AACrD,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE,uDAAuD;gBAC7D,IAAI,EAAE,MAAM,CAAC,IAAI;AACjB,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;AAC1B,iBAAA;AACD,gBAAA,QAAQ,EAAE;AACN,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,aAAA,CAAe;AACvE,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;AAChD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACrF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,aAAA,CAAe;AACvE,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW;AAChD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACzC,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;AACrF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,qBAAA,CAAuB;AAC/E,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,WAAW;AACxD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI;AACjD,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC7F,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,eAAA,CAAiB;AACzE,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW;AAClD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI;AAC3C,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;AACvF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,wBAAA,CAA0B;AAClF,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW;AAC3D,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI;AACpD,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC;AAChG,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,kBAAA,CAAoB;AAC5E,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW;AACrD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI;AAC9C,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;AAC1F,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,cAAA,CAAgB;AACxE,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW;AACjD,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI;AAC1C,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;AACtF,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACD,oBAAA;AACI,wBAAA,IAAI,EAAE,CAAA,EAAG,6BAA6B,CAAC,iBAAiB,CAAA,gBAAA,CAAkB;AAC1E,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,WAAW;AAC3D,wBAAA,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI;AACpD,wBAAA,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC;AAChG,wBAAA,QAAQ,EAAE,CAAC;AACd,qBAAA;AACJ,iBAAA;AACJ,aAAA;AACJ,SAAA,CAAC;IACN;AACH;AAED;;AC3JA;AAEA;AAEA;;AAEG;MAEU,iDAAiD,CAAA;IAC5D,MAAM,MAAM,CAAC,OAA+C,EAAA;QAC1D,MAAM,IAAI,GAAG,yBAAyB;QACtC,MAAM,MAAM,GAAG,4BAA4B;QAC3C,MAAM,CAAC,GAAG,8BAA8B;QACxC,MAAM,CAAC,GAAG,2BAA2B;QAErC;aACG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA,eAAA,CAAiB,EAAE,CAAA,EAAG,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAChG,aAAA,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA,EAAG,CAAC,CAAA,aAAA,CAAe,EAAE,CAAA,EAAG,CAAC,CAAA,mBAAA,CAAqB;AACzE,aAAA,aAAa;AACb,aAAA,aAAa,CACZ,IAAI,CAAC,gBAAgB,EACrB,CAAA,EAAG,CAAC,CAAA,wBAAA,CAA0B,EAC9B,CAAA,EAAG,CAAC,CAAA,8BAAA,CAAgC;AAErC,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA,EAAG,CAAC,CAAA,YAAA,CAAc,EAAE,CAAA,EAAG,CAAC,CAAA,kBAAA,CAAoB;AACtE,aAAA,aAAa;AACb,aAAA,QAAQ,EAAE;IACf;8GApBW,iDAAiD,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAjD,iDAAiD,EAAA,CAAA,CAAA;;2FAAjD,iDAAiD,EAAA,UAAA,EAAA,CAAA;kBAD7D;;;ACtBD;AAKA;AAEA;AAEA,SAAS,GAAG,CAAC,EAAU,EAAE,SAAiB,EAAE,CAAgD,EAAE,KAAa,EAAE,IAAY,EAAA;IACvH,OAAO;QACL,EAAE;AACF,QAAA,KAAK,EAAE,SAAkB;QACzB,KAAK;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;AACZ,QAAA,WAAW,EAAE,IAAI;AACjB,QAAA,OAAO,EAAE;AACP,YAAA,IAAI,EAAE,eAAwB;YAC9B,OAAO,EAAE,0BAA0B,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AACjH,SAAA;KACF;AACH;AAEM,MAAO,0CAA2C,SAAQ,wBAAwB,CAAA;AAAxF,IAAA,WAAA,GAAA;;AACE,QAAA,IAAA,CAAA,QAAQ,GAAsB;AAC5B,YAAA,GAAG,CAAC,cAAc,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,EAAE,uDAAuD,EAAE,6DAA6D,CAAC;AACrO,YAAA,GAAG,CAAC,eAAe,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,yDAAyD,EAAE,+DAA+D,CAAC;AAC5O,YAAA,GAAG,CAAC,iBAAiB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,+DAA+D,EAAE,qEAAqE,CAAC;AAC9P,YAAA,GAAG,CAAC,4BAA4B,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE,wEAAwE,EAAE,8EAA8E,CAAC;AAC/S,YAAA,GAAG,CAAC,mBAAmB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,iEAAiE,EAAE,uEAAuE,CAAC;AACxQ,YAAA,GAAG,CAAC,sBAAsB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,uEAAuE,EAAE,6EAA6E,CAAC;AAC3R,YAAA,GAAG,CAAC,oBAAoB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,kEAAkE,EAAE,wEAAwE,CAAC;AAC7Q,YAAA,GAAG,CAAC,+BAA+B,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,EAAE,8EAA8E,EAAE,oFAAoF,CAAC;AACpU,YAAA,GAAG,CAAC,mBAAmB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,iEAAiE,EAAE,uEAAuE,CAAC;AACxQ,YAAA,GAAG,CAAC,oBAAoB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,6DAA6D,EAAE,mEAAmE,CAAC;AACjQ,YAAA,GAAG,CAAC,oBAAoB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,8DAA8D,EAAE,oEAAoE,CAAC;AACnQ,YAAA,GAAG,CAAC,sBAAsB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,YAAY,EAAE,kEAAkE,EAAE,wEAAwE,CAAC;AACjR,YAAA,GAAG,CAAC,yBAAyB,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,eAAe,EAAE,wEAAwE,EAAE,8EAA8E,CAAC;AACtS,YAAA,GAAG,CAAC,gCAAgC,EAAE,CAAA,EAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAA,CAAA,EAAI,UAAU,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAA,CAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,qBAAqB,EAAE,6EAA6E,EAAE,mFAAmF,CAAC;SACpU;IACH;AAAC;AAED;;AC1CA;AAKA;AAEA;AAEA;;;AAGG;AACI,MAAM,0BAA0B,GAAsB;AAC3D,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAE5B,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,MAAM,EAAE,qBAAqB;;CAE9B;AAED;;ACrBO,MAAM,oBAAoB,GAAoD;AACjF,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,UAAU,EAAE,2BAA2B;AACvC,IAAA,MAAM,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC;AAC1C,IAAA,WAAW,EAAE,iEAAiE;AAC9E,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,OAAO,EAAE;AACL,QAAA,SAAS,EAAE,KAAK;AACnB,KAAA;AACD,IAAA,UAAU,EAAE;QACR,iBAAiB;QACjB,sBAAsB;QACtB,kBAAkB;QAClB,qBAAqB;QACrB,qBAAqB;AACxB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE;AACF,YAAA,SAAS,EAAE,MAAM,+EAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC;AACnH,SAAA;AACD,QAAA,IAAI,EAAE;AACF,YAAA,SAAS,EAAE,MAAM,+EAA8C,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iCAAiC,CAAC;AACnH,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA,SAAS,EAAE,MAAM,iFAAgD,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,mCAAmC,CAAC;AACvH,SAAA;AACJ,KAAA;CACJ;;AC3BD;AAEA;MAGa,oCAAoC,CAAA;IAC/C,UAAU,GAAA;QACR,OAAO,CAAC,oBAAoB,CAAC;IAC/B;8GAHW,oCAAoC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAApC,oCAAoC,EAAA,CAAA,CAAA;;2FAApC,oCAAoC,EAAA,UAAA,EAAA,CAAA;kBADhD;;;ACVD;AAcA;AAEA;MAoCa,2BAA2B,CAAA;8GAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,YAhChC,mBAAmB,CAAA,EAAA,CAAA,CAAA;AAgCd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,EAAA,SAAA,EA9BzB;;AAEP,YAAA;AACI,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,QAAQ,EAAE,0BAA0B;AACpC,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;;AAED,YAAA;AACI,gBAAA,OAAO,EAAE,kCAAkC;AAC3C,gBAAA,QAAQ,EAAE,iDAAiD;AAC3D,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,QAAQ,EAAE,iCAAiC;AAC3C,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,mBAAmB;AAC5B,gBAAA,QAAQ,EAAE,0CAA0C;AACpD,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACD,YAAA;AACI,gBAAA,OAAO,EAAE,8BAA8B;AACvC,gBAAA,QAAQ,EAAE,oCAAoC;AAC9C,gBAAA,KAAK,EAAE,IAAI;AACd,aAAA;AACJ,SAAA,EAAA,OAAA,EAAA,CA9BG,mBAAmB,CAAA,EAAA,CAAA,CAAA;;2FAgCd,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAlCvC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,mBAAmB;AACtB,qBAAA;AACD,oBAAA,SAAS,EAAE;;AAEP,wBAAA;AACI,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,QAAQ,EAAE,0BAA0B;AACpC,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;;AAED,wBAAA;AACI,4BAAA,OAAO,EAAE,kCAAkC;AAC3C,4BAAA,QAAQ,EAAE,iDAAiD;AAC3D,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,QAAQ,EAAE,iCAAiC;AAC3C,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,mBAAmB;AAC5B,4BAAA,QAAQ,EAAE,0CAA0C;AACpD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACD,wBAAA;AACI,4BAAA,OAAO,EAAE,8BAA8B;AACvC,4BAAA,QAAQ,EAAE,oCAAoC;AAC9C,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA;AACJ,iBAAA;;;ACnDD;AAqCA;MAoBa,yCAAyC,CAAA;;;AAuMlD,IAAA,WAAA,GAAA;;AAnMiB,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACxC,IAAA,CAAA,sBAAsB,GAAG,IAAI,CAAC;AAC1C,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI;AACtE,aAAA,IAAI,EAAsD;QAC9C,IAAA,CAAA,iBAAiB,GAAG,IAAI,CAAC;AACrC,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI;AACjE,aAAA,IAAI,EAAiD;QACzC,IAAA,CAAA,yBAAyB,GAAG,IAAI,CAAC;AAC7C,aAAA,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI;AACzE,aAAA,IAAI,EAAe;AACP,QAAA,IAAA,CAAA,yBAAyB,GAAG,MAAM,CAAC,4BAA4B,CAAC;AAChE,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,kCAAkC,CAAC;AAC3D,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACjD,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC/B,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;yFAAC;;;AAM/E;;AAEG;QACH,IAAA,CAAA,MAAM,GAAG,KAAK,CAAuB,EAAE;mFAAC;AAExC;;AAEG;QACH,IAAA,CAAA,KAAK,GAAG,KAAK,CAAqB,EAAE;kFAAC;AAErC;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK;qFAAC;AAEhC;;AAEG;QACH,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAW,EAAE;qFAAC;;;AAM9B;;AAEG;QACH,IAAA,CAAA,WAAW,GAAG,MAAM,EAAsB;AAE1C;;AAEG;QACH,IAAA,CAAA,UAAU,GAAG,MAAM,EAAiC;AAEpD;;AAEG;QACH,IAAA,CAAA,cAAc,GAAG,MAAM,EAAY;;;AAMnC;;AAEG;QACK,IAAA,CAAA,WAAW,GAAG,MAAM,CAA+C,EAAE;wFAAC;AAE9E;;AAEG;QACO,IAAA,CAAA,cAAc,GAAG,MAAM,CAA0C,EAAE;2FAAC;AAE9E;;AAEG;QACK,IAAA,CAAA,cAAc,GAAG,MAAM,CAAmB,IAAI;2FAAC;AAEvD;;AAEG;QACO,IAAA,CAAA,SAAS,GAAG,MAAM,CAAU,IAAI;sFAAC;AAE3C;;AAEG;QACO,IAAA,CAAA,oBAAoB,GAAG,MAAM,CAAU,KAAK;iGAAC;;;AAMvD;;AAEG;AACO,QAAA,IAAA,CAAA,cAAc,GAAG,QAAQ,CAAuB,MAAK;AAC3D,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAClC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE;AACpC,YAAA,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM;gBAC1C,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;gBACtD,WAAW,EACP,KAAK,CAAC,WAAW,IAAI,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS;AACpG,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,MAAM;QACjB,CAAC;2FAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,gBAAgB,GAAG,QAAQ,CAAuB,MAAK;AAC7D,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE;AACjC,YAAA,MAAM,MAAM,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM;gBAC/C,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,gBAAA,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,SAAS;AAC9C,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,MAAM;QACjB,CAAC;6FAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAuB,MAAK;AACxD,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE;AAClC,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,YAAA,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,MAAM;gBAClC,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,KAAK,EAAE,0BAA0B,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC;gBACtD,WAAW,EACP,KAAK,CAAC,WAAW,IAAI,IAAI,GAAG,0BAA0B,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,SAAS;AACpG,aAAA,CAAC,CAAC;QACP,CAAC;wFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,kBAAkB,GAAG,QAAQ,CAAyB,MAAK;AACjE,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE;;AAGtC,YAAA,MAAM,eAAe,GAAkB;AACnC,gBAAA,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS;AACtC,gBAAA,OAAO,EAAE;AACL,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE,OAAO;oBAClB,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,KAAK;wBACnC,EAAE,EAAE,MAAM,CAAC,EAAE;wBACb,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;AAClC,qBAAA,CAAC,CAAC;AACN,iBAAA;aACJ;;YAGD,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;gBACpC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACd,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;AAC9B,gBAAA,IAAI,EAAE,KAAK,CAAC,EAAE;AACd,gBAAA,MAAM,EAAE,eAAe;AAC1B,aAAA,CAAC,CAAC;QACP,CAAC;+FAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAwB,MAAK;AAC7D,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE;AAC5C,YAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;AAChD,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;;AAG/B,YAAA,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AAChC,gBAAA,MAAM,GAAG,GAAwB;AAC7B,oBAAA,IAAI,EAAE,KAAK,CAAC,EAAE;AACd,oBAAA,WAAW,EAAE,KAAK,CAAC,KAAK;AACxB,oBAAA,iBAAiB,EAAE,KAAK,CAAC,WAAW;iBACvC;;AAGD,gBAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;AAC/B,oBAAA,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;AAC1D,oBAAA,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS;AAC7B,gBAAA,CAAC,CAAC;AAEF,gBAAA,OAAO,GAAG;AACd,YAAA,CAAC,CAAC;QACN,CAAC;4FAAC;QAOE,IAAI,CAAC,kBAAkB,CAAC;AACnB,aAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,aAAA,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;;QAGrD,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,kBAAkB,EAAE;;QAGzB,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAA,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YAC7B;iBAAO,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;;AAEjC,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;gBAC/B,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;gBACxD,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AACxD,oBAAA,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;gBAC5C;qBAAO;AACH,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B;YACJ;AACJ,QAAA,CAAC,CAAC;;QAGF,MAAM,CAAC,MAAK;AACR,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;AAC/B,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;;AAGxD,YAAA,MAAM,UAAU,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;AAChD,gBAAA,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YACpC;AACJ,QAAA,CAAC,CAAC;IACN;;;AAMA;;AAEG;AACK,IAAA,MAAM,eAAe,GAAA;AACzB,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,KAAK,GAAG;AACV,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,KAAc,EAAE,CAAC;aACxD;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC;YAC7D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5C;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC;AACnD,YAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B;gBAAU;AACN,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QAC7B;IACJ;AAEA;;AAEG;AACK,IAAA,MAAM,kBAAkB,GAAA;AAC5B,QAAA,IAAI;AACA,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAC/C,UAAU,CAAC,MAAM,CAAC,IAAI,EACtB,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CACjC;AACD,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAsB,CAAC;QACnD;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC;AAC9D,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAA4B,CAAC;QACzD;gBAAU;AACN,YAAA,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC;QACxC;IACJ;AAEA;;AAEG;IACK,MAAM,eAAe,CAAC,GAAa,EAAA;AACvC,QAAA,IAAI;YACA,MAAM,MAAM,GAA4C,EAAE;AAE1D,YAAA,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;AAClB,gBAAA,IAAI;oBACA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpD,IAAI,KAAK,EAAE;AACP,wBAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;oBACtB;gBACJ;gBAAE,OAAO,KAAK,EAAE;oBACZ,OAAO,CAAC,KAAK,CAAC,CAAA,oBAAA,EAAuB,EAAE,CAAA,CAAA,CAAG,EAAE,KAAK,CAAC;gBACtD;YACJ;AAEA,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC;QACnC;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC;QACxD;IACJ;;;AAMA;;AAEG;AACK,IAAA,kCAAkC,CAAC,IAA2B,EAAA;AAClE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,EAAE;QAChD,MAAM,UAAU,GAAuB,EAAE;AAEzC,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;YACjB,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE;gBACV;YACJ;AAEA,YAAA,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;;AAGxB,YAAA,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;gBAC/B,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,IAAI;gBACvC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS;AAC7C,YAAA,CAAC,CAAC;AACN,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,UAAU;IACrB;;;AAMA;;AAEG;AACO,IAAA,uBAAuB,CAAC,IAA2B,EAAA;QACzD,MAAM,UAAU,GAAG,IAAI,CAAC,kCAAkC,CAAC,IAAI,CAAC;AAChE,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;;AAGjC,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AAC1E,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtC;AAEA;;AAEG;AACO,IAAA,gBAAgB,CAAC,KAAoC,EAAA;AAC3D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;AAEA;;AAEG;AACO,IAAA,MAAM,kBAAkB,GAAA;AAC9B,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE;QACvC,IAAI,CAAC,SAAS,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC;YACnD;QACJ;AAEA,QAAA,IAAI;;AAEA,YAAA,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc;iBACtC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE;iBACvB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;;AAG/B,YAAA,MAAM,sBAAsB,GAA8B;gBACtD,aAAa,EAAE,YAAW;oBACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACtD,wBAAA,IAAI,EAAE,CAAC;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,MAAM,EAAE;AACJ,4BAAA,KAAK,EAAE,UAAU;AACjB,4BAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;AAC7B,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;wBACD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACzC,qBAAA,CAAC;AACF,oBAAA,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAS,MAAM;wBAC5C,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;AAC9B,wBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;wBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,wBAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC;AACzC,qBAAA,CAAC,CAAwB;gBAC9B,CAAC;AACD,gBAAA,cAAc,EAAE,OAAO,QAAgB,KAAI;oBACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACtD,wBAAA,IAAI,EAAE,CAAC;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,MAAM,EAAE;AACJ,4BAAA,KAAK,EAAE,UAAU;AACjB,4BAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;AAC3B,4BAAA,KAAK,EAAE,QAAQ;AAClB,yBAAA;wBACD,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;AACzC,qBAAA,CAAC;AACF,oBAAA,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAS,MAAM;wBAC5C,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;AAC9B,wBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;wBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,wBAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC;AACzC,qBAAA,CAAC,CAAwB;gBAC9B,CAAC;AACD,gBAAA,WAAW,EAAE,OAAO,WAAmB,KAAI;oBACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;AACtD,wBAAA,IAAI,EAAE,CAAC;AACP,wBAAA,IAAI,EAAE,IAAI;AACV,wBAAA,MAAM,EAAE;AACJ,4BAAA,OAAO,EAAE;AACL,gCAAA;AACI,oCAAA,KAAK,EAAE,OAAO;AACd,oCAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;AAC9B,oCAAA,KAAK,EAAE,WAAW;AACrB,iCAAA;AACD,gCAAA;AACI,oCAAA,KAAK,EAAE,MAAM;AACb,oCAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;AAC9B,oCAAA,KAAK,EAAE,WAAW;AACrB,iCAAA;AACJ,6BAAA;AACD,4BAAA,KAAK,EAAE,IAAI;AACd,yBAAA;AACJ,qBAAA,CAAC;AACF,oBAAA,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,IAAS,MAAM;wBAC5C,EAAE,EAAE,IAAI,CAAC,EAAE;AACX,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;AAC9B,wBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;wBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;AACvB,wBAAA,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC;AACzC,qBAAA,CAAC,CAAwB;gBAC9B,CAAC;aACJ;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;AACrD,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,KAAK,EAAE,eAAe;AACtB,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,eAAe,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,GAAG,SAAS;AACzE,gBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;AACjC,gBAAA,kBAAkB,EAAE,KAAK;AACzB,gBAAA,cAAc,EAAE;AACZ,oBAAA,KAAK,EAAE,YAAY;AACnB,oBAAA,UAAU,EAAE,sBAAsB;AAClC,oBAAA,WAAW,EAAE,aAAa;AAC1B,oBAAA,cAAc,EAAE,UAAU;AAC1B,oBAAA,KAAK,EAAE,OAAO;AACjB,iBAAA;AACJ,aAAA,CAAC;AAEF,YAAA,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;;gBAEnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;;AAErC,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AAC/E,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;YACtC;QACJ;QAAE,OAAO,KAAK,EAAE;AACZ,YAAA,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC;QACzD;IACJ;AAEA;;AAEG;AACO,IAAA,iBAAiB,CAAC,OAAe,EAAA;AACvC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE;AAC3C,QAAA,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC;AAC3E,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC;;AAGtC,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,EAAE;AACtC,QAAA,MAAM,iBAAiB,GAAG,EAAE,GAAG,iBAAiB,EAAE;AAClD,QAAA,OAAO,iBAAiB,CAAC,OAAO,CAAC;;AAGjC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC;;QAGxC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC;AAClF,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;IACtC;AAEA;;AAEG;AACO,IAAA,eAAe,CAAC,KAAmC,EAAA;AACzD,QAAA,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;;AAEzB,YAAA,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC;QACvC;;IAEJ;8GAvfS,yCAAyC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAzC,yCAAyC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECzDtD,4oCAuBM,EAAA,MAAA,EAAA,CAAA,ymBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDoBE,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,uBAAuB,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,UAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,iBAAA,EAAA,YAAA,EAAA,WAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACvB,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,EAAA,UAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,mBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACjB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAUd,yCAAyC,EAAA,UAAA,EAAA,CAAA;kBAlBrD,SAAS;+BACI,kBAAkB,EAAA,UAAA,EAChB,IAAI,EAAA,OAAA,EACP;wBACL,YAAY;wBACZ,uBAAuB;wBACvB,cAAc;wBACd,iBAAiB;wBACjB,mBAAmB;AACtB,qBAAA,EAAA,aAAA,EAGc,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,KAAK,EAAE,kBAAkB;AAC5B,qBAAA,EAAA,QAAA,EAAA,4oCAAA,EAAA,MAAA,EAAA,CAAA,ymBAAA,CAAA,EAAA;;;AEvDL;AAMA;AAEA;AAEA,SAAS,gBAAgB,CAAC,KAAc,EAAA;AACtC,IAAA,IAAI,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtE,QAAA,OAAO,CAAC;IACV;IAEA,IAAI,KAAK,GAAG,CAAC;IACb,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,KAA2B,CAAC,EAAE;QAC5D,IAAI,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC1C;QACF;AACA,QAAA,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QAC7F,IAAI,OAAO,EAAE;YACX,KAAK,IAAI,CAAC;QACZ;IACF;AACA,IAAA,OAAO,KAAK;AACd;AAEA;AAEA;AAkBM,MAAO,mCAAoC,SAAQ,wBAA4C,CAAA;;IAGzF,aAAa,GAAA;AACrB,QAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC;8GALW,mCAAmC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mCAAmC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAdpC;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKU,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAhB/C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gCAAgC;AAC1C,oBAAA,QAAQ,EAAE;;;;;;;;;AAST,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,MAAM,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;AAChC,iBAAA;;;;;;;;AC/CD;AAcA;AAEA;AAwBM,MAAO,iCAAkC,SAAQ,uBAA2C,CAAA;AAtBlG,IAAA,WAAA,GAAA;;;;AA2BI;;;AAGG;AACO,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAuB,MAAK;;YAEnD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE;YAC9C,MAAM,yBAAyB,GAAG,GAAG,CAAC,WAAW,EAAE,eAAe,CAAsB;AAExF,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;;AAElF,gBAAA,OAAO,yBAAyB,CAAC,GAAG,CAAC,CAAC,IAAS,KAAI;AAC/C,oBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;;wBAE1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBACpC;;oBAEA,OAAO;AACH,wBAAA,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;AACzC,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;wBAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;qBAChC;AACL,gBAAA,CAAC,CAAC;YACN;;AAGA,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;AAC9B,YAAA,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;;YAGrC,IAAI,CAAC,SAAS,EAAE;AACZ,gBAAA,OAAO,EAAE;YACb;;AAGA,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;AAE1B,gBAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAS,KAAI;AAC/B,oBAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;;wBAE1B,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;oBACpC;;oBAEA,OAAO;AACH,wBAAA,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC;AACzC,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;wBAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;qBAChC;AACL,gBAAA,CAAC,CAAC;YACN;;;AAIA,YAAA,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;AAC/B,gBAAA,OAAO,EAAE;YACb;AAEA,YAAA,OAAO,EAAE;QACb,CAAC;mFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAU,MAAK;AACxC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAC9B,MAAM,MAAM,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI,KAAK;AAC7C,YAAA,OAAO,MAAM;QACjB,CAAC;qFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAqB,MAAK;YACtD,MAAM,MAAM,GAAI,IAAI,CAAC,QAAQ,EAAyB,IAAI,EAAE;YAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;AAC5C,YAAA,OAAO,MAAM;QACjB,CAAC;wFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAW,MAAK;AACzC,YAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE;YAC9B,MAAM,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE;;AAGvD,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE;AACtE,gBAAA,OAAO,mBAAmB;YAC9B;;AAGA,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE;YACrC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,CAAC;qFAAC;AA8BL,IAAA;;;AAxBG;;AAEG;AACO,IAAA,iBAAiB,CAAC,IAAwB,EAAA;AAChD,QAAA,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;AACpD,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM;QAClE,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACnB,YAAA,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM;QACpE;aAAO;QACP;IACJ;AAEA;;;AAGG;AACO,IAAA,oBAAoB,CAAC,QAAkB,EAAA;;;AAG7C,QAAA,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC;IAC/C;8GA7HS,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAhBhC;;;;;;;;;AAST,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAXD,yCAAyC,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAkBhC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAtB7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACT;AACH,qBAAA;AACG,oBAAA,QAAQ,EAAE;;;;;;;;;AAST,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,cAAc;AACxB,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA;;;;;;;;ACvCD;AAYA;AAEA;AAqBM,MAAO,iCAAkC,SAAQ,uBAA2C,CAAA;AAnBlG,IAAA,WAAA,GAAA;;;;AAwBI;;AAEG;AACO,QAAA,IAAA,CAAA,MAAM,GAAG,QAAQ,CAAwD,MAAK;YACpF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE;QACzC,CAAC;mFAAC;AAEF;;AAEG;AACO,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAqB,MAAK;AACtD,YAAA,OAAQ,IAAI,CAAC,QAAQ,EAAyB,IAAI,EAAE;QACxD,CAAC;wFAAC;AAgBL,IAAA;;;AAVG;;AAEG;AACO,IAAA,iBAAiB,CAAC,IAAwB,EAAA;QAChD,IAAI,IAAI,EAAE;AACN,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvB;IACJ;8GA9BS,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAbhC;;;;;;AAMT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARD,yCAAyC,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAehC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAnB7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,OAAO,EAAE;wBACT;AACH,qBAAA;AACG,oBAAA,QAAQ,EAAE;;;;;;AAMT,IAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACF,wBAAA,KAAK,EAAE,cAAc;AACxB,qBAAA;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAClD,iBAAA;;;;;;;;AClCD;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-learning-management-client.mjs","sources":["../../../../libs/modules/learning-management/client/src/lib/menu.provider.ts","../../../../libs/modules/learning-management/client/src/lib/permission-definition.provider.ts","../../../../libs/modules/learning-management/client/src/lib/search-command.provider.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget.config.ts","../../../../libs/modules/learning-management/client/src/lib/widget-definition.provider.ts","../../../../libs/modules/learning-management/client/src/lib/learning-management.module.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix.component.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix.component.html","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget-column.component.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget-edit.component.ts","../../../../libs/modules/learning-management/client/src/lib/features/skill-matrix/skill-matrix-widget-view.component.ts","../../../../libs/modules/learning-management/client/src/acorex-platform-module-learning-management-client.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommonMenuKeys } from '@acorex-platform/module-common-client/contracts';\nimport { AXPMenuProvider, AXPMenuProviderContext } from '@acorex-platform/framework-client/common';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { inject } from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXMLearningManagementMenuKeys } from '@acorex-platform/module-learning-management-client/contracts';\n\n//#endregion\n\n//#region ---- Menu Provider ----\n\n/**\n * Learning Management Module Menu Provider.\n * - Root \"Learning\": Skills, Courses, Trainings, Enrollments, Certificates, Licenses, Learning Paths (operational)\n * - Configuration/Learning: Skill Levels, Course Types, Training Definitions/Types, Certificate Definitions/Types, License Types, Mandatory Training Rules (reference)\n */\nexport class AXMLearningManagementMenuProvider implements AXPMenuProvider {\n private readonly entityService = inject(AXPEntityService);\n\n async provide(context: AXPMenuProviderContext): Promise<void> {\n const module = RootConfig.module;\n\n // Root \"Learning\" - single level, direct links with dividers\n context.addItems([\n {\n name: AXMLearningManagementMenuKeys.Root,\n priority: 8210,\n text: '@learning-management:module.menus.root.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.Root}:skills`,\n text: RootConfig.entities.skill.titlePlural,\n icon: RootConfig.entities.skill.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skill.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:courses`,\n text: RootConfig.entities.course.titlePlural,\n icon: RootConfig.entities.course.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.course.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:trainings`,\n text: RootConfig.entities.training.titlePlural,\n icon: RootConfig.entities.training.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.training.name),\n priority: 3,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider1`, text: '', type: 'break', priority: 4 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:enrollments`,\n text: RootConfig.entities.enrollment.titlePlural,\n icon: RootConfig.entities.enrollment.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.enrollment.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:attendance`,\n text: RootConfig.entities.attendance.titlePlural,\n icon: RootConfig.entities.attendance.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.attendance.name),\n priority: 6,\n },\n { name: `${AXMLearningManagementMenuKeys.Root}:divider2`, text: '', type: 'break', priority: 7 },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:certificates`,\n text: RootConfig.entities.certificate.titlePlural,\n icon: RootConfig.entities.certificate.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificate.name),\n priority: 8,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:licenses`,\n text: RootConfig.entities.license.titlePlural,\n icon: RootConfig.entities.license.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.license.name),\n priority: 9,\n },\n {\n name: `${AXMLearningManagementMenuKeys.Root}:learning-paths`,\n text: RootConfig.entities.learningPath.titlePlural,\n icon: RootConfig.entities.learningPath.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.learningPath.name),\n priority: 10,\n },\n ],\n },\n ]);\n\n // Configuration/Learning - reference data\n context.find(AXPCommonMenuKeys.Configuration).addItems([\n {\n name: AXMLearningManagementMenuKeys.ConfigurationRoot,\n priority: 8650,\n text: '@learning-management:module.menus.configuration.title',\n icon: module.icon,\n policy: {\n features: [module.name],\n },\n children: [\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:skill-levels`,\n text: RootConfig.entities.skillLevel.titlePlural,\n icon: RootConfig.entities.skillLevel.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.skillLevel.name),\n priority: 1,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:course-types`,\n text: RootConfig.entities.courseType.titlePlural,\n icon: RootConfig.entities.courseType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.courseType.name),\n priority: 2,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-definitions`,\n text: RootConfig.entities.trainingDefinition.titlePlural,\n icon: RootConfig.entities.trainingDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingDefinition.name),\n priority: 3,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:training-types`,\n text: RootConfig.entities.trainingType.titlePlural,\n icon: RootConfig.entities.trainingType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.trainingType.name),\n priority: 4,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-definitions`,\n text: RootConfig.entities.certificateDefinition.titlePlural,\n icon: RootConfig.entities.certificateDefinition.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateDefinition.name),\n priority: 5,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:certificate-types`,\n text: RootConfig.entities.certificateType.titlePlural,\n icon: RootConfig.entities.certificateType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.certificateType.name),\n priority: 6,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:license-types`,\n text: RootConfig.entities.licenseType.titlePlural,\n icon: RootConfig.entities.licenseType.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.licenseType.name),\n priority: 7,\n },\n {\n name: `${AXMLearningManagementMenuKeys.ConfigurationRoot}:mandatory-rules`,\n text: RootConfig.entities.mandatoryTrainingRule.titlePlural,\n icon: RootConfig.entities.mandatoryTrainingRule.icon,\n path: this.entityService.createPath(module.name, RootConfig.entities.mandatoryTrainingRule.name),\n priority: 8,\n },\n ],\n },\n ]);\n }\n}\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n AXPPermissionDefinitionProvider,\n AXPPermissionDefinitionProviderContext,\n} from '@acorex-platform/framework-client/auth';\nimport {\n AXPCommonPermissionGroupKeys\n} from '@acorex-platform/module-common-client/contracts';\nimport {\n AXPLearningPermissionKeys\n} from '@acorex-platform/module-learning-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers learning capabilities into the shared Learning group.\n */\n@Injectable()\nexport class AXMLearningManagementPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPLearningPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:learning.permissions';\n const G = '@common:permission-groups';\n\n context\n .addGroup(groups.Learning.Root, `${G}.learning.title`, `${G}.learning.description`, { order: 20 })\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(\n keys.MaintainLearning,\n `${P}.maintain-learning.title`,\n `${P}.maintain-learning.description`,\n )\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { AXPSearchCommandProvider, AXPSearchResult, createEntityCommandOptions } from '@acorex-platform/framework-client/common';\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\n\n//#endregion\n\n//#region ---- Search Command Provider ----\n\nfunction cmd(id: string, entityKey: string, e: { name: string; title: string; icon: string }, title: string, desc: string) {\n return {\n id,\n group: 'command' as const,\n title,\n icon: e.icon,\n description: desc,\n command: {\n name: 'Entity:Create' as const,\n options: createEntityCommandOptions(entityKey, { name: e.name, module: RootConfig.module.name, title: e.title }),\n },\n };\n}\n\nexport class AXMLearningManagementSearchCommandProvider extends AXPSearchCommandProvider {\n commands: AXPSearchResult[] = [\n cmd('create-skill', `${RootConfig.module.name}.${RootConfig.entities.skill.name}`, RootConfig.entities.skill, '@learning-management:skills.search.create-skill.title', '@learning-management:skills.search.create-skill.description'),\n cmd('create-course', `${RootConfig.module.name}.${RootConfig.entities.course.name}`, RootConfig.entities.course, '@learning-management:courses.search.create-course.title', '@learning-management:courses.search.create-course.description'),\n cmd('create-training', `${RootConfig.module.name}.${RootConfig.entities.training.name}`, RootConfig.entities.training, '@learning-management:trainings.search.schedule-training.title', '@learning-management:trainings.search.schedule-training.description'),\n cmd('create-training-definition', `${RootConfig.module.name}.${RootConfig.entities.trainingDefinition.name}`, RootConfig.entities.trainingDefinition, '@learning-management:trainings.search.create-training-definition.title', '@learning-management:trainings.search.create-training-definition.description'),\n cmd('create-enrollment', `${RootConfig.module.name}.${RootConfig.entities.enrollment.name}`, RootConfig.entities.enrollment, '@learning-management:enrollments.search.create-enrollment.title', '@learning-management:enrollments.search.create-enrollment.description'),\n cmd('create-learning-path', `${RootConfig.module.name}.${RootConfig.entities.learningPath.name}`, RootConfig.entities.learningPath, '@learning-management:learning-paths.search.create-learning-path.title', '@learning-management:learning-paths.search.create-learning-path.description'),\n cmd('create-certificate', `${RootConfig.module.name}.${RootConfig.entities.certificate.name}`, RootConfig.entities.certificate, '@learning-management:certificates.search.issue-certificate.title', '@learning-management:certificates.search.issue-certificate.description'),\n cmd('create-certificate-definition', `${RootConfig.module.name}.${RootConfig.entities.certificateDefinition.name}`, RootConfig.entities.certificateDefinition, '@learning-management:certificates.search.create-certificate-definition.title', '@learning-management:certificates.search.create-certificate-definition.description'),\n cmd('create-attendance', `${RootConfig.module.name}.${RootConfig.entities.attendance.name}`, RootConfig.entities.attendance, '@learning-management:enrollments.search.create-attendance.title', '@learning-management:enrollments.search.create-attendance.description'),\n cmd('create-skill-level', `${RootConfig.module.name}.${RootConfig.entities.skillLevel.name}`, RootConfig.entities.skillLevel, '@learning-management:skills.search.create-skill-level.title', '@learning-management:skills.search.create-skill-level.description'),\n cmd('create-course-type', `${RootConfig.module.name}.${RootConfig.entities.courseType.name}`, RootConfig.entities.courseType, '@learning-management:courses.search.create-course-type.title', '@learning-management:courses.search.create-course-type.description'),\n cmd('create-training-type', `${RootConfig.module.name}.${RootConfig.entities.trainingType.name}`, RootConfig.entities.trainingType, '@learning-management:trainings.search.create-training-type.title', '@learning-management:trainings.search.create-training-type.description'),\n cmd('create-certificate-type', `${RootConfig.module.name}.${RootConfig.entities.certificateType.name}`, RootConfig.entities.certificateType, '@learning-management:certificates.search.create-certificate-type.title', '@learning-management:certificates.search.create-certificate-type.description'),\n cmd('create-mandatory-training-rule', `${RootConfig.module.name}.${RootConfig.entities.mandatoryTrainingRule.name}`, RootConfig.entities.mandatoryTrainingRule, '@learning-management:compliance.search.create-mandatory-training-rule.title', '@learning-management:compliance.search.create-mandatory-training-rule.description'),\n ];\n}\n\n//#endregion\n","import { AXPWidgetConfig, AXPWidgetGroupEnum } from '@acorex-platform/framework-shared/widget-core';\nimport { AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXP_DATA_PATH_PROPERTY, AXP_DISABLED_PROPERTY, AXP_LABEL_PROPERTY, AXP_NAME_PROPERTY, AXP_READONLY_PROPERTY } from '@acorex-platform/framework-client/layout/widgets';\n\nexport const AXLSkillMatrixWidget: AXPWidgetConfig<AXLSkillMatrixWidgetConfigType> = {\n name: 'skill-matrix-editor',\n title: 'Skill Matrix',\n categories: AXP_WIDGETS_EDITOR_CATEGORY,\n groups: [AXPWidgetGroupEnum.UtilityWidget],\n description: 'Matrix widget for managing skill levels across different skills',\n icon: 'fa-light fa-table',\n type: 'editor',\n options: {\n needLabel: false,\n },\n properties: [\n AXP_NAME_PROPERTY,\n AXP_DATA_PATH_PROPERTY,\n AXP_LABEL_PROPERTY,\n AXP_READONLY_PROPERTY,\n AXP_DISABLED_PROPERTY,\n ],\n components: {\n view: {\n component: () => import('./skill-matrix-widget-view.component').then((c) => c.AXLSkillMatrixWidgetViewComponent),\n },\n edit: {\n component: () => import('./skill-matrix-widget-edit.component').then((c) => c.AXLSkillMatrixWidgetEditComponent),\n },\n column: {\n component: () => import('./skill-matrix-widget-column.component').then((c) => c.AXLSkillMatrixWidgetColumnComponent),\n },\n },\n};\n\nexport type AXLSkillMatrixWidgetConfigType = {\n type: 'editor';\n};\n\n","//#region ---- Imports ----\n\nimport { AXPWidgetDefinitionProvider } from '@acorex-platform/framework-client/layout/widget-core';\nimport { Injectable } from '@angular/core';\nimport { AXLSkillMatrixWidget } from './features/skill-matrix/skill-matrix-widget.config';\n\n//#endregion\n\n//#region ---- Learning Management Widgets Provider ----\n\n@Injectable()\nexport class AXMLearningManagementWidgetsProvider implements AXPWidgetDefinitionProvider {\n getWidgets() {\n return [AXLSkillMatrixWidget];\n }\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport { NgModule } from '@angular/core';\nimport { AXP_WIDGET_DEFINITION_PROVIDER, AXPWidgetCoreModule } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXP_MENU_PROVIDER, AXP_SEARCH_PROVIDER } from '@acorex-platform/framework-client/common';\nimport { AXP_PERMISSION_DEFINITION_PROVIDER } from '@acorex-platform/framework-client/auth';\nimport { AXMLearningManagementPermissionDefinitionProvider } from './permission-definition.provider';\nimport { AXMLearningManagementMenuProvider } from './menu.provider';\nimport { AXMLearningManagementSearchCommandProvider } from './search-command.provider';\n\nimport { AXMLearningManagementWidgetsProvider } from './widget-definition.provider';\n\n//#endregion\n\n//#region ---- Module ----\n\n@NgModule({\n imports: [\n AXPWidgetCoreModule,\n ],\n providers: [\n // Provider references (now using tokens)\n {\n provide: AXP_PERMISSION_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementPermissionDefinitionProvider,\n multi: true,\n },\n {\n provide: AXP_MENU_PROVIDER,\n useClass: AXMLearningManagementMenuProvider,\n multi: true,\n },\n {\n provide: AXP_SEARCH_PROVIDER,\n useClass: AXMLearningManagementSearchCommandProvider,\n multi: true,\n },\n {\n provide: AXP_WIDGET_DEFINITION_PROVIDER,\n useClass: AXMLearningManagementWidgetsProvider,\n multi: true,\n },\n ],\n})\nexport class AXMLearningManagementModule { }\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport { type AXPCategoryEntity, type AXPWidgetNode, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport {\n AXPSpreadsheetComponent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetRowChangeEvent,\n AXPSpreadsheetItem,\n AXPSpreadsheetData,\n} from '@acorex-platform/framework-client/layout/components';\n\nimport { AXMLearningManagementSkillLevelEntityModel } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXPEntityDataSelectorService, AXPEntityDefinitionRegistryService, AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\n\nimport { RootConfig } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService, resolveMultiLanguageString } from '@acorex/core/translation';\nimport { AXMLearningManagementSkillEntityModel } from '@acorex-platform/module-learning-management-client/contracts';\nimport { AXPCategoryTreeDataSource } from '@acorex-platform/framework-client/layout/components';\n\n//#endregion\n\n@Component({\n selector: 'axm-skill-matrix',\n standalone: true,\n imports: [\n CommonModule,\n AXPSpreadsheetComponent,\n AXButtonModule,\n AXDecoratorModule,\n AXTranslationModule,\n ],\n templateUrl: './skill-matrix.component.html',\n styleUrl: './skill-matrix.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-skill-matrix',\n },\n})\nexport class AXMLearningManagementSkillMatrixComponent {\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly skillLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillLevel.name)\n .data<string, AXMLearningManagementSkillLevelEntityModel>();\n private readonly skillDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skill.name)\n .data<string, AXMLearningManagementSkillEntityModel>();\n private readonly skillCategoryDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.skillCategory.name)\n .data<string, any>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly translationService = inject(AXTranslationService);\n private readonly destroyRef = inject(DestroyRef);\n private readonly activeLocale = signal(this.translationService.getActiveLang());\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job titles/positions to display as columns (e.g., Senior, Manager, Director)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [skillId]: { [title.id]: skillLevelId } }\n */\n value = input<AXPSpreadsheetData>({});\n\n /**\n * Whether the matrix is in readonly mode\n */\n readonly = input<boolean>(false);\n\n /**\n * Initial skill IDs (for syncing with parent entity)\n */\n skillIds = input<string[]>([]);\n\n //#endregion\n\n //#region ---- Outputs ----\n\n /**\n * Emitted when the matrix value changes\n */\n valueChange = output<AXPSpreadsheetData>();\n\n /**\n * Emitted when a single cell value changes\n */\n cellChange = output<AXPSpreadsheetCellChangeEvent>();\n\n /**\n * Emitted when selected skills change (skill IDs array)\n */\n skillIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Skill levels loaded from the service\n */\n private skillLevels = signal<AXMLearningManagementSkillLevelEntityModel[]>([]);\n\n /**\n * Selected skills (internal state)\n */\n protected selectedSkills = signal<AXMLearningManagementSkillEntityModel[]>([]);\n\n /**\n * Skill entity definition\n */\n private skillEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for skill entity\n */\n protected isLoadingSkillEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (skills) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const skills = this.selectedSkills();\n const result = (skills ?? []).map((skill) => ({\n id: skill.id,\n title: resolveMultiLanguageString(skill.title, locale),\n description:\n skill.description != null ? resolveMultiLanguageString(skill.description, locale) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job titles/positions) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: title.title,\n description: title.description || undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (skill levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const locale = this.activeLocale();\n const levels = this.skillLevels();\n return (levels ?? []).map((level) => ({\n id: level.id,\n title: resolveMultiLanguageString(level.title, locale),\n description:\n level.description != null ? resolveMultiLanguageString(level.description, locale) : undefined,\n }));\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job titles/positions)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for skill levels\n const selectBoxWidget: AXPWidgetNode = {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n textField: 'title',\n dataSource: cellOptions.map(option => ({\n id: option.id,\n title: option.title,\n description: option.description,\n })),\n },\n };\n\n // Convert horizontal titles to columns\n return horizontalTitles.map((title) => ({\n name: title.id,\n title: title.title,\n description: title.description,\n path: title.id, // Path to access the value in row object\n widget: selectBoxWidget,\n }));\n });\n\n /**\n * Spreadsheet rows - converted from matrix data and vertical titles\n */\n protected spreadsheetRows = computed<Record<string, any>[]>(() => {\n const verticalTitles = this.verticalTitles();\n const horizontalTitles = this.horizontalTitles();\n const matrixData = this.value();\n\n // Convert matrix data to spreadsheet rows\n return verticalTitles.map((skill) => {\n const row: Record<string, any> = {\n name: skill.id, // Required for fixed mode row identification\n _skillTitle: skill.title, // For row header display\n _skillDescription: skill.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[skill.id]?.[title.id] ?? null;\n row[title.id] = cellValue;\n });\n\n return row;\n });\n });\n\n //#endregion\n\n //#region ---- Lifecycle Methods ----\n\n constructor() {\n this.translationService.langChanges$\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((lang) => this.activeLocale.set(lang));\n\n // Load skill levels and skill entity definition when component initializes\n this.loadSkillLevels();\n this.loadSkillEntityDef();\n\n // Watch for skillIds input changes and sync selected skills\n effect(() => {\n const ids = this.skillIds();\n if (ids && ids.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract skill IDs from matrix data keys\n const matrixData = this.value();\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n if (skillIdsFromMatrix.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(skillIdsFromMatrix);\n } else {\n this.selectedSkills.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract skill IDs\n effect(() => {\n const matrixData = this.value();\n const currentSkillIds = this.selectedSkills().map((s) => s.id);\n const skillIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has skills that aren't in selectedSkills, load them\n const missingIds = skillIdsFromMatrix.filter((id) => !currentSkillIds.includes(id));\n if (missingIds.length > 0 && this.skillEntityDef()) {\n this.loadSkillsByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load skill levels from the service\n */\n private async loadSkillLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'levelNumber', dir: 'asc' as const }],\n };\n const result = await this.skillLevelDataAccessor.query(query);\n this.skillLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading skill levels:', error);\n this.skillLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load skill entity definition\n */\n private async loadSkillEntityDef(): Promise<void> {\n try {\n this.isLoadingSkillEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.skill.name\n );\n this.skillEntityDef.set(entityDef as AXPEntity);\n } catch (error) {\n console.error('Error loading skill entity definition:', error);\n this.skillEntityDef.set(null as unknown as AXPEntity);\n } finally {\n this.isLoadingSkillEntity.set(false);\n }\n }\n\n /**\n * Load skills by IDs\n */\n private async loadSkillsByIds(ids: string[]): Promise<void> {\n try {\n const skills: AXMLearningManagementSkillEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const skill = await this.skillDataAccessor.byKey(id);\n if (skill) {\n skills.push(skill);\n }\n } catch (error) {\n console.error(`Error loading skill ${id}:`, error);\n }\n }\n\n this.selectedSkills.set(skills);\n } catch (error) {\n console.error('Error loading skills by IDs:', error);\n }\n }\n\n //#endregion\n\n //#region ---- Data Transformation Methods ----\n\n /**\n * Convert spreadsheet rows back to matrix data format\n */\n private convertSpreadsheetRowsToMatrixData(rows: Record<string, any>[]): AXPSpreadsheetData {\n const horizontalTitles = this.horizontalTitles();\n const matrixData: AXPSpreadsheetData = {};\n\n rows.forEach((row) => {\n const skillId = row['name']; // Row identifier (skill ID)\n if (!skillId) {\n return;\n }\n\n matrixData[skillId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[skillId][title.id] = cellValue;\n });\n });\n\n return matrixData;\n }\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle spreadsheet change event - convert to matrix format\n */\n protected handleSpreadsheetChange(rows: Record<string, any>[]): void {\n const matrixData = this.convertSpreadsheetRowsToMatrixData(rows);\n this.valueChange.emit(matrixData);\n\n // Extract skill IDs from row names and emit\n const skillIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle cell change event from spreadsheet\n */\n protected handleCellChange(event: AXPSpreadsheetCellChangeEvent): void {\n this.cellChange.emit(event);\n }\n\n /**\n * Open skill selector dialog with category filter\n */\n protected async handleSelectSkills(): Promise<void> {\n const entityDef = this.skillEntityDef();\n if (!entityDef) {\n console.error('Skill entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected skill IDs\n const selectedItemIds = this.selectedSkills()\n .map((skill) => skill.id)\n .filter((id) => id != null);\n\n // Create category tree data source\n const categoryTreeDataSource: AXPCategoryTreeDataSource = {\n loadRootNodes: async () => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'isEmpty' },\n value: true,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n loadChildNodes: async (parentId: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n field: 'parentId',\n operator: { type: 'equal' },\n value: parentId,\n },\n sort: [{ field: 'title', dir: 'asc' }],\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n searchNodes: async (searchValue: string) => {\n const result = await this.skillCategoryDataAccessor.query({\n skip: 0,\n take: 1000,\n filter: {\n filters: [\n {\n field: 'title',\n operator: { type: 'contains' },\n value: searchValue,\n },\n {\n field: 'name',\n operator: { type: 'contains' },\n value: searchValue,\n },\n ],\n logic: 'or',\n },\n });\n return (result.items || []).map((item: any) => ({\n id: item.id,\n title: item.title || item.name,\n description: item.description || '',\n parentId: item.parentId,\n childrenCount: item.childrenCount || 0,\n })) as AXPCategoryEntity[];\n },\n };\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Skills',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n columns: ['title', 'description'],\n showCategoryFilter: false,\n categoryFilter: {\n title: 'Categories',\n dataSource: categoryTreeDataSource,\n filterField: 'categoryIds',\n filterOperator: 'contains',\n width: '350px',\n },\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected skills\n this.selectedSkills.set(result.items);\n // Emit skill IDs change\n const skillIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n } catch (error) {\n console.error('Error opening skill selector:', error);\n }\n }\n\n /**\n * Remove a skill from selection\n */\n protected handleRemoveSkill(skillId: string): void {\n const currentSkills = this.selectedSkills();\n const updatedSkills = currentSkills.filter((skill) => skill.id !== skillId);\n this.selectedSkills.set(updatedSkills);\n\n // Remove skill data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[skillId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit skill IDs change\n const skillIds = updatedSkills.map((skill) => skill.id).filter((id) => id != null);\n this.skillIdsChange.emit(skillIds);\n }\n\n /**\n * Handle row change event from spreadsheet (add/remove)\n */\n protected handleRowChange(event: AXPSpreadsheetRowChangeEvent): void {\n if (event.type === 'remove') {\n // Remove skill from selection\n this.handleRemoveSkill(event.rowId);\n }\n // Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here\n }\n\n //#endregion\n}\n\n//#endregion\n\n","<div class=\"__container\">\n <div class=\"__matrix-section\">\n <div class=\"__matrix-header ax-sm\">\n @if (!readonly()) {\n <ax-button color=\"primary\"\n [text]=\"'@learning-management:skills.components.skill-matrix.actions.choose-skills.title' | translate | async\"\n (onClick)=\"handleSelectSkills()\" [disabled]=\"isLoadingSkillEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@learning-management:skills.components.skill-matrix.messages.loading-skill-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Skill / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_skillTitle'\"\n [rowDescriptionPath]=\"'_skillDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>","//#region ----- Imports -----\n\nimport { AXPColumnWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport type { AXPSpreadsheetData } from '@acorex-platform/framework-client/layout/components';\nimport { ChangeDetectionStrategy, Component } from '@angular/core';\n\n//#endregion\n\n//#region ----- Helpers -----\n\nfunction assignedRowCount(value: unknown): number {\n if (value == null || typeof value !== 'object' || Array.isArray(value)) {\n return 0;\n }\n\n let count = 0;\n for (const row of Object.values(value as AXPSpreadsheetData)) {\n if (row == null || typeof row !== 'object') {\n continue;\n }\n const hasCell = Object.values(row).some((cell) => cell != null && String(cell).trim() !== '');\n if (hasCell) {\n count += 1;\n }\n }\n return count;\n}\n\n//#endregion\n\n//#region ----- Component -----\n\n@Component({\n selector: 'axm-skill-matrix-widget-column',\n template: `\n @if (assignedCount(); as count) {\n <!-- ----- Assigned skill rows ----- -->\n <span>{{ count }}</span>\n }\n <!-- ----- Empty matrix ----- -->\n @else {\n <span class=\"text-muted\">---</span>\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [],\n inputs: ['rawValue', 'rowData'],\n})\nexport class AXLSkillMatrixWidgetColumnComponent extends AXPColumnWidgetComponent<AXPSpreadsheetData> {\n //#region ----- Computed Properties -----\n\n protected assignedCount(): number {\n return assignedRowCount(this.rawValue);\n }\n\n //#endregion\n}\n\n//#endregion\n","//#region ---- Imports ----\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex-platform/framework-client/layout/components';\nimport { get } from 'lodash';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-edit',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [skillIds]=\"skillIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (skillIdsChange)=\"handleSkillIdsChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when requiredLevels changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const requiredLevelsFromContext = get(contextData, 'jobLevelsList') as any[] | undefined;\n\n if (Array.isArray(requiredLevelsFromContext) && requiredLevelsFromContext.length > 0) {\n // Ensure each item has the required structure\n return requiredLevelsFromContext.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // Fallback to options (for initial load or when context is not yet available)\n const options = this.options();\n const rawTitles = options?.['titles'];\n\n // If titles is not set, return empty array\n if (!rawTitles) {\n return [];\n }\n\n // If it's already an array, return it (evaluated expression result)\n if (Array.isArray(rawTitles)) {\n // Ensure each item has the required structure\n return rawTitles.map((item: any) => {\n if (typeof item === 'string') {\n // If item is just a string (ID), convert to proper format\n return { id: item, title: item };\n }\n // If item is an object, ensure it has id and title\n return {\n id: item.id || item.value || String(item),\n title: item.title || item.name || String(item),\n description: item.description,\n };\n });\n }\n\n // If it's still a string (unevaluated expression), return empty array\n // The expression will be evaluated by the widget renderer and options will update\n if (typeof rawTitles === 'string') {\n return [];\n }\n\n return [];\n });\n\n /**\n * Readonly mode from options - properly tracks options signal changes\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n const result = options?.['readonly'] ?? false;\n return result;\n });\n\n /**\n * Current matrix value - tracks getValue signal changes\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n const result = (this.getValue() as AXPSpreadsheetData) || {};\n const keysCount = Object.keys(result).length;\n return result;\n });\n\n /**\n * Skill IDs extracted from matrix data keys or from options\n */\n protected skillIds = computed<string[]>(() => {\n const options = this.options();\n const skillIdsFromOptions = options?.['skillIds'] ?? [];\n\n // If skillIds from options is an array, use it\n if (Array.isArray(skillIdsFromOptions) && skillIdsFromOptions.length > 0) {\n return skillIdsFromOptions;\n }\n\n // Otherwise, extract from matrix data keys\n const matrixData = this.matrixValue();\n return Object.keys(matrixData || {});\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n const dataKeysCount = Object.keys(data || {}).length;\n const currentKeysCount = Object.keys(this.getValue() || {}).length;\n if (data) {\n this.setValue(data);\n const afterKeysCount = Object.keys(this.getValue() || {}).length;\n } else {\n }\n }\n\n /**\n * Handle skill IDs change from skill-matrix component\n * Skill IDs are stored as keys in the matrix data, so this is mainly for tracking\n */\n protected handleSkillIdsChange(skillIds: string[]): void {\n // Skill IDs are already reflected in the matrix data keys\n // This handler is here for potential future use or side effects\n console.log('Skill IDs changed:', skillIds);\n }\n\n //#endregion\n}\n\n//#endregion\n\n","//#region ---- Imports ----\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n ViewEncapsulation,\n} from '@angular/core';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { AXPSpreadsheetData } from '@acorex-platform/framework-client/layout/components';\nimport { AXMLearningManagementSkillMatrixComponent } from './skill-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-skill-matrix-widget-view',\n standalone: true,\n imports: [\n AXMLearningManagementSkillMatrixComponent\n],\n template: `\n <axm-skill-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-skill-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXLSkillMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Skill IDs from options\n */\n protected skills = computed<{ id: string; title: string; description?: string }[]>(() => {\n return this.options()['skills'] || [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from skill-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n //#endregion\n}\n\n//#endregion\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { AXPModuleManifest, AXPMultiLanguageString, AXPCategoryListItem } from '@acorex-platform/framework-shared/core';
|
|
1
2
|
import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';
|
|
2
|
-
import { AXPMultiLanguageString, AXPCategoryListItem } from '@acorex-platform/framework-shared/core';
|
|
3
3
|
|
|
4
4
|
declare const AXMLearningManagementMenuKeys: {
|
|
5
5
|
readonly Root: "learning-management:menu";
|
|
@@ -280,6 +280,12 @@ declare const RootConfig: {
|
|
|
280
280
|
};
|
|
281
281
|
};
|
|
282
282
|
|
|
283
|
+
/**
|
|
284
|
+
* Learning Management Module Manifest.
|
|
285
|
+
* Defines module metadata, features, and provider references.
|
|
286
|
+
*/
|
|
287
|
+
declare const LearningManagementManifest: AXPModuleManifest;
|
|
288
|
+
|
|
283
289
|
type AttendanceStatus = 'Present' | 'Absent' | 'Late';
|
|
284
290
|
interface AXMLearningManagementAttendanceEntityModel extends AXPEntityModel<string> {
|
|
285
291
|
enrollmentId: string;
|
|
@@ -530,5 +536,5 @@ interface AXMLearningManagementTrainingTypeEntityModel extends AXPEntityModel<st
|
|
|
530
536
|
description?: AXPMultiLanguageString | null;
|
|
531
537
|
}
|
|
532
538
|
|
|
533
|
-
export { AXMLearningManagementMenuKeys, AXMLearningManagementPermissionKeys, AXPLearningPermissionKeys, RootConfig };
|
|
539
|
+
export { AXMLearningManagementMenuKeys, AXMLearningManagementPermissionKeys, AXPLearningPermissionKeys, LearningManagementManifest, RootConfig };
|
|
534
540
|
export type { AXMLearningManagementAttendanceEntityModel, AXMLearningManagementCertificateDefinitionEntityModel, AXMLearningManagementCertificateEntityModel, AXMLearningManagementCertificateTypeEntityModel, AXMLearningManagementCourseEntityModel, AXMLearningManagementCourseTypeEntityModel, AXMLearningManagementEnrollmentEntityModel, AXMLearningManagementLearningPathCourseEntityModel, AXMLearningManagementLearningPathEntityModel, AXMLearningManagementLicenseEntityModel, AXMLearningManagementLicenseTypeEntityModel, AXMLearningManagementLicenseValidityPeriodUnit, AXMLearningManagementMandatoryTrainingRuleEntityModel, AXMLearningManagementSkillEntityModel, AXMLearningManagementSkillLevelEntityModel, AXMLearningManagementTrainingDefinitionEntityModel, AXMLearningManagementTrainingEntityModel, AXMLearningManagementTrainingTypeEntityModel, AttendanceStatus, EnrollmentStatus, TrainingStatus };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-learning-management-client-contracts-entity-catalog-attendance.entity-Ck3M7119.mjs","sources":["../../../../libs/modules/learning-management/contracts/src/entities/attendance/attendance.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function factoryAttendance(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.attendance.name,\n title: RootConfig.entities.attendance.title,\n icon: RootConfig.entities.attendance.icon,\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }],\n formats: {\n individual: RootConfig.entities.attendance.title,\n plural: RootConfig.entities.attendance.titlePlural,\n searchResult: {\n title: '{{ sessionDate | date:\"mediumDate\" }}',\n description: '{{ status }}',\n },\n },\n groups: [{ id: 'basic-info', title: '@learning-management:enrollments.entities.attendance.groups.basic-info' }],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'enrollmentId',\n title: '@learning-management:enrollments.entities.attendance.fields.enrollment-id.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.enrollment.name}`,\n expose: [\n { source: 'id', target: 'enrollment.id' },\n { source: 'employeeId', target: 'enrollment.employeeId' },\n { source: 'training.title', target: 'enrollment.trainingTitle' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'sessionDate',\n title: '@learning-management:enrollments.entities.attendance.fields.session-date.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'date',\n interface: {\n type: AXPWidgetsList.Editors.DateTimeBox,\n options: {\n displayFormat: 'date',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'status',\n title: '@learning-management:enrollments.entities.attendance.fields.status.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n defaultValue: 'Present',\n interface: {\n type: AXPWidgetsList.Editors.SelectBox,\n options: {\n valueField: 'id',\n dataSource: [\n {\n id: 'Present',\n title: '@learning-management:enrollments.entities.attendance.fields.status.options.present',\n },\n {\n id: 'Absent',\n title: '@learning-management:enrollments.entities.attendance.fields.status.options.absent',\n },\n {\n id: 'Late',\n title: '@learning-management:enrollments.entities.attendance.fields.status.options.late',\n },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'notes',\n title: '@learning-management:enrollments.entities.attendance.fields.notes.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 3,\n placeholder: '@learning-management:enrollments.entities.attendance.fields.notes.placeholder',\n },\n },\n },\n },\n ],\n columns: [\n { name: 'sessionDate' },\n { name: 'status' },\n { name: 'enrollmentId', options: { dataPath: 'enrollment.employeeId' } },\n ],\n interfaces: {\n master: {\n create: {\n sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],\n properties: [\n { name: 'enrollmentId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'sessionDate', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'status', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n ],\n },\n update: {\n sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],\n properties: [\n { name: 'enrollmentId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'sessionDate', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'status', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n ],\n },\n single: {\n title: '{{ sessionDate | date:\"mediumDate\" }}',\n sections: [{ id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } }],\n properties: [\n { name: 'enrollmentId', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'sessionDate', layout: { positions: { lg: { colSpan: 4, order: 2 } } } },\n { name: 'status', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'notes', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'sessionDate', dir: 'desc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-definition.entity-BWLX4Ntr.mjs","sources":["../../../../libs/modules/learning-management/contracts/src/entities/certificate-definition/certificate-definition.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function factoryCertificateDefinition(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.certificateDefinition.name,\n title: RootConfig.entities.certificateDefinition.title,\n icon: RootConfig.entities.certificateDefinition.icon,\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }, { name: 'clone' }, { name: 'archive' }, { name: 'category' }],\n formats: {\n individual: RootConfig.entities.certificateDefinition.title,\n plural: RootConfig.entities.certificateDefinition.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ certificateType.title }}',\n },\n },\n groups: [\n { id: 'basic-info', title: '@general:terms.interface.basic-info' },\n {\n id: 'configuration',\n title: '@learning-management:certificates.entities.certificate-definition.groups.configuration',\n },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'title',\n title: '@learning-management:certificates.entities.certificate-definition.fields.title.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@learning-management:certificates.entities.certificate-definition.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@learning-management:certificates.entities.certificate-definition.fields.description.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 3,\n placeholder:\n '@learning-management:certificates.entities.certificate-definition.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'certificateTypeId',\n title: '@learning-management:certificates.entities.certificate-definition.fields.certificate-type-id.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.certificateType.name}`,\n look: 'select',\n expose: [\n { source: 'id', target: 'certificateType.id' },\n { source: 'title', target: 'certificateType.title' },\n ],\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'courseId',\n title: '@learning-management:certificates.entities.certificate-definition.fields.course-id.title',\n groupId: 'configuration',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: `${RootConfig.module.name}.${RootConfig.entities.course.name}`,\n look: 'select',\n expose: [\n { source: 'id', target: 'course.id' },\n { source: 'title', target: 'course.title' },\n ],\n },\n },\n },\n },\n {\n name: 'validityDays',\n title: '@learning-management:certificates.entities.certificate-definition.fields.validity-days.title',\n groupId: 'configuration',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n minValue: 0,\n placeholder:\n '@learning-management:certificates.entities.certificate-definition.fields.validity-days.placeholder',\n },\n },\n },\n },\n {\n name: 'templateId',\n title: '@learning-management:certificates.entities.certificate-definition.fields.template-id.title',\n groupId: 'configuration',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'DocumentManagement.DocumentTemplate',\n },\n },\n },\n },\n {\n name: 'isActive',\n title: '@learning-management:certificates.entities.certificate-definition.fields.is-active.title',\n groupId: 'configuration',\n schema: {\n dataType: 'boolean',\n defaultValue: true,\n interface: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n },\n },\n ],\n columns: [\n { name: 'title' },\n { name: 'certificateTypeId', options: { dataPath: 'certificateType.title' } },\n { name: 'courseId', options: { dataPath: 'course.title' } },\n { name: 'isActive' },\n ],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'certificateTypeId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'courseId', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'validityDays', layout: { positions: { lg: { colSpan: 3, order: 5 } } } },\n { name: 'templateId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'isActive', layout: { positions: { lg: { colSpan: 3, order: 7 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'certificateTypeId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'courseId', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'validityDays', layout: { positions: { lg: { colSpan: 3, order: 5 } } } },\n { name: 'templateId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'isActive', layout: { positions: { lg: { colSpan: 3, order: 7 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'configuration', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'title', layout: { positions: { lg: { colSpan: 6, order: 1 } } } },\n { name: 'certificateTypeId', layout: { positions: { lg: { colSpan: 6, order: 2 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 3 } } } },\n { name: 'courseId', layout: { positions: { lg: { colSpan: 6, order: 4 } } } },\n { name: 'validityDays', layout: { positions: { lg: { colSpan: 3, order: 5 } } } },\n { name: 'templateId', layout: { positions: { lg: { colSpan: 6, order: 6 } } } },\n { name: 'isActive', layout: { positions: { lg: { colSpan: 3, order: 7 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'title', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-learning-management-client-contracts-entity-catalog-certificate-type.entity-DP1VM7Wz.mjs","sources":["../../../../libs/modules/learning-management/contracts/src/entities/certificate-type/certificate-type.entity.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPEntity, createAllQueryView, entityMasterCrudActions, entityMasterRecordActions } from '@acorex-platform/framework-shared/entity';\n//#region ---- Imports ----\nimport { RootConfig } from '../../root-config';\n\n//#endregion\n\n//#region ---- Entity Factory ----\n\nexport async function factoryCertificateType(): Promise<AXPEntity | null> {\n const entityDef: AXPEntity = {\n module: RootConfig.module.name,\n name: RootConfig.entities.certificateType.name,\n title: RootConfig.entities.certificateType.title,\n icon: RootConfig.entities.certificateType.icon,\n plugins: [{ name: 'history' }, { name: 'lock' }, { name: 'compare' }],\n formats: {\n individual: RootConfig.entities.certificateType.title,\n plural: RootConfig.entities.certificateType.titlePlural,\n searchResult: {\n title: '{{ title }}',\n description: '{{ validityDays }} days',\n },\n },\n groups: [\n { id: 'basic-info', title: '@learning-management:certificates.entities.certificate-type.groups.basic-info' },\n { id: 'template', title: '@learning-management:certificates.entities.certificate-type.groups.template' },\n ],\n properties: [\n {\n name: 'id',\n title: 'ID',\n groupId: 'basic-info',\n schema: {\n dataType: 'uuid',\n visible: false,\n nullable: false,\n readonly: true,\n unique: { enabled: true },\n },\n },\n {\n name: 'code',\n title: '@learning-management:certificates.entities.certificate-type.fields.code.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@learning-management:certificates.entities.certificate-type.fields.code.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'title',\n title: '@learning-management:certificates.entities.certificate-type.fields.title.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: true },\n filter: { advance: { enabled: true }, inline: { enabled: true } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: '@learning-management:certificates.entities.certificate-type.fields.title.placeholder',\n },\n },\n },\n validations: [{ rule: 'required' }],\n },\n {\n name: 'description',\n title: '@learning-management:certificates.entities.certificate-type.fields.description.title',\n groupId: 'basic-info',\n options: {\n sort: { enabled: false },\n filter: { advance: { enabled: true }, inline: { enabled: false } },\n },\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n options: {\n rows: 3,\n placeholder: '@learning-management:certificates.entities.certificate-type.fields.description.placeholder',\n },\n },\n },\n },\n {\n name: 'validityDays',\n title: '@learning-management:certificates.entities.certificate-type.fields.validity-days.title',\n groupId: 'basic-info',\n schema: {\n dataType: 'number',\n interface: {\n type: AXPWidgetsList.Editors.NumberBox,\n options: {\n minValue: 0,\n placeholder:\n '@learning-management:certificates.entities.certificate-type.fields.validity-days.placeholder',\n },\n },\n },\n },\n {\n name: 'templateId',\n title: '@learning-management:certificates.entities.certificate-type.fields.template-id.title',\n groupId: 'template',\n schema: {\n dataType: 'string',\n interface: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: 'DocumentManagement.DocumentTemplate',\n },\n },\n },\n },\n ],\n columns: [{ name: 'code' }, { name: 'title' }, { name: 'validityDays' }, { name: 'templateId' }],\n interfaces: {\n master: {\n create: {\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'template', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },\n { name: 'validityDays', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'templateId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ],\n },\n update: {\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'template', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },\n { name: 'validityDays', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'templateId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ],\n },\n single: {\n title: '{{ title }}',\n sections: [\n { id: 'basic-info', layout: { positions: { lg: { colSpan: 12 } } } },\n { id: 'template', layout: { positions: { lg: { colSpan: 12 } } } },\n ],\n properties: [\n { name: 'code', layout: { positions: { lg: { colSpan: 4, order: 1 } } } },\n { name: 'title', layout: { positions: { lg: { colSpan: 8, order: 2 } } } },\n { name: 'validityDays', layout: { positions: { lg: { colSpan: 4, order: 3 } } } },\n { name: 'description', layout: { positions: { lg: { colSpan: 12, order: 4 } } } },\n { name: 'templateId', layout: { positions: { lg: { colSpan: 12, order: 5 } } } },\n ],\n actions: [...entityMasterRecordActions()],\n },\n list: {\n actions: [...entityMasterCrudActions()],\n views: [createAllQueryView({ sorts: [{ name: 'code', dir: 'asc' }] })],\n },\n },\n },\n };\n\n return entityDef;\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|