@acorex-platform/module-organization-management-client 0.0.32 → 0.0.37
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-organization-management-client-acorex-platform-module-organization-management-client-UGWNdPxI.mjs → acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs} +11 -11
- package/fesm2022/{acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-UGWNdPxI.mjs.map → acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-add-business-unit-to-business-unit.command-CA2uZQyC.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-add-position-to-business-unit.command-F7jD3jKs.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-add-team-to-business-unit.command-BLQFjhS5.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit-type.mjs +318 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit-type.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit.mjs +516 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-business-unit.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-chart.mjs +314 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-chart.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-company.mjs +250 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-company.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-definition.mjs +439 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-definition.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-level.mjs +385 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-job-level.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-position.mjs +657 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-position.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility-level.mjs +248 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility-level.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility.mjs +317 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-responsibility.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-business-unit.mjs +413 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-business-unit.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member-role.mjs +220 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member-role.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member.mjs +366 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team-member.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team.mjs +421 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entities-team.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-acorex-platform-module-organization-management-client-contracts-entity-catalog-vMiwmkDK.mjs +146 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-acorex-platform-module-organization-management-client-contracts-entity-catalog-vMiwmkDK.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-BmhCZeXd.mjs +203 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit-type.entity-BmhCZeXd.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-CIPmfbsM.mjs +401 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-business-unit.entity-CIPmfbsM.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-sg_rI9It.mjs +199 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-chart.entity-sg_rI9It.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-company.entity-BSDO_7eL.mjs +135 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-company.entity-BSDO_7eL.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-definition.entity-0W6OSQH-.mjs +324 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-definition.entity-0W6OSQH-.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-level.entity-DbMjRbn9.mjs +270 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-job-level.entity-DbMjRbn9.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-position.entity-BkauiyPn.mjs +542 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-position.entity-BkauiyPn.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility-level.entity-BagFwJmO.mjs +133 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility-level.entity-BagFwJmO.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility.entity-DHhT7rSq.mjs +202 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-responsibility.entity-DHhT7rSq.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-business-unit.entity-hkCAl8so.mjs +298 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-business-unit.entity-hkCAl8so.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member-role.entity-BeGE4JUl.mjs +105 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member-role.entity-BeGE4JUl.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member.entity-10nYBrN4.mjs +251 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team-member.entity-10nYBrN4.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team.entity-Bygn5B_k.mjs +306 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog-team.entity-Bygn5B_k.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog.mjs +2 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts-entity-catalog.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-contracts.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-feature-definition.provider-BQKtvXOM.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-generate-org-chart.command-DJnFJKuo.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-job-definition-matrix-page.utils-CGRJXMOn.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-pages-component.provider-TIHOAeAI.mjs → acorex-platform-module-organization-management-client-job-definition-pages-component.provider-XH_rXGwz.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-pages-component.provider-TIHOAeAI.mjs.map → acorex-platform-module-organization-management-client-job-definition-pages-component.provider-XH_rXGwz.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-KwOQXdX0.mjs → acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-CpirrInU.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-KwOQXdX0.mjs.map → acorex-platform-module-organization-management-client-job-definition-responsibilities-page.component-CpirrInU.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-job-definition-skills-page.component-bQOqP1Tx.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-local-entities.mjs +41 -0
- package/fesm2022/acorex-platform-module-organization-management-client-local-entities.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-organization-management-client-menu.provider-BgRoEC48.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-org-chart-default-node-contribution.provider-BQ0ihb43.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-DZs4VB50.mjs → acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-ZnMtkQSg.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-DZs4VB50.mjs.map → acorex-platform-module-organization-management-client-org-chart-employee-flyout-contribution.provider-ZnMtkQSg.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-org-chart-position-employee-node-contribution.provider-BTicXn9n.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-ISEbvMkZ.mjs → acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-uZkFZFPA.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-ISEbvMkZ.mjs.map → acorex-platform-module-organization-management-client-org-chart-ux-node-contribution.provider-uZkFZFPA.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-org-chart.page-CMd5nTa7.mjs → acorex-platform-module-organization-management-client-org-chart.page-BhXvP2qN.mjs} +7 -7
- package/fesm2022/{acorex-platform-module-organization-management-client-org-chart.page-CMd5nTa7.mjs.map → acorex-platform-module-organization-management-client-org-chart.page-BhXvP2qN.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-permission-definition.provider-CiCdTBGo.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-remove-position-from-business-unit.command-BFQVTpfy.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-replace-position-assignee.command-CSgERqLG.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-responsibilities-matrix-widget-column.component-C5H0kcVW.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-DmDQSgYC.mjs → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-DmDQSgYC.mjs.map → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-BkLZhXhM.mjs → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-BkLZhXhM.mjs.map → acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs.map} +1 -1
- package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix.component-DqO6xE2p.mjs → acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs} +2 -2
- package/fesm2022/{acorex-platform-module-organization-management-client-responsibilities-matrix.component-DqO6xE2p.mjs.map → acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs.map} +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client-settings.provider-B3nDm32f.mjs.map +1 -1
- package/fesm2022/acorex-platform-module-organization-management-client.mjs +1 -1
- package/package.json +62 -2
- package/types/acorex-platform-module-organization-management-client-contracts-entities-business-unit-type.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-business-unit.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-chart.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-company.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-job-definition.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-job-level.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-position.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-responsibility-level.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-responsibility.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-team-business-unit.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-team-member-role.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-team-member.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entities-team.d.ts +5 -0
- package/types/acorex-platform-module-organization-management-client-contracts-entity-catalog.d.ts +10 -0
- package/types/acorex-platform-module-organization-management-client-contracts.d.ts +2 -2
- package/types/acorex-platform-module-organization-management-client-local-entities.d.ts +12 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-permission-definition.provider-CiCdTBGo.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/permission-definition.provider.ts"],"sourcesContent":["//#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 AXPPeopleOrganizationPermissionKeys\n} from '@acorex-platform/module-organization-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers People & Organization capabilities owned or shared by org-management.\n * MaintainEmployees / ManageEmployeeActions are registered by HCM.\n */\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPPeopleOrganizationPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:people-organization.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.PeopleOrganization.Root, `${G}.people-organization.title`, `${G}.people-organization.description`, { order: 10 });\n\n context\n .addGroup(\n groups.PeopleOrganization.Structure,\n `${G}.people-organization-structure.title`,\n `${G}.people-organization-structure.description`,\n { parent: groups.PeopleOrganization.Root, order: 10 },\n )\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(keys.ViewOrganization, `${P}.view-organization.title`, `${P}.view-organization.description`)\n .endPermission()\n .addPermission(\n keys.MaintainOrganization,\n `${P}.maintain-organization.title`,\n `${P}.maintain-organization.description`,\n )\n .endPermission()\n .addPermission(keys.MaintainTeams, `${P}.maintain-teams.title`, `${P}.maintain-teams.description`)\n .endPermission()\n .addPermission(keys.DesignJobs, `${P}.design-jobs.title`, `${P}.design-jobs.description`)\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;AAeA;AAEA;AAEA;;;AAGG;MAEU,+BAA+B,CAAA;IAC1C,MAAM,MAAM,CAAC,OAA+C,EAAA;QAC1D,MAAM,IAAI,GAAG,mCAAmC;QAChD,MAAM,MAAM,GAAG,4BAA4B;QAC3C,MAAM,CAAC,GAAG,yCAAyC;QACnD,MAAM,CAAC,GAAG,2BAA2B;QAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA,EAAG,CAAC,4BAA4B,EAAE,CAAA,EAAG,CAAC,CAAA,gCAAA,CAAkC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAEzI;AACG,aAAA,QAAQ,CACP,MAAM,CAAC,kBAAkB,CAAC,SAAS,EACnC,CAAA,EAAG,CAAC,CAAA,oCAAA,CAAsC,EAC1C,CAAA,EAAG,CAAC,CAAA,0CAAA,CAA4C,EAChD,EAAE,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AAEtD,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,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAA,EAAG,CAAC,CAAA,wBAAA,CAA0B,EAAE,CAAA,EAAG,CAAC,CAAA,8BAAA,CAAgC;AACzG,aAAA,aAAa;AACb,aAAA,aAAa,CACZ,IAAI,CAAC,oBAAoB,EACzB,CAAA,EAAG,CAAC,CAAA,4BAAA,CAA8B,EAClC,CAAA,EAAG,CAAC,CAAA,kCAAA,CAAoC;AAEzC,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA,EAAG,CAAC,CAAA,qBAAA,CAAuB,EAAE,CAAA,EAAG,CAAC,CAAA,2BAAA,CAA6B;AAChG,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA,EAAG,CAAC,CAAA,kBAAA,CAAoB,EAAE,CAAA,EAAG,CAAC,CAAA,wBAAA,CAA0B;AACvF,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;8GAjCW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-permission-definition.provider-CiCdTBGo.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/permission-definition.provider.ts"],"sourcesContent":["//#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 AXPPeopleOrganizationPermissionKeys\n} from '@acorex-platform/module-organization-management-client/contracts';\n\nimport { Injectable } from '@angular/core';\n\n//#endregion\n\n//#region ---- Permission Definition Provider ----\n\n/**\n * Registers People & Organization capabilities owned or shared by org-management.\n * MaintainEmployees / ManageEmployeeActions are registered by HCM.\n */\n@Injectable()\nexport class AXMPermissionDefinitionProvider implements AXPPermissionDefinitionProvider {\n async define(context: AXPPermissionDefinitionProviderContext): Promise<void> {\n const keys = AXPPeopleOrganizationPermissionKeys;\n const groups = AXPCommonPermissionGroupKeys;\n const P = '@common:people-organization.permissions';\n const G = '@common:permission-groups';\n\n context.addGroup(groups.PeopleOrganization.Root, `${G}.people-organization.title`, `${G}.people-organization.description`, { order: 10 });\n\n context\n .addGroup(\n groups.PeopleOrganization.Structure,\n `${G}.people-organization-structure.title`,\n `${G}.people-organization-structure.description`,\n { parent: groups.PeopleOrganization.Root, order: 10 },\n )\n .addPermission(keys.Access, `${P}.access.title`, `${P}.access.description`)\n .endPermission()\n .addPermission(keys.ViewOrganization, `${P}.view-organization.title`, `${P}.view-organization.description`)\n .endPermission()\n .addPermission(\n keys.MaintainOrganization,\n `${P}.maintain-organization.title`,\n `${P}.maintain-organization.description`,\n )\n .endPermission()\n .addPermission(keys.MaintainTeams, `${P}.maintain-teams.title`, `${P}.maintain-teams.description`)\n .endPermission()\n .addPermission(keys.DesignJobs, `${P}.design-jobs.title`, `${P}.design-jobs.description`)\n .endPermission()\n .addPermission(keys.Setup, `${P}.setup.title`, `${P}.setup.description`)\n .endPermission()\n .endGroup();\n }\n}\n\n//#endregion\n"],"names":[],"mappings":";;;;;AAeA;AAEA;AAEA;;;AAGG;MAEU,+BAA+B,CAAA;IAC1C,MAAM,MAAM,CAAC,OAA+C,EAAA;QAC1D,MAAM,IAAI,GAAG,mCAAmC;QAChD,MAAM,MAAM,GAAG,4BAA4B;QAC3C,MAAM,CAAC,GAAG,yCAAyC;QACnD,MAAM,CAAC,GAAG,2BAA2B;QAErC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA,EAAG,CAAC,4BAA4B,EAAE,CAAA,EAAG,CAAC,CAAA,gCAAA,CAAkC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAEzI;AACG,aAAA,QAAQ,CACP,MAAM,CAAC,kBAAkB,CAAC,SAAS,EACnC,CAAA,EAAG,CAAC,CAAA,oCAAA,CAAsC,EAC1C,CAAA,EAAG,CAAC,CAAA,0CAAA,CAA4C,EAChD,EAAE,MAAM,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;AAEtD,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,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAA,EAAG,CAAC,CAAA,wBAAA,CAA0B,EAAE,CAAA,EAAG,CAAC,CAAA,8BAAA,CAAgC;AACzG,aAAA,aAAa;AACb,aAAA,aAAa,CACZ,IAAI,CAAC,oBAAoB,EACzB,CAAA,EAAG,CAAC,CAAA,4BAAA,CAA8B,EAClC,CAAA,EAAG,CAAC,CAAA,kCAAA,CAAoC;AAEzC,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAA,EAAG,CAAC,CAAA,qBAAA,CAAuB,EAAE,CAAA,EAAG,CAAC,CAAA,2BAAA,CAA6B;AAChG,aAAA,aAAa;AACb,aAAA,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA,EAAG,CAAC,CAAA,kBAAA,CAAoB,EAAE,CAAA,EAAG,CAAC,CAAA,wBAAA,CAA0B;AACvF,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;8GAjCW,+BAA+B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAA/B,+BAA+B,EAAA,CAAA,CAAA;;2FAA/B,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAD3C;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-remove-position-from-business-unit.command-BFQVTpfy.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/commands/remove-position-from-business-unit.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND } from '@acorex-platform/module-organization-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\nimport type { AXMOrganizationManagementBusinessUnitEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\nexport interface AXMRemovePositionFromBusinessUnitInput {\n businessUnitId: string;\n positionId: string;\n /** Primary assignee on the chart card; when set, active assignment is revoked before the seat is unlinked. */\n occupantEmployeeId?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXMRemovePositionFromBusinessUnitCommand\n implements AXPCommand<AXMRemovePositionFromBusinessUnitInput, { businessUnitId: string; positionId: string }>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly entityService = inject(AXPEntityService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(\n input: AXMRemovePositionFromBusinessUnitInput,\n ): AXPCommandExecuteResultPromise<{ businessUnitId: string; positionId: string }> {\n const businessUnitId = input?.businessUnitId?.trim() ?? '';\n const positionId = input?.positionId?.trim() ?? '';\n if (!businessUnitId || !positionId) {\n return { success: false };\n }\n\n if (!(await this.confirmRemoveFromUnit())) {\n return { success: false };\n }\n\n const occupantId = input?.occupantEmployeeId?.trim() ?? '';\n if (occupantId.length > 0) {\n await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND, {\n positionId,\n employeeId: occupantId,\n businessUnitId,\n skipConfirmation: true,\n });\n }\n\n const buData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.businessUnit.name)\n .data<string, AXMOrganizationManagementBusinessUnitEntityModel>();\n\n const businessUnit = await buData.byKey(businessUnitId);\n if (!businessUnit?.id) {\n return { success: false };\n }\n\n const existingIds = this.normalizePositionIds(businessUnit.positionIds);\n const nextPositionIds = existingIds.filter((id) => id !== positionId);\n\n const headRaw = businessUnit.headPositionId != null ? String(businessUnit.headPositionId).trim() : '';\n\n const patch: Partial<AXMOrganizationManagementBusinessUnitEntityModel> = { positionIds: nextPositionIds };\n if (headRaw === positionId) {\n patch.headPositionId = null;\n }\n\n try {\n await buData.update(businessUnitId, patch);\n } catch {\n return { success: false };\n }\n\n return { success: true, kind: 'object', data: { businessUnitId, positionId } };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private normalizePositionIds(value: unknown): string[] {\n if (value == null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value.map((v) => String(v ?? '').trim()).filter((id) => id.length > 0);\n }\n if (typeof value === 'string') {\n return value\n .split(',')\n .map((id) => id.trim())\n .filter((id) => id.length > 0);\n }\n return [];\n }\n\n private async confirmRemoveFromUnit(): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.remove-from-unit-confirm.title',\n );\n const message = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.remove-from-unit-confirm.message',\n );\n const result = await this.dialogService.confirm(title, message, 'danger', 'horizontal', false, 'cancel');\n return result.result === true;\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-remove-position-from-business-unit.command-BFQVTpfy.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/commands/remove-position-from-business-unit.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityService } from '@acorex-platform/framework-client/layout/entity';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND } from '@acorex-platform/module-organization-management-client/contracts';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\nimport type { AXMOrganizationManagementBusinessUnitEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\nexport interface AXMRemovePositionFromBusinessUnitInput {\n businessUnitId: string;\n positionId: string;\n /** Primary assignee on the chart card; when set, active assignment is revoked before the seat is unlinked. */\n occupantEmployeeId?: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXMRemovePositionFromBusinessUnitCommand\n implements AXPCommand<AXMRemovePositionFromBusinessUnitInput, { businessUnitId: string; positionId: string }>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly entityService = inject(AXPEntityService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(\n input: AXMRemovePositionFromBusinessUnitInput,\n ): AXPCommandExecuteResultPromise<{ businessUnitId: string; positionId: string }> {\n const businessUnitId = input?.businessUnitId?.trim() ?? '';\n const positionId = input?.positionId?.trim() ?? '';\n if (!businessUnitId || !positionId) {\n return { success: false };\n }\n\n if (!(await this.confirmRemoveFromUnit())) {\n return { success: false };\n }\n\n const occupantId = input?.occupantEmployeeId?.trim() ?? '';\n if (occupantId.length > 0) {\n await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND, {\n positionId,\n employeeId: occupantId,\n businessUnitId,\n skipConfirmation: true,\n });\n }\n\n const buData = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.businessUnit.name)\n .data<string, AXMOrganizationManagementBusinessUnitEntityModel>();\n\n const businessUnit = await buData.byKey(businessUnitId);\n if (!businessUnit?.id) {\n return { success: false };\n }\n\n const existingIds = this.normalizePositionIds(businessUnit.positionIds);\n const nextPositionIds = existingIds.filter((id) => id !== positionId);\n\n const headRaw = businessUnit.headPositionId != null ? String(businessUnit.headPositionId).trim() : '';\n\n const patch: Partial<AXMOrganizationManagementBusinessUnitEntityModel> = { positionIds: nextPositionIds };\n if (headRaw === positionId) {\n patch.headPositionId = null;\n }\n\n try {\n await buData.update(businessUnitId, patch);\n } catch {\n return { success: false };\n }\n\n return { success: true, kind: 'object', data: { businessUnitId, positionId } };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private normalizePositionIds(value: unknown): string[] {\n if (value == null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value.map((v) => String(v ?? '').trim()).filter((id) => id.length > 0);\n }\n if (typeof value === 'string') {\n return value\n .split(',')\n .map((id) => id.trim())\n .filter((id) => id.length > 0);\n }\n return [];\n }\n\n private async confirmRemoveFromUnit(): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.remove-from-unit-confirm.title',\n );\n const message = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.remove-from-unit-confirm.message',\n );\n const result = await this.dialogService.confirm(title, message, 'danger', 'horizontal', false, 'cancel');\n return result.result === true;\n }\n\n //#endregion\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-replace-position-assignee.command-CSgERqLG.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/commands/replace-position-assignee.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\nexport interface AXMReplacePositionAssigneeInput {\n businessUnitId: string;\n positionId: string;\n currentEmployeeId: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXMReplacePositionAssigneeCommand\n implements AXPCommand<AXMReplacePositionAssigneeInput, { businessUnitId: string; positionId: string }>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(\n input: AXMReplacePositionAssigneeInput,\n ): AXPCommandExecuteResultPromise<{ businessUnitId: string; positionId: string }> {\n const businessUnitId = input?.businessUnitId?.trim() ?? '';\n const positionId = input?.positionId?.trim() ?? '';\n const currentEmployeeId = input?.currentEmployeeId?.trim() ?? '';\n if (!businessUnitId || !positionId || !currentEmployeeId) {\n return { success: false };\n }\n\n if (!(await this.confirmReplaceAssignee())) {\n return { success: false };\n }\n\n const revokeResult = await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND, {\n positionId,\n employeeId: currentEmployeeId,\n businessUnitId,\n skipConfirmation: true,\n });\n if (!revokeResult?.success) {\n return { success: false };\n }\n\n const assignResult = await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, {\n data: {\n businessUnitId,\n positionId,\n isPrimary: false,\n },\n });\n\n return assignResult?.success === true\n ? { success: true, kind: 'object', data: { businessUnitId, positionId } }\n : { success: false, message: assignResult?.message };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async confirmReplaceAssignee(): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.replace-assignee-confirm.title',\n );\n const message = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.replace-assignee-confirm.message',\n );\n const result = await this.dialogService.confirm(title, message, 'primary', 'horizontal', false, 'cancel');\n return result.result === true;\n }\n\n //#endregion\n}\n"],"names":[],"mappings":";;;;;;;MAmBa,iCAAiC,CAAA;AAD9C,IAAA,WAAA,GAAA;;AAMmB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACjD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AA2DzD,IAAA;;;IArDC,MAAM,OAAO,CACX,KAAsC,EAAA;QAEtC,MAAM,cAAc,GAAG,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1D,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;QAClD,MAAM,iBAAiB,GAAG,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;QAChE,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,EAAE;AACxD,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,IAAI,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE;AAC1C,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0CAA0C,EAAE;YACjG,UAAU;AACV,YAAA,UAAU,EAAE,iBAAiB;YAC7B,cAAc;AACd,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;AAC1B,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0CAA0C,EAAE;AACjG,YAAA,IAAI,EAAE;gBACJ,cAAc;gBACd,UAAU;AACV,gBAAA,SAAS,EAAE,KAAK;AACjB,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,OAAO,YAAY,EAAE,OAAO,KAAK;AAC/B,cAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE;AACvE,cAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;IACxD;;;AAMQ,IAAA,MAAM,sBAAsB,GAAA;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACxD,yFAAyF,CAC1F;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAC1D,2FAA2F,CAC5F;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC;AACzG,QAAA,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI;IAC/B;8GA/DW,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cADpB,MAAM,EAAA,CAAA,CAAA;;2FACnB,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-replace-position-assignee.command-CSgERqLG.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/organization-chart/commands/replace-position-assignee.command.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPCommand, type AXPCommandExecuteResultPromise } from '@acorex-platform/framework-shared/runtime';\nimport { AXDialogService } from '@acorex/components/dialog';\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPRuntimeCommandResult } from '@acorex-platform/framework-shared/core';\nimport { AXPCommandService } from '@acorex-platform/framework-client/runtime';\nimport { inject, Injectable } from '@angular/core';\nimport { AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\nexport interface AXMReplacePositionAssigneeInput {\n businessUnitId: string;\n positionId: string;\n currentEmployeeId: string;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class AXMReplacePositionAssigneeCommand\n implements AXPCommand<AXMReplacePositionAssigneeInput, { businessUnitId: string; positionId: string }>\n{\n //#region ---- Services & Dependencies ----\n\n private readonly commandService = inject(AXPCommandService);\n private readonly translationService = inject(AXTranslationService);\n private readonly dialogService = inject(AXDialogService);\n\n //#endregion\n\n //#region ---- Command ----\n\n async execute(\n input: AXMReplacePositionAssigneeInput,\n ): AXPCommandExecuteResultPromise<{ businessUnitId: string; positionId: string }> {\n const businessUnitId = input?.businessUnitId?.trim() ?? '';\n const positionId = input?.positionId?.trim() ?? '';\n const currentEmployeeId = input?.currentEmployeeId?.trim() ?? '';\n if (!businessUnitId || !positionId || !currentEmployeeId) {\n return { success: false };\n }\n\n if (!(await this.confirmReplaceAssignee())) {\n return { success: false };\n }\n\n const revokeResult = await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_REVOKE_COMMAND, {\n positionId,\n employeeId: currentEmployeeId,\n businessUnitId,\n skipConfirmation: true,\n });\n if (!revokeResult?.success) {\n return { success: false };\n }\n\n const assignResult = await this.commandService.execute(AXM_HCM_POSITION_ASSIGNMENT_ASSIGN_COMMAND, {\n data: {\n businessUnitId,\n positionId,\n isPrimary: false,\n },\n });\n\n return assignResult?.success === true\n ? { success: true, kind: 'object', data: { businessUnitId, positionId } }\n : { success: false, message: assignResult?.message };\n }\n\n //#endregion\n\n //#region ---- Helpers ----\n\n private async confirmReplaceAssignee(): Promise<boolean> {\n const title = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.replace-assignee-confirm.title',\n );\n const message = await this.translationService.translateAsync(\n '@organization-management:organization-chart.node-actions.replace-assignee-confirm.message',\n );\n const result = await this.dialogService.confirm(title, message, 'primary', 'horizontal', false, 'cancel');\n return result.result === true;\n }\n\n //#endregion\n}\n"],"names":[],"mappings":";;;;;;;MAmBa,iCAAiC,CAAA;AAD9C,IAAA,WAAA,GAAA;;AAMmB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,QAAA,IAAA,CAAA,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACjD,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC;AA2DzD,IAAA;;;IArDC,MAAM,OAAO,CACX,KAAsC,EAAA;QAEtC,MAAM,cAAc,GAAG,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE;QAC1D,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE;QAClD,MAAM,iBAAiB,GAAG,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,IAAI,EAAE;QAChE,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB,EAAE;AACxD,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,IAAI,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE;AAC1C,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0CAA0C,EAAE;YACjG,UAAU;AACV,YAAA,UAAU,EAAE,iBAAiB;YAC7B,cAAc;AACd,YAAA,gBAAgB,EAAE,IAAI;AACvB,SAAA,CAAC;AACF,QAAA,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE;AAC1B,YAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE;QAC3B;QAEA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,0CAA0C,EAAE;AACjG,YAAA,IAAI,EAAE;gBACJ,cAAc;gBACd,UAAU;AACV,gBAAA,SAAS,EAAE,KAAK;AACjB,aAAA;AACF,SAAA,CAAC;AAEF,QAAA,OAAO,YAAY,EAAE,OAAO,KAAK;AAC/B,cAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE;AACvE,cAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE;IACxD;;;AAMQ,IAAA,MAAM,sBAAsB,GAAA;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CACxD,yFAAyF,CAC1F;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAC1D,2FAA2F,CAC5F;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC;AACzG,QAAA,OAAO,MAAM,CAAC,MAAM,KAAK,IAAI;IAC/B;8GA/DW,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iCAAiC,cADpB,MAAM,EAAA,CAAA,CAAA;;2FACnB,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAD7C,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-column.component-C5H0kcVW.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-column.component.ts"],"sourcesContent":["//#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-responsibilities-matrix-widget-column',\n template: `\n @if (assignedCount(); as count) {\n <!-- ----- Assigned responsibility 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 AXMResponsibilitiesMatrixWidgetColumnComponent 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"],"names":[],"mappings":";;;;AAAA;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,8CAA+C,SAAQ,wBAA4C,CAAA;;IAGpG,aAAa,GAAA;AACrB,QAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC;8GALW,8CAA8C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8CAA8C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAd/C;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKU,8CAA8C,EAAA,UAAA,EAAA,CAAA;kBAhB1D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2CAA2C;AACrD,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
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-column.component-C5H0kcVW.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-column.component.ts"],"sourcesContent":["//#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-responsibilities-matrix-widget-column',\n template: `\n @if (assignedCount(); as count) {\n <!-- ----- Assigned responsibility 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 AXMResponsibilitiesMatrixWidgetColumnComponent 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"],"names":[],"mappings":";;;;AAAA;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,8CAA+C,SAAQ,wBAA4C,CAAA;;IAGpG,aAAa,GAAA;AACrB,QAAA,OAAO,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxC;8GALW,8CAA8C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA9C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8CAA8C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAd/C;;;;;;;;;AAST,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAKU,8CAA8C,EAAA,UAAA,EAAA,CAAA;kBAhB1D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,2CAA2C;AACrD,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;;;"}
|
|
@@ -3,7 +3,7 @@ import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layou
|
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { inject, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
5
5
|
import { get } from 'lodash';
|
|
6
|
-
import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-
|
|
6
|
+
import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs';
|
|
7
7
|
|
|
8
8
|
//#region ---- Imports ----
|
|
9
9
|
//#endregion
|
|
@@ -140,4 +140,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
140
140
|
}] });
|
|
141
141
|
|
|
142
142
|
export { AXMResponsibilitiesMatrixWidgetEditComponent };
|
|
143
|
-
//# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-
|
|
143
|
+
//# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-edit.component-m4S5GRko.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-edit.component.ts"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXTranslationService } from '@acorex/core/translation';\nimport { AXPSpreadsheetData, AXPSpreadsheetItem } from '@acorex-platform/framework-client/layout/components';\nimport { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';\nimport { ChangeDetectionStrategy, Component, computed, inject, ViewEncapsulation } from '@angular/core';\nimport { get } from 'lodash';\nimport { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-edit',\n standalone: true,\n imports: [AXMOrganizationManagementResponsibilitiesMatrixComponent],\n template: `\n <axm-responsibilities-matrix\n [titles]=\"titles()\"\n [value]=\"matrixValue()\"\n [responsibilityIds]=\"responsibilityIds()\"\n [readonly]=\"readonly()\"\n (valueChange)=\"handleValueChange($any($event))\"\n (responsibilityIdsChange)=\"handleResponsibilityIdsChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetEditComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#region ---- Services & Dependencies ----\n\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Readonly mode from options\n */\n protected readonly = computed<boolean>(() => {\n const options = this.options();\n return options?.['readonly'] ?? false;\n });\n\n /**\n * Titles from context - reactively reads from context data signal\n * This ensures the titles update immediately when jobLevelsList changes in context\n */\n protected titles = computed<AXPSpreadsheetItem[]>(() => {\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const toItem = (item: any): AXPSpreadsheetItem => {\n if (typeof item === 'string') {\n return { id: item, title: item };\n }\n const id = item.id || item.value || String(item);\n const rawTitle = item.title ?? item.name ?? String(item);\n return {\n id,\n title: resolve(rawTitle) || String(rawTitle),\n description: item.description != null && item.description !== '' ? resolve(item.description) : undefined,\n };\n };\n\n // Read directly from context data signal for reactive updates\n const contextData = this.contextService.data();\n const jobLevelsFromContext = get(contextData, 'jobLevelsList') as any[] | undefined;\n\n if (Array.isArray(jobLevelsFromContext) && jobLevelsFromContext.length > 0) {\n return jobLevelsFromContext.map(toItem);\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 (!rawTitles) {\n return [];\n }\n\n if (Array.isArray(rawTitles)) {\n return rawTitles.map(toItem);\n }\n\n return [];\n });\n\n /**\n * Current matrix value\n */\n protected matrixValue = computed<AXPSpreadsheetData>(() => {\n return (this.getValue() as AXPSpreadsheetData) || {};\n });\n\n /**\n * Responsibility IDs extracted from value or from options\n */\n protected responsibilityIds = computed<string[]>(() => {\n const options = this.options();\n const responsibilityIdsFromOptions = options?.['responsibilityIds'] ?? [];\n\n // If responsibilityIds from options is an array, use it\n if (Array.isArray(responsibilityIdsFromOptions) && responsibilityIdsFromOptions.length > 0) {\n return responsibilityIdsFromOptions;\n }\n\n // Otherwise, extract from value (only if value exists and has items)\n const value = this.matrixValue();\n if (value && typeof value === 'object' && Object.keys(value).length > 0) {\n return Object.keys(value).filter((id) => id != null);\n }\n\n // Return empty array to prevent undefined issues\n return [];\n });\n\n //#endregion\n\n //#region ---- Event Handlers ----\n\n /**\n * Handle value change from responsibilities-matrix component\n */\n protected handleValueChange(data: AXPSpreadsheetData): void {\n if (data) {\n this.setValue(data);\n }\n }\n\n /**\n * Handle responsibility IDs change from responsibilities-matrix component\n */\n protected handleResponsibilityIdsChange(responsibilityIds: string[]): void {\n // Responsibility IDs are already reflected in the value\n // This handler is here for potential future use or side effects\n }\n\n //#endregion\n}\n\n//#endregion\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
3
|
import { AXPValueWidgetComponent } from '@acorex-platform/framework-client/layout/widget-core';
|
|
4
|
-
import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-
|
|
4
|
+
import { A as AXMOrganizationManagementResponsibilitiesMatrixComponent } from './acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs';
|
|
5
5
|
|
|
6
6
|
//#region ---- Imports ----
|
|
7
7
|
//#endregion
|
|
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
62
62
|
}] });
|
|
63
63
|
|
|
64
64
|
export { AXMResponsibilitiesMatrixWidgetViewComponent };
|
|
65
|
-
//# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-
|
|
65
|
+
//# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix-widget-view.component-Cbua852d.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix-widget-view.component.ts"],"sourcesContent":["//#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 { AXMOrganizationManagementResponsibilitiesMatrixComponent } from './responsibilities-matrix.component';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix-widget-view',\n standalone: true,\n imports: [\n AXMOrganizationManagementResponsibilitiesMatrixComponent\n],\n template: `\n <axm-responsibilities-matrix\n [value]=\"matrixValue()\"\n [readonly]=\"true\"\n (valueChange)=\"handleValueChange($any($event))\"\n ></axm-responsibilities-matrix>\n `,\n host: {\n class: 'block w-full',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXMResponsibilitiesMatrixWidgetViewComponent extends AXPValueWidgetComponent<AXPSpreadsheetData> {\n //#endregion\n\n //#region ---- Computed Properties ----\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 responsibilities-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"],"names":[],"mappings":";;;;;AAAA;AAYA;AAEA;AAqBM,MAAO,4CAA6C,SAAQ,uBAA2C,CAAA;AAnB7G,IAAA,WAAA,GAAA;;;;AAwBI;;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;8GAvBS,4CAA4C,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5C,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,4CAA4C,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yCAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAb3C;;;;;;AAMT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EARD,wDAAwD,EAAA,QAAA,EAAA,6BAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,OAAA,EAAA,UAAA,EAAA,mBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,EAAA,YAAA,EAAA,yBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAe/C,4CAA4C,EAAA,UAAA,EAAA,CAAA;kBAnBxD,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yCAAyC;AACnD,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;;;"}
|
|
@@ -387,7 +387,7 @@ class AXMOrganizationManagementResponsibilitiesMatrixComponent {
|
|
|
387
387
|
// Note: 'add' type shouldn't happen in fixed mode, but if it does, we can handle it here
|
|
388
388
|
}
|
|
389
389
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMOrganizationManagementResponsibilitiesMatrixComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
390
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMOrganizationManagementResponsibilitiesMatrixComponent, isStandalone: true, selector: "axm-responsibilities-matrix", inputs: { titles: { classPropertyName: "titles", publicName: "titles", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, responsibilityIds: { classPropertyName: "responsibilityIds", publicName: "responsibilityIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", cellChange: "cellChange", responsibilityIdsChange: "responsibilityIdsChange" }, host: { classAttribute: "axm-responsibilities-matrix" }, ngImport: i0, template: "<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]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n", styles: [".responsibilities-matrix{display:block;height:100%;width:100%}.responsibilities-matrix .__container,.responsibilities-matrix .__matrix-section{display:flex;flex-direction:column}.responsibilities-matrix .__matrix-header{margin-bottom:calc(var(--spacing, .25rem) * 3);display:flex;justify-content:flex-end}.responsibilities-matrix .__loading{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:var(--color-neutral-600, oklch(43.9% 0 none))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXPSpreadsheetComponent, selector: "axp-spreadsheet", inputs: ["title", "columns", "rowMode", "rowsInput", "rowsModel", "readonly", "emptyCellPlaceholder", "rowTitlePath", "rowDescriptionPath", "allowAddRows", "allowRemoveRows"], outputs: ["rowsModelChange", "cellChange", "rowChange", "spreadsheetChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "
|
|
390
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AXMOrganizationManagementResponsibilitiesMatrixComponent, isStandalone: true, selector: "axm-responsibilities-matrix", inputs: { titles: { classPropertyName: "titles", publicName: "titles", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, responsibilityIds: { classPropertyName: "responsibilityIds", publicName: "responsibilityIds", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", cellChange: "cellChange", responsibilityIdsChange: "responsibilityIdsChange" }, host: { classAttribute: "axm-responsibilities-matrix" }, ngImport: i0, template: "<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]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n", styles: [".responsibilities-matrix{display:block;height:100%;width:100%}.responsibilities-matrix .__container,.responsibilities-matrix .__matrix-section{display:flex;flex-direction:column}.responsibilities-matrix .__matrix-header{margin-bottom:calc(var(--spacing, .25rem) * 3);display:flex;justify-content:flex-end}.responsibilities-matrix .__loading{display:flex;align-items:center;justify-content:center;padding:calc(var(--spacing, .25rem) * 8);font-size:var(--text-sm, .875rem);line-height:var(--tw-leading, var(--text-sm--line-height, calc(1.25 / .875)));color:var(--color-neutral-600, oklch(43.9% 0 none))}\n/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: AXPSpreadsheetComponent, selector: "axp-spreadsheet", inputs: ["title", "columns", "rowMode", "rowsInput", "rowsModel", "readonly", "emptyCellPlaceholder", "rowTitlePath", "rowDescriptionPath", "allowAddRows", "allowRemoveRows"], outputs: ["rowsModelChange", "cellChange", "rowChange", "spreadsheetChange"] }, { kind: "ngmodule", type: AXButtonModule }, { kind: "component", type: i1.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "tabIndex", "color", "look", "text", "toggleable", "selected", "iconOnly", "type", "loadingText"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange", "disabledChange", "loadingTextChange"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i2.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i3$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
391
391
|
}
|
|
392
392
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AXMOrganizationManagementResponsibilitiesMatrixComponent, decorators: [{
|
|
393
393
|
type: Component,
|
|
@@ -397,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
397
397
|
}], ctorParameters: () => [], propDecorators: { titles: [{ type: i0.Input, args: [{ isSignal: true, alias: "titles", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], responsibilityIds: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsibilityIds", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], cellChange: [{ type: i0.Output, args: ["cellChange"] }], responsibilityIdsChange: [{ type: i0.Output, args: ["responsibilityIdsChange"] }] } });
|
|
398
398
|
|
|
399
399
|
export { AXMOrganizationManagementResponsibilitiesMatrixComponent as A };
|
|
400
|
-
//# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix.component-
|
|
400
|
+
//# sourceMappingURL=acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix.component-DqO6xE2p.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.ts","../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { type AXPWidgetNode, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\n\nimport {\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetComponent,\n AXPSpreadsheetData,\n AXPSpreadsheetItem,\n AXPSpreadsheetRowChangeEvent,\n} from '@acorex-platform/framework-client/layout/components';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityLevelEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix',\n standalone: true,\n imports: [CommonModule, AXPSpreadsheetComponent, AXButtonModule, AXDecoratorModule, AXTranslationModule],\n templateUrl: './responsibilities-matrix.component.html',\n styleUrl: './responsibilities-matrix.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-responsibilities-matrix',\n },\n})\nexport class AXMOrganizationManagementResponsibilitiesMatrixComponent {\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly responsibilityLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibilityLevel.name)\n .data<string, AXMOrganizationManagementResponsibilityLevelEntityModel>();\n private readonly responsibilityDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibility.name)\n .data<string, AXMOrganizationManagementResponsibilityEntityModel>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job levels to display as columns (e.g., Junior, Mid-Level, Senior)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [responsibilityId]: { [title.id]: responsibilityLevelId } }\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 responsibility IDs (for syncing with parent entity)\n */\n responsibilityIds = 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 responsibilities change (responsibility IDs array)\n */\n responsibilityIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Responsibility levels loaded from the service\n */\n private responsibilityLevels = signal<AXMOrganizationManagementResponsibilityLevelEntityModel[]>([]);\n\n /**\n * Selected responsibilities (internal state)\n */\n protected selectedResponsibilities = signal<AXMOrganizationManagementResponsibilityEntityModel[]>([]);\n\n /**\n * Responsibility entity definition\n */\n private responsibilityEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for responsibility entity\n */\n protected isLoadingResponsibilityEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (responsibilities) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const responsibilities = this.selectedResponsibilities();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (responsibilities ?? []).map((responsibility) => ({\n id: responsibility.id,\n title: resolve(responsibility.title),\n description: responsibility.description ? resolve(responsibility.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job levels) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: resolve(title.title),\n description: title.description ? resolve(title.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (responsibility levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const levels = this.responsibilityLevels();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (levels ?? []).map((level) => ({\n id: level.id,\n title: resolve(level.title),\n description: level.description ? resolve(level.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job levels)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for responsibility 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((responsibility) => {\n const row: Record<string, any> = {\n name: responsibility.id, // Required for fixed mode row identification\n _responsibilityTitle: responsibility.title, // For row header display\n _responsibilityDescription: responsibility.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[responsibility.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 // Load responsibility levels and responsibility entity definition when component initializes\n this.loadResponsibilityLevels();\n this.loadResponsibilityEntityDef();\n\n // Watch for responsibilityIds input changes and sync selected responsibilities\n effect(() => {\n const ids = this.responsibilityIds();\n if (ids && ids.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract responsibility IDs from matrix data keys\n const matrixData = this.value();\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n if (responsibilityIdsFromMatrix.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(responsibilityIdsFromMatrix);\n } else {\n this.selectedResponsibilities.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract responsibility IDs\n effect(() => {\n const matrixData = this.value();\n const currentResponsibilityIds = this.selectedResponsibilities().map((r) => r.id);\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has responsibilities that aren't in selectedResponsibilities, load them\n const missingIds = responsibilityIdsFromMatrix.filter((id) => !currentResponsibilityIds.includes(id));\n if (missingIds.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load responsibility levels from the service\n */\n private async loadResponsibilityLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'level', dir: 'asc' as const }],\n };\n const result = await this.responsibilityLevelDataAccessor.query(query);\n this.responsibilityLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading responsibility levels:', error);\n this.responsibilityLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load responsibility entity definition\n */\n private async loadResponsibilityEntityDef(): Promise<void> {\n try {\n this.isLoadingResponsibilityEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.responsibility.name,\n );\n this.responsibilityEntityDef.set(entityDef);\n } catch (error) {\n console.error('Error loading responsibility entity definition:', error);\n this.responsibilityEntityDef.set(null);\n } finally {\n this.isLoadingResponsibilityEntity.set(false);\n }\n }\n\n /**\n * Load responsibilities by IDs\n */\n private async loadResponsibilitiesByIds(ids: string[]): Promise<void> {\n try {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const responsibility = await this.responsibilityDataAccessor.byKey(id);\n if (responsibility) {\n responsibilities.push(responsibility);\n }\n } catch (error) {\n console.error(`Error loading responsibility ${id}:`, error);\n }\n }\n\n this.selectedResponsibilities.set(responsibilities);\n } catch (error) {\n console.error('Error loading responsibilities 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 responsibilityId = row['name']; // Row identifier (responsibility ID)\n if (!responsibilityId) {\n return;\n }\n\n matrixData[responsibilityId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[responsibilityId][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 responsibility IDs from row names and emit\n const responsibilityIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\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 responsibility selector dialog\n */\n protected async handleSelectResponsibilities(): Promise<void> {\n const entityDef = this.responsibilityEntityDef();\n if (!entityDef) {\n console.error('Responsibility entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected responsibility IDs\n const selectedItemIds = this.selectedResponsibilities()\n .map((responsibility) => responsibility.id)\n .filter((id) => id != null);\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Responsibilities',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected responsibilities\n this.selectedResponsibilities.set(result.items);\n // Emit responsibility IDs change\n const responsibilityIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n } catch (error) {\n console.error('Error opening responsibility selector:', error);\n }\n }\n\n /**\n * Remove a responsibility from selection\n */\n protected handleRemoveResponsibility(responsibilityId: string): void {\n const currentResponsibilities = this.selectedResponsibilities();\n const updatedResponsibilities = currentResponsibilities.filter(\n (responsibility) => responsibility.id !== responsibilityId,\n );\n this.selectedResponsibilities.set(updatedResponsibilities);\n\n // Remove responsibility data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[responsibilityId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit responsibility IDs change\n const responsibilityIds = updatedResponsibilities.map((r) => r.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\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 responsibility from selection\n this.handleRemoveResponsibility(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","<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]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n"],"names":["i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-responsibilities-matrix.component-Cpgdxtw-.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.ts","../../../../libs/modules/organization-management/client/src/lib/features/responsibilities-matrix/responsibilities-matrix.component.html"],"sourcesContent":["//#region ---- Imports ----\n\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXButtonModule } from '@acorex/components/button';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXTranslationModule, AXTranslationService } from '@acorex/core/translation';\nimport { type AXPWidgetNode, AXPWidgetsList } from '@acorex-platform/framework-shared/core';\n\nimport {\n AXPSpreadsheetCellChangeEvent,\n AXPSpreadsheetColumn,\n AXPSpreadsheetComponent,\n AXPSpreadsheetData,\n AXPSpreadsheetItem,\n AXPSpreadsheetRowChangeEvent,\n} from '@acorex-platform/framework-client/layout/components';\nimport {\n AXPEntityDataSelectorService,\n AXPEntityDefinitionRegistryService,\n AXPEntityService,\n} from '@acorex-platform/framework-client/layout/entity';\nimport { CommonModule } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { RootConfig } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityLevelEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\nimport { AXMOrganizationManagementResponsibilityEntityModel } from '@acorex-platform/module-organization-management-client/contracts';\n\n//#endregion\n\n//#region ---- Component Definition ----\n\n@Component({\n selector: 'axm-responsibilities-matrix',\n standalone: true,\n imports: [CommonModule, AXPSpreadsheetComponent, AXButtonModule, AXDecoratorModule, AXTranslationModule],\n templateUrl: './responsibilities-matrix.component.html',\n styleUrl: './responsibilities-matrix.component.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'axm-responsibilities-matrix',\n },\n})\nexport class AXMOrganizationManagementResponsibilitiesMatrixComponent {\n //#endregion\n\n //#region ---- Services & Dependencies ----\n\n private readonly entityService = inject(AXPEntityService);\n private readonly responsibilityLevelDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibilityLevel.name)\n .data<string, AXMOrganizationManagementResponsibilityLevelEntityModel>();\n private readonly responsibilityDataAccessor = this.entityService\n .withEntity(RootConfig.module.name, RootConfig.entities.responsibility.name)\n .data<string, AXMOrganizationManagementResponsibilityEntityModel>();\n private readonly entityDataSelectorService = inject(AXPEntityDataSelectorService);\n private readonly entityResolver = inject(AXPEntityDefinitionRegistryService);\n private readonly multiLanguageResolver = inject(AXTranslationService);\n\n //#endregion\n\n //#region ---- Inputs ----\n\n /**\n * Array of job levels to display as columns (e.g., Junior, Mid-Level, Senior)\n */\n titles = input<AXPSpreadsheetItem[]>([]);\n\n /**\n * Initial matrix data: { [responsibilityId]: { [title.id]: responsibilityLevelId } }\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 responsibility IDs (for syncing with parent entity)\n */\n responsibilityIds = 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 responsibilities change (responsibility IDs array)\n */\n responsibilityIdsChange = output<string[]>();\n\n //#endregion\n\n //#region ---- Class Properties ----\n\n /**\n * Responsibility levels loaded from the service\n */\n private responsibilityLevels = signal<AXMOrganizationManagementResponsibilityLevelEntityModel[]>([]);\n\n /**\n * Selected responsibilities (internal state)\n */\n protected selectedResponsibilities = signal<AXMOrganizationManagementResponsibilityEntityModel[]>([]);\n\n /**\n * Responsibility entity definition\n */\n private responsibilityEntityDef = signal<AXPEntity | null>(null);\n\n /**\n * Loading state\n */\n protected isLoading = signal<boolean>(true);\n\n /**\n * Loading state for responsibility entity\n */\n protected isLoadingResponsibilityEntity = signal<boolean>(false);\n\n //#endregion\n\n //#region ---- Computed Properties ----\n\n /**\n * Vertical titles (responsibilities) - rows of the matrix\n */\n protected verticalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const responsibilities = this.selectedResponsibilities();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (responsibilities ?? []).map((responsibility) => ({\n id: responsibility.id,\n title: resolve(responsibility.title),\n description: responsibility.description ? resolve(responsibility.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Horizontal titles (job levels) - columns of the matrix\n */\n protected horizontalTitles = computed<AXPSpreadsheetItem[]>(() => {\n const titlesInput = this.titles();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (titlesInput ?? []).map((title) => ({\n id: title.id,\n title: resolve(title.title),\n description: title.description ? resolve(title.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Cell options (responsibility levels) - dropdown options for each cell, loaded from service\n */\n protected cellOptions = computed<AXPSpreadsheetItem[]>(() => {\n const levels = this.responsibilityLevels();\n const resolve = (v: unknown) => this.multiLanguageResolver.resolve(v as any);\n const result = (levels ?? []).map((level) => ({\n id: level.id,\n title: resolve(level.title),\n description: level.description ? resolve(level.description) : undefined,\n }));\n return result;\n });\n\n /**\n * Spreadsheet columns - converted from horizontalTitles (job levels)\n */\n protected spreadsheetColumns = computed<AXPSpreadsheetColumn[]>(() => {\n const horizontalTitles = this.horizontalTitles();\n const cellOptions = this.cellOptions();\n\n // Create SelectBox widget configuration for responsibility 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((responsibility) => {\n const row: Record<string, any> = {\n name: responsibility.id, // Required for fixed mode row identification\n _responsibilityTitle: responsibility.title, // For row header display\n _responsibilityDescription: responsibility.description, // For row header description\n };\n\n // Add cell values for each horizontal title (column)\n horizontalTitles.forEach((title) => {\n const cellValue = matrixData[responsibility.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 // Load responsibility levels and responsibility entity definition when component initializes\n this.loadResponsibilityLevels();\n this.loadResponsibilityEntityDef();\n\n // Watch for responsibilityIds input changes and sync selected responsibilities\n effect(() => {\n const ids = this.responsibilityIds();\n if (ids && ids.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(ids);\n } else if (!ids || ids.length === 0) {\n // Try to extract responsibility IDs from matrix data keys\n const matrixData = this.value();\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n if (responsibilityIdsFromMatrix.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(responsibilityIdsFromMatrix);\n } else {\n this.selectedResponsibilities.set([]);\n }\n }\n });\n\n // Watch for matrix value changes and extract responsibility IDs\n effect(() => {\n const matrixData = this.value();\n const currentResponsibilityIds = this.selectedResponsibilities().map((r) => r.id);\n const responsibilityIdsFromMatrix = Object.keys(matrixData || {});\n\n // If matrix has responsibilities that aren't in selectedResponsibilities, load them\n const missingIds = responsibilityIdsFromMatrix.filter((id) => !currentResponsibilityIds.includes(id));\n if (missingIds.length > 0 && this.responsibilityEntityDef()) {\n this.loadResponsibilitiesByIds(missingIds);\n }\n });\n }\n\n //#endregion\n\n //#region ---- Data Loading Methods ----\n\n /**\n * Load responsibility levels from the service\n */\n private async loadResponsibilityLevels(): Promise<void> {\n try {\n this.isLoading.set(true);\n const query = {\n skip: 0,\n take: 1000,\n sort: [{ field: 'level', dir: 'asc' as const }],\n };\n const result = await this.responsibilityLevelDataAccessor.query(query);\n this.responsibilityLevels.set(result.items || []);\n } catch (error) {\n console.error('Error loading responsibility levels:', error);\n this.responsibilityLevels.set([]);\n } finally {\n this.isLoading.set(false);\n }\n }\n\n /**\n * Load responsibility entity definition\n */\n private async loadResponsibilityEntityDef(): Promise<void> {\n try {\n this.isLoadingResponsibilityEntity.set(true);\n const entityDef = await this.entityResolver.resolve(\n RootConfig.module.name,\n RootConfig.entities.responsibility.name,\n );\n this.responsibilityEntityDef.set(entityDef);\n } catch (error) {\n console.error('Error loading responsibility entity definition:', error);\n this.responsibilityEntityDef.set(null);\n } finally {\n this.isLoadingResponsibilityEntity.set(false);\n }\n }\n\n /**\n * Load responsibilities by IDs\n */\n private async loadResponsibilitiesByIds(ids: string[]): Promise<void> {\n try {\n const responsibilities: AXMOrganizationManagementResponsibilityEntityModel[] = [];\n\n for (const id of ids) {\n try {\n const responsibility = await this.responsibilityDataAccessor.byKey(id);\n if (responsibility) {\n responsibilities.push(responsibility);\n }\n } catch (error) {\n console.error(`Error loading responsibility ${id}:`, error);\n }\n }\n\n this.selectedResponsibilities.set(responsibilities);\n } catch (error) {\n console.error('Error loading responsibilities 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 responsibilityId = row['name']; // Row identifier (responsibility ID)\n if (!responsibilityId) {\n return;\n }\n\n matrixData[responsibilityId] = {};\n\n // Extract cell values for each column\n horizontalTitles.forEach((title) => {\n const cellValue = row[title.id] ?? null;\n matrixData[responsibilityId][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 responsibility IDs from row names and emit\n const responsibilityIds = rows.map((row) => row['name']).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\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 responsibility selector dialog\n */\n protected async handleSelectResponsibilities(): Promise<void> {\n const entityDef = this.responsibilityEntityDef();\n if (!entityDef) {\n console.error('Responsibility entity definition not loaded');\n return;\n }\n\n try {\n // Get currently selected responsibility IDs\n const selectedItemIds = this.selectedResponsibilities()\n .map((responsibility) => responsibility.id)\n .filter((id) => id != null);\n\n const result = await this.entityDataSelectorService.open({\n entity: entityDef,\n title: 'Select Responsibilities',\n allowMultiple: true,\n selectedItemIds: selectedItemIds.length > 0 ? selectedItemIds : undefined,\n });\n\n if (result && result.items && result.items.length > 0) {\n // Update selected responsibilities\n this.selectedResponsibilities.set(result.items);\n // Emit responsibility IDs change\n const responsibilityIds = result.items.map((item) => item.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\n }\n } catch (error) {\n console.error('Error opening responsibility selector:', error);\n }\n }\n\n /**\n * Remove a responsibility from selection\n */\n protected handleRemoveResponsibility(responsibilityId: string): void {\n const currentResponsibilities = this.selectedResponsibilities();\n const updatedResponsibilities = currentResponsibilities.filter(\n (responsibility) => responsibility.id !== responsibilityId,\n );\n this.selectedResponsibilities.set(updatedResponsibilities);\n\n // Remove responsibility data from matrix value\n const currentMatrixData = this.value();\n const updatedMatrixData = { ...currentMatrixData };\n delete updatedMatrixData[responsibilityId];\n\n // Emit updated matrix data\n this.valueChange.emit(updatedMatrixData);\n\n // Emit responsibility IDs change\n const responsibilityIds = updatedResponsibilities.map((r) => r.id).filter((id) => id != null);\n this.responsibilityIdsChange.emit(responsibilityIds);\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 responsibility from selection\n this.handleRemoveResponsibility(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","<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]=\"'@organization-management:job-definitions.components.responsibilities-matrix.actions.choose-responsibilities.title' | translate | async\"\n (onClick)=\"handleSelectResponsibilities()\" [disabled]=\"isLoadingResponsibilityEntity()\">\n <ax-icon icon=\"far fa-plus\"></ax-icon>\n </ax-button>\n }\n </div>\n @if (isLoading()) {\n <div class=\"__loading\">\n <span>{{ '@organization-management:job-definitions.components.responsibilities-matrix.messages.loading-responsibility-levels' | translate | async\n }}</span>\n </div>\n } @else {\n <axp-spreadsheet [title]=\"'Responsibility / Level'\" [columns]=\"spreadsheetColumns()\" [rowsInput]=\"spreadsheetRows()\"\n [rowMode]=\"'fixed'\" [readonly]=\"readonly()\" [allowRemoveRows]=\"true\" [rowTitlePath]=\"'_responsibilityTitle'\"\n [rowDescriptionPath]=\"'_responsibilityDescription'\" (cellChange)=\"handleCellChange($event)\"\n (spreadsheetChange)=\"handleSpreadsheetChange($event)\" (rowChange)=\"handleRowChange($event)\"></axp-spreadsheet>\n }\n </div>\n</div>\n"],"names":["i4"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-organization-management-client-settings.provider-B3nDm32f.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/settings.provider.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';\nimport { Injector, inject } from '@angular/core';\nimport { objectKeyValueTransforms } from '@acorex-platform/framework-client/core';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXP_ORGANIZATION_COPYRIGHT_TEXT_DEFAULT,\n AXPOrganizationManagementSettings,\n} from '@acorex-platform/module-organization-management-client/contracts';\n\nconst I18N_SECTION = '@organization-management:settings.sections';\nconst I18N_LOCATION = '@location-management:locations.entities.location';\nconst GEOGRAPHIC_REGION_ENTITY = 'LocationManagement.GeographicRegion';\n\nconst ADDRESS = {\n street1: AXPOrganizationManagementSettings.OrganizationStreet1,\n street2: AXPOrganizationManagementSettings.OrganizationStreet2,\n countryId: AXPOrganizationManagementSettings.OrganizationCountryId,\n stateId: AXPOrganizationManagementSettings.OrganizationStateId,\n cityId: AXPOrganizationManagementSettings.OrganizationCityId,\n postalCode: AXPOrganizationManagementSettings.OrganizationPostalCode,\n} as const;\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService: AXPSessionService;\n\n constructor(injector?: Injector) {\n this.sessionService = (injector ?? inject(Injector)).get(AXPSessionService);\n }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n .addGroup(\n 'organization-settings',\n `${I18N_SECTION}.organization-settings.nav-title`,\n `${I18N_SECTION}.organization-settings.description`,\n 'fa-light fa-building',\n `${I18N_SECTION}.organization-settings.title`,\n -100,\n )\n // Branding Section\n .addSection('branding', `${I18N_SECTION}.branding.title`, `${I18N_SECTION}.branding.description`)\n .addSetting({\n key: AXPOrganizationManagementSettings.OrganizationName,\n title: `${I18N_SECTION}.branding-name.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: this.sessionService.tenant?.title,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { multiLanguage: true },\n },\n description: `${I18N_SECTION}.branding-name.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.OrganizationNameDisplay,\n title: `${I18N_SECTION}.branding-name-display.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: true,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: `${I18N_SECTION}.branding-name-display.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.TradingName,\n title: `${I18N_SECTION}.branding-trading-name.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { multiLanguage: true },\n },\n description: `${I18N_SECTION}.branding-trading-name.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.TradingNameDisplay,\n title: `${I18N_SECTION}.branding-trading-name-display.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: true,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: `${I18N_SECTION}.branding-trading-name-display.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.BrandingLogo,\n title: `${I18N_SECTION}.branding-logo.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Advanced.Image,\n options: {\n type: 'profile-photo',\n fileStorage: {\n refId: this.sessionService.tenant?.id,\n refType: 'TenantManagement.Tenant',\n category: 'logo',\n },\n },\n },\n description: `${I18N_SECTION}.branding-logo.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.BrandingColor,\n title: `${I18N_SECTION}.branding-color.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: '#1976d2',\n widget: {\n type: AXPWidgetsList.Editors.ColorBox,\n },\n description: `${I18N_SECTION}.branding-color.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.CopyrightText,\n title: `${I18N_SECTION}.branding-copyright.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n defaultValue: AXP_ORGANIZATION_COPYRIGHT_TEXT_DEFAULT,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { multiLanguage: true },\n },\n description: `${I18N_SECTION}.branding-copyright.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.CompanyBio,\n title: `${I18N_SECTION}.branding-bio.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n layout: {\n stacked: true,\n },\n options: {\n rows: 6,\n multiLanguage: true,\n },\n },\n description: `${I18N_SECTION}.branding-bio.description`,\n })\n .endSection()\n\n // Legal & Registration Section\n .addSection(\n 'registration',\n `${I18N_SECTION}.registration.title`,\n `${I18N_SECTION}.registration.description`,\n )\n .addSetting({\n key: AXPOrganizationManagementSettings.BusinessRegistrationNumber,\n title: `${I18N_SECTION}.business-registration-number.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: `${I18N_SECTION}.business-registration-number.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.CompanyRegistrationNumber,\n title: `${I18N_SECTION}.company-registration-number.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: `${I18N_SECTION}.company-registration-number.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.LicenceNumber,\n title: `${I18N_SECTION}.licence-number.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: `${I18N_SECTION}.licence-number.description`,\n })\n .endSection()\n\n // Contact Details Section\n .addSection('contact', 'Contact Details', 'Set company contact information.')\n .addSetting({\n key: AXPOrganizationManagementSettings.ContactEmail,\n title: 'Company Email',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'email',\n hasLabel: false,\n },\n },\n description: 'Primary email address for the company.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.SupportEmail,\n title: 'Support Email',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'email',\n hasLabel: false,\n },\n },\n description: 'Support email address for customer inquiries.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.InfoEmail,\n title: 'Info Email',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'email',\n hasLabel: false,\n },\n },\n description: 'General information email address.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.ContactPhone,\n title: 'Company Phone',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'phone',\n hasLabel: false,\n },\n },\n description: 'Primary contact phone number.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.FaxNumber,\n title: 'Fax Number',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'phone',\n hasLabel: false,\n },\n },\n description: 'Fax number for the company.',\n })\n .endSection()\n\n // Address Section (aligned with location entity address-details)\n .addSection(\n 'address',\n `${I18N_LOCATION}.groups.address-details`,\n `${I18N_SECTION}.address.description`,\n )\n .addSetting({\n key: ADDRESS.street1,\n title: `${I18N_LOCATION}.fields.street1`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n validationRules: [{ rule: 'required' }],\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: 'Enter street address',\n },\n },\n })\n .addSetting({\n key: ADDRESS.street2,\n title: `${I18N_LOCATION}.fields.street2`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: 'Apartment, suite, etc.',\n },\n },\n })\n .addSetting({\n key: ADDRESS.countryId,\n title: `${I18N_LOCATION}.fields.country`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: GEOGRAPHIC_REGION_ENTITY,\n look: 'select',\n allowCreate: 'quick',\n create: {\n enable: true,\n },\n expose: [\n { source: 'id', target: 'country.id' },\n { source: 'title', target: 'country.title' },\n ],\n filter: {\n logic: 'and',\n filters: [{ field: 'type.code', operator: { type: 'equal' }, value: 'country' }],\n },\n },\n },\n })\n .addSetting({\n key: ADDRESS.stateId,\n title: `${I18N_LOCATION}.fields.state`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: GEOGRAPHIC_REGION_ENTITY,\n look: 'select',\n allowCreate: 'quick',\n disabled: `{{ !context.eval('${ADDRESS.countryId}') }}`,\n create: {\n enable: true,\n context: {\n parentId: `{{ context.eval('${ADDRESS.countryId}') }}`,\n type: { code: 'state' },\n },\n },\n expose: [\n { source: 'id', target: 'state.id' },\n { source: 'title', target: 'state.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: `{{ context.eval('${ADDRESS.countryId}') }}` },\n { field: 'type.code', operator: { type: 'equal' }, value: 'state' },\n ],\n },\n },\n triggers: [\n {\n event: `{{ events.context('${ADDRESS.countryId}') }}`,\n action: `{{ widget.setValue(null); context.set('${ADDRESS.cityId}', null); widget.refresh(); }}`,\n },\n ],\n },\n })\n .addSetting({\n key: ADDRESS.cityId,\n title: `${I18N_LOCATION}.fields.city`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: GEOGRAPHIC_REGION_ENTITY,\n look: 'select',\n allowCreate: 'quick',\n disabled: `{{ !context.eval('${ADDRESS.stateId}') }}`,\n create: {\n enable: true,\n context: {\n parentId: `{{ context.eval('${ADDRESS.stateId}') }}`,\n type: { code: 'city' },\n },\n },\n expose: [\n { source: 'id', target: 'city.id' },\n { source: 'title', target: 'city.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: `{{ context.eval('${ADDRESS.stateId}') }}` },\n { field: 'type.code', operator: { type: 'equal' }, value: 'city' },\n ],\n },\n },\n triggers: [\n {\n event: `{{ events.context('${ADDRESS.stateId}') }}`,\n action: `{{ widget.setValue(null); widget.refresh(); }}`,\n },\n {\n event: `{{ events.context('${ADDRESS.countryId}') }}`,\n action: `{{ widget.setValue(null); widget.refresh(); }}`,\n },\n ],\n },\n })\n .addSetting({\n key: ADDRESS.postalCode,\n title: `${I18N_LOCATION}.fields.postal-code`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n validationRules: [{ rule: 'required' }],\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: 'Postal/ZIP code',\n },\n },\n })\n .endSection()\n\n // Hierarchy chart (user preferences — registered for defaults; hidden from settings UI)\n .addSection(\n 'hierarchy-chart',\n `${I18N_SECTION}.hierarchy-chart.title`,\n `${I18N_SECTION}.hierarchy-chart.description`,\n )\n .addSetting({\n key: AXPOrganizationManagementSettings.HierarchyChartShowVacantLeafSeats,\n title: `${I18N_SECTION}.hierarchy-chart-show-vacant.title`,\n scope: 'U',\n overridableAt: [],\n isInherited: false,\n defaultValue: false,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: { visibility: false },\n },\n description: `${I18N_SECTION}.hierarchy-chart-show-vacant.description`,\n })\n .endSection()\n\n .endGroup();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-organization-management-client-settings.provider-B3nDm32f.mjs","sources":["../../../../libs/modules/organization-management/client/src/lib/settings.provider.ts"],"sourcesContent":["import { AXPWidgetsList } from '@acorex-platform/framework-shared/core';\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '@acorex-platform/framework-client/common';\nimport { Injector, inject } from '@angular/core';\nimport { objectKeyValueTransforms } from '@acorex-platform/framework-client/core';\nimport { AXPSessionService } from '@acorex-platform/framework-client/auth';\nimport {\n AXP_ORGANIZATION_COPYRIGHT_TEXT_DEFAULT,\n AXPOrganizationManagementSettings,\n} from '@acorex-platform/module-organization-management-client/contracts';\n\nconst I18N_SECTION = '@organization-management:settings.sections';\nconst I18N_LOCATION = '@location-management:locations.entities.location';\nconst GEOGRAPHIC_REGION_ENTITY = 'LocationManagement.GeographicRegion';\n\nconst ADDRESS = {\n street1: AXPOrganizationManagementSettings.OrganizationStreet1,\n street2: AXPOrganizationManagementSettings.OrganizationStreet2,\n countryId: AXPOrganizationManagementSettings.OrganizationCountryId,\n stateId: AXPOrganizationManagementSettings.OrganizationStateId,\n cityId: AXPOrganizationManagementSettings.OrganizationCityId,\n postalCode: AXPOrganizationManagementSettings.OrganizationPostalCode,\n} as const;\n\nexport class AXMSettingProvider implements AXPSettingDefinitionProvider {\n private readonly sessionService: AXPSessionService;\n\n constructor(injector?: Injector) {\n this.sessionService = (injector ?? inject(Injector)).get(AXPSessionService);\n }\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n context\n .addGroup(\n 'organization-settings',\n `${I18N_SECTION}.organization-settings.nav-title`,\n `${I18N_SECTION}.organization-settings.description`,\n 'fa-light fa-building',\n `${I18N_SECTION}.organization-settings.title`,\n -100,\n )\n // Branding Section\n .addSection('branding', `${I18N_SECTION}.branding.title`, `${I18N_SECTION}.branding.description`)\n .addSetting({\n key: AXPOrganizationManagementSettings.OrganizationName,\n title: `${I18N_SECTION}.branding-name.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: this.sessionService.tenant?.title,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { multiLanguage: true },\n },\n description: `${I18N_SECTION}.branding-name.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.OrganizationNameDisplay,\n title: `${I18N_SECTION}.branding-name-display.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: true,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: `${I18N_SECTION}.branding-name-display.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.TradingName,\n title: `${I18N_SECTION}.branding-trading-name.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { multiLanguage: true },\n },\n description: `${I18N_SECTION}.branding-trading-name.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.TradingNameDisplay,\n title: `${I18N_SECTION}.branding-trading-name-display.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: true,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n },\n description: `${I18N_SECTION}.branding-trading-name-display.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.BrandingLogo,\n title: `${I18N_SECTION}.branding-logo.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Advanced.Image,\n options: {\n type: 'profile-photo',\n fileStorage: {\n refId: this.sessionService.tenant?.id,\n refType: 'TenantManagement.Tenant',\n category: 'logo',\n },\n },\n },\n description: `${I18N_SECTION}.branding-logo.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.BrandingColor,\n title: `${I18N_SECTION}.branding-color.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: '#1976d2',\n widget: {\n type: AXPWidgetsList.Editors.ColorBox,\n },\n description: `${I18N_SECTION}.branding-color.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.CopyrightText,\n title: `${I18N_SECTION}.branding-copyright.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: true,\n defaultValue: AXP_ORGANIZATION_COPYRIGHT_TEXT_DEFAULT,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: { multiLanguage: true },\n },\n description: `${I18N_SECTION}.branding-copyright.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.CompanyBio,\n title: `${I18N_SECTION}.branding-bio.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.LargeTextBox,\n layout: {\n stacked: true,\n },\n options: {\n rows: 6,\n multiLanguage: true,\n },\n },\n description: `${I18N_SECTION}.branding-bio.description`,\n })\n .endSection()\n\n // Legal & Registration Section\n .addSection(\n 'registration',\n `${I18N_SECTION}.registration.title`,\n `${I18N_SECTION}.registration.description`,\n )\n .addSetting({\n key: AXPOrganizationManagementSettings.BusinessRegistrationNumber,\n title: `${I18N_SECTION}.business-registration-number.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: `${I18N_SECTION}.business-registration-number.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.CompanyRegistrationNumber,\n title: `${I18N_SECTION}.company-registration-number.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: `${I18N_SECTION}.company-registration-number.description`,\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.LicenceNumber,\n title: `${I18N_SECTION}.licence-number.title`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n },\n description: `${I18N_SECTION}.licence-number.description`,\n })\n .endSection()\n\n // Contact Details Section\n .addSection('contact', 'Contact Details', 'Set company contact information.')\n .addSetting({\n key: AXPOrganizationManagementSettings.ContactEmail,\n title: 'Company Email',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'email',\n hasLabel: false,\n },\n },\n description: 'Primary email address for the company.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.SupportEmail,\n title: 'Support Email',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'email',\n hasLabel: false,\n },\n },\n description: 'Support email address for customer inquiries.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.InfoEmail,\n title: 'Info Email',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'email',\n hasLabel: false,\n },\n },\n description: 'General information email address.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.ContactPhone,\n title: 'Company Phone',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'phone',\n hasLabel: false,\n },\n },\n description: 'Primary contact phone number.',\n })\n .addSetting({\n key: AXPOrganizationManagementSettings.FaxNumber,\n title: 'Fax Number',\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.ContactBox,\n options: {\n type: 'phone',\n hasLabel: false,\n },\n },\n description: 'Fax number for the company.',\n })\n .endSection()\n\n // Address Section (aligned with location entity address-details)\n .addSection(\n 'address',\n `${I18N_LOCATION}.groups.address-details`,\n `${I18N_SECTION}.address.description`,\n )\n .addSetting({\n key: ADDRESS.street1,\n title: `${I18N_LOCATION}.fields.street1`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n validationRules: [{ rule: 'required' }],\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: 'Enter street address',\n },\n },\n })\n .addSetting({\n key: ADDRESS.street2,\n title: `${I18N_LOCATION}.fields.street2`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: 'Apartment, suite, etc.',\n },\n },\n })\n .addSetting({\n key: ADDRESS.countryId,\n title: `${I18N_LOCATION}.fields.country`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: GEOGRAPHIC_REGION_ENTITY,\n look: 'select',\n allowCreate: 'quick',\n create: {\n enable: true,\n },\n expose: [\n { source: 'id', target: 'country.id' },\n { source: 'title', target: 'country.title' },\n ],\n filter: {\n logic: 'and',\n filters: [{ field: 'type.code', operator: { type: 'equal' }, value: 'country' }],\n },\n },\n },\n })\n .addSetting({\n key: ADDRESS.stateId,\n title: `${I18N_LOCATION}.fields.state`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: GEOGRAPHIC_REGION_ENTITY,\n look: 'select',\n allowCreate: 'quick',\n disabled: `{{ !context.eval('${ADDRESS.countryId}') }}`,\n create: {\n enable: true,\n context: {\n parentId: `{{ context.eval('${ADDRESS.countryId}') }}`,\n type: { code: 'state' },\n },\n },\n expose: [\n { source: 'id', target: 'state.id' },\n { source: 'title', target: 'state.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: `{{ context.eval('${ADDRESS.countryId}') }}` },\n { field: 'type.code', operator: { type: 'equal' }, value: 'state' },\n ],\n },\n },\n triggers: [\n {\n event: `{{ events.context('${ADDRESS.countryId}') }}`,\n action: `{{ widget.setValue(null); context.set('${ADDRESS.cityId}', null); widget.refresh(); }}`,\n },\n ],\n },\n })\n .addSetting({\n key: ADDRESS.cityId,\n title: `${I18N_LOCATION}.fields.city`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n valueTransforms: objectKeyValueTransforms('id'),\n widget: {\n type: AXPWidgetsList.Editors.LookupBox,\n options: {\n entity: GEOGRAPHIC_REGION_ENTITY,\n look: 'select',\n allowCreate: 'quick',\n disabled: `{{ !context.eval('${ADDRESS.stateId}') }}`,\n create: {\n enable: true,\n context: {\n parentId: `{{ context.eval('${ADDRESS.stateId}') }}`,\n type: { code: 'city' },\n },\n },\n expose: [\n { source: 'id', target: 'city.id' },\n { source: 'title', target: 'city.title' },\n ],\n filter: {\n logic: 'and',\n filters: [\n { field: 'parentId', operator: { type: 'equal' }, value: `{{ context.eval('${ADDRESS.stateId}') }}` },\n { field: 'type.code', operator: { type: 'equal' }, value: 'city' },\n ],\n },\n },\n triggers: [\n {\n event: `{{ events.context('${ADDRESS.stateId}') }}`,\n action: `{{ widget.setValue(null); widget.refresh(); }}`,\n },\n {\n event: `{{ events.context('${ADDRESS.countryId}') }}`,\n action: `{{ widget.setValue(null); widget.refresh(); }}`,\n },\n ],\n },\n })\n .addSetting({\n key: ADDRESS.postalCode,\n title: `${I18N_LOCATION}.fields.postal-code`,\n scope: 'T',\n overridableAt: [],\n isInherited: false,\n defaultValue: undefined,\n validationRules: [{ rule: 'required' }],\n widget: {\n type: AXPWidgetsList.Editors.TextBox,\n options: {\n placeholder: 'Postal/ZIP code',\n },\n },\n })\n .endSection()\n\n // Hierarchy chart (user preferences — registered for defaults; hidden from settings UI)\n .addSection(\n 'hierarchy-chart',\n `${I18N_SECTION}.hierarchy-chart.title`,\n `${I18N_SECTION}.hierarchy-chart.description`,\n )\n .addSetting({\n key: AXPOrganizationManagementSettings.HierarchyChartShowVacantLeafSeats,\n title: `${I18N_SECTION}.hierarchy-chart-show-vacant.title`,\n scope: 'U',\n overridableAt: [],\n isInherited: false,\n defaultValue: false,\n widget: {\n type: AXPWidgetsList.Editors.ToggleSwitch,\n options: { visibility: false },\n },\n description: `${I18N_SECTION}.hierarchy-chart-show-vacant.description`,\n })\n .endSection()\n\n .endGroup();\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { c as AXMOrgChartCategory, A as AXMOrgChartNodeType, b as AXMOrgChartStructureRefreshHub, k as AXMOrganizationManagementModule, l as AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID, m as AXM_ORG_CHART_COMMUNICATION_SUBMENU_ICON, o as AXM_ORG_CHART_COMMUNICATION_SUBMENU_TITLE_I18N_KEY, d as AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID, f as AXM_ORG_CHART_EMPLOYEE_SUBMENU_ICON, g as AXM_ORG_CHART_EMPLOYEE_SUBMENU_TITLE_I18N_KEY, j as AXM_ORG_CHART_LAYOUT_SUBMENU_GROUP_ID, h as AXM_ORG_CHART_LAYOUT_SUBMENU_ICON, i as AXM_ORG_CHART_LAYOUT_SUBMENU_TITLE_I18N_KEY, a as AXM_ORG_CHART_NODE_CONTRIBUTOR, e as axmResolveOrgChartFlyoutEmployeeId } from './acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-
|
|
1
|
+
export { c as AXMOrgChartCategory, A as AXMOrgChartNodeType, b as AXMOrgChartStructureRefreshHub, k as AXMOrganizationManagementModule, l as AXM_ORG_CHART_COMMUNICATION_SUBMENU_GROUP_ID, m as AXM_ORG_CHART_COMMUNICATION_SUBMENU_ICON, o as AXM_ORG_CHART_COMMUNICATION_SUBMENU_TITLE_I18N_KEY, d as AXM_ORG_CHART_EMPLOYEE_SUBMENU_GROUP_ID, f as AXM_ORG_CHART_EMPLOYEE_SUBMENU_ICON, g as AXM_ORG_CHART_EMPLOYEE_SUBMENU_TITLE_I18N_KEY, j as AXM_ORG_CHART_LAYOUT_SUBMENU_GROUP_ID, h as AXM_ORG_CHART_LAYOUT_SUBMENU_ICON, i as AXM_ORG_CHART_LAYOUT_SUBMENU_TITLE_I18N_KEY, a as AXM_ORG_CHART_NODE_CONTRIBUTOR, e as axmResolveOrgChartFlyoutEmployeeId } from './acorex-platform-module-organization-management-client-acorex-platform-module-organization-management-client-ZM6X7IDO.mjs';
|
|
2
2
|
//# sourceMappingURL=acorex-platform-module-organization-management-client.mjs.map
|